-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

Verilog2001¤ÎSystemVerilog¤Jªù«ü¤Þ(²Ä¤Gª©)

( ÁcÅé ¦r)
§@ªÌ¡G¨ã¦Aº³Ãþ§O¡G1. -> ¹q¤l¤uµ{ -> Verilog
¡@¡@¡@2.
ĶªÌ¡G
¥Xª©ªÀ¡G¥þµØ¹Ï®ÑVerilog2001¤ÎSystemVerilog¤Jªù«ü¤Þ(²Ä¤Gª©) 3dWoo®Ñ¸¹¡G 46243
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
¡i¤£±µ¨ü­qÁÊ¡j

¥Xª©¤é¡G12/29/2016
­¶¼Æ¡G522
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ÁcÅé ª© )
¡i¤£±µ¨ü­qÁÊ¡j
ISBN¡G9789864634323
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

¡½ ¤º®e²¤¶
¹q¸ô³]­p¤p«¬¤Æ©M¨t²Î¤Æ¬O¥¼¨ÓªºÁͶաA¶Ç²Î¹q¸ô¼h¯Åªº³]­p¤w¤£¯àº¡¨¬½ÆÂø¤Æ©M¤p«¬¤Æªº­n¨D¡A·s¤@¥NªºSystemVerilog¤@¸g´£¥X¡A«K¤w¨ü¨ì¼s¤jªºÃöª`¡A¦bµuµuªº´X¦~¤º¡A«K±o¨ì©Ò¦³EDA¤j³õªº¥þ¤O¤ä«ù¡A¦Ó¥B¤]±o¨ìIEEE»{¥i¬°·sªº¼Ð·Ç¡A°µ¬°IC³]­pªº²Ä¤G¤j°ê¡A§Ú­Ì¤£¯à©¿µø³o­Ó¼é¬y¡CÂǥѥ»®Ñ¤j¶qªº½d¨Ò¡A¥i¼W¥[ºt½mªº¾÷·|¡A¬Û«H¤@©w¯à´£¤É¹q¸ô³]­pªº¯à¤O¡C¥»®Ñ¾A¥Î©ó¤j¾Ç¡B¬ì¤j¹q¤l¡B¹q¾÷¡B¸ê¤u¨t¡uµwÅé´y­z»y¨¥¡v¨Ã¥B¨Ï¥ÎVerilog¤§½Òµ{¨Ï¥Î¡C
¥Ø¿ý¡G

1³¹¡@overview
µo®i¾ú¥v
EDA¤u¨ãªº¤ä«ù¶i«×
SystemVerilogªº¯S©Ê
SystemC

²Ä2³¹¡@Verilog 2001
¦^ÅUVerilog 2001
Register changed to ¡§variable¡¨
$ferror
$fflush
$fgetc
$fgets
$fread
$fscanf
$fseek

²Ä3³¹¡@Data Type
¸ê®Æ«¬ºA
auto variable vs static variable
Constant
Scope and lifetime
Nets and regs
State
2-State data type
logic data type
Void data type
String data type
String operators
String method
Event data type
User defined data type
Enumerate data type
Enumerated type ranges
Enumerated types in numerical expressions
Enumeration method
Pack vs Unpacked
Structures
Packed Unpacked structures
Packed Union
Casting
Dynamic casting
Array
Indexing and slicing of Array
Array function
Dynamic-array
Associative-array
Queue
Queue function

²Ä4³¹¡@Operator
Operator and expression
Assignment operator
Wildcard equality and inequality operators
Uniary operator
binary operator
Static prefixes
Concatenation
Struct
Set membership

²Ä5³¹¡@Procedural & Control
Procedural & Control
Selection statements
Loop statements
disable block
name blocks
return
foreach
final
event control
fork join fork join_none fork_join_any
wait fork disable fork
Synthesis convenient

²Ä6³¹¡@Tasks and functions
Tasks and functions
©¿²¤begin end
SystemVerilog function
Pass by value
Pass by reference
Pass by name
Self-defined data type task or functions

²Ä7³¹¡@Interface
Interface
Name bundle vs generic bundle
Interface reference
Ports in reference
Modports
Parameters

²Ä8³¹¡@Class
OOP(Object Oriented Programming)
class
constructors
object method
assignment
static class properties
This
inheritance
overridden members
super
Data hiding local
Data hiding protected
virtual class

²Ä9³¹¡@Random Constraints
Random Constraints
randomize() with
distribution
function in constraints
rand in class
Inheritance
Implication(->)
Random weighted case(randcase)
$urandom and $urandom_range
rand_mode
constraint_mode

²Ä10³¹¡@Coverage
ÅçÃÒCoverage
Âл\²vCoverage
Covergroup
Coverpoints
Coverage bins
Cross coverage
Covergroup guard
Specify coverage options
covergroup parameters
ignore bins
illegal bins

²Ä11³¹¡@Assertions
Assertion verification
Sequence declarations
Uprange sign
Implication Operators
Consecutive repetition
Non-consecutive repetition
Goto repetition
And operation
OR operation
Sample value function
Condition over sequence
Intersect operator
first_match operator
§Ç¦Cùاt¶×¬y±Æ¸ê®Æ
Assertion
Property

ªþ¿ý
A.1 SYNOPSYS VCS
A.2.1 Cadence NC
A.2.2¡@Running Coverage with Cadence Incisive
A.2.3¡@Running Coverage with Cadence Incisive
B.1¡@Source text
B.1.1¡@Library source text
B.1.2¡@Configuration source text
B.1.3¡@Module and primitive source text
B.1.4¡@Module parameters and ports
B.1.5¡@Module items
B.1.6 Interface items
B.1.7¡@Program items
B.1.8¡@Class items
B.1.9¡@Constraints
B.2¡@Declarations
B.2.1¡@Declaration types
B.2.2¡@Declaration data types
B.2.3¡@Declaration lists
B.2.4¡@Declaration assignments
B.2.5¡@Declaration ranges
B.2.6¡@Function declarations
B.2.7¡@Task declarations
B.2.8¡@Block item declarations
B.2.9¡@Interface declarations
B.2.10 Assertion declarations
B.3¡@Primitive instances
B.3.1¡@Primitive instantiation and instances
B.3.2¡@Primitive strengths
B.3.3¡@Primitive terminals
B.3.4¡@Primitive gate and switch types
B.4¡@Module, interface and generated instantiation
B.4.1¡@Instantiation
B.4.2¡@Generated instantiation
B.5¡@UDP declaration and instantiation
B.5.1¡@UDP declaration
B.5.2¡@UDP ports
B.5.3¡@UDP body
B.5.4¡@UDP instantiation
B.6¡@Behavioral statements
B.6.1 Continuous assignment and net alias statements
B.6.2¡@Procedural blocks and assignments
B.6.3¡@Parallel and sequential blocks
B.6.4¡@Statements
B.6.5¡@Timing control statements
B.6.7¡@Case statements
B.6.8¡@Looping statements
B.6.9 Task enable statements
B.6.10¡@Assertion statements
B.6.11 Clocking domain
B.7¡@Specify section
B.7.1¡@Specify block declaration
B.7.2¡@Specify path declarations
B.7.3¡@Specify block terminals
B.7.4¡@Specify path delays
B.7.5¡@System timing checks
B.8¡@Expressions
B.8.1¡@Concatenations
B.8.2¡@Function calls
B.8.3¡@Expressions
B.8.4 Primaries
B.8.5 Expression left-side values
B.8.6 Operators
B.8.7¡@Numbers
B.8.8¡@Strings
B.9¡@General
B.9.1¡@Attributes
B.9.2¡@Comments
B.9.3¡@Identifiers
B.9.4¡@Identifier branches
B.9.5¡@White space
§Ç¡G