目錄
第1章 overview發展歷史1-1EDA工具的支持進度1-3SystemVerilog的特性1-3SystemC1-11第2章 Verilog2001回顧Verilog20012-1Registerchangedto“variable”2-4$ferror2-68$fflush2-69$fgetc2-70$fgets2-72$fread2-74$fscanf2-76$fseek2-77第3章 DataType資料型態3-1autovariablevsstaticvariable3-1Constant3-6Scopeandlifetime3-8Netsandregs3-12State3-162-Statedatatype3-17logicdatatype3-18Voiddatatype3-19Stringdatatype3-20Stringoperators3-22Stringmethod3-25Eventdatatype3-29Userdefineddatatype3-30Enumeratedatatype3-31Enumeratedtyperanges3-34Enumeratedtypesinnumericalexpressions3-35Enumerationmethod3-37PackvsUnpacked3-39Structures3-40PackedUnpackedstructures3-45PackedUnion3-46Casting3-50Dynamiccasting3-55Array3-57IndexingandslicingofArray3-59Arrayfunction3-61Dynamic-array3-63Associative-array3-64Queue3-67Queuefunction3-70第4章 OperatorOperatorandexpression4-1Assignmentoperator4-2Wildcardequalityandinequalityoperators4-7Uniaryoperator4-12binaryoperator4-13Staticprefixes4-16Concatenation4-18Struct4-20Setmembership4-22第5章 Procedural&ControlProcedural&Control5-1Selectionstatements5-2Loopstatements5-3disableblock5-9nameblocks5-11return5-12foreach5-14final5-15eventcontrol5-16forkjoinforkjoin_nonefork_join_any5-21waitforkdisablefork5-25Synthesisconvenient5-25第6章 TasksandfunctionsTasksandfunctions6-1忽略beginend6-4SystemVerilogfunction6-5Passbyvalue6-8Passbyreference6-9Passbyname6-12Self-defineddatatypetaskorfunctions6-13第7章 InterfaceInterface7-1Namebundlevsgenericbundle7-8Interfacereference7-11Portsinreference7-11Modports7-14Parameters7-20第8章 ClassOOP(ObjectOrientedProgramming)8-1class8-2constructors8-4objectmethod8-4assignment8-11staticclassproperties8-13This8-16inheritance8-17overriddenmembers8-19super8-20Datahidinglocal8-21Datahidingprotected8-21virtualclass8-23第9章 RandomConstraintsRandomConstraints9-1randomize()with9-4distribution9-6functioninconstraints9-7randinclass9-8Inheritance9-12Implication(->)9-17Randomweightedcase(randcase)9-22$urandomand$urandom_range9-25rand_mode9-27constraint_mode9-27第10章 Coverage驗證Coverage10-1覆蓋率Coverage10-2Covergroup10-4Coverpoints10-5Coveragebins10-8Crosscoverage10-15Covergroupguard10-16Specifycoverageoptions10-18covergroupparameters10-19ignorebins10-21illegalbins10-22第11章 AssertionsAssertionverification11-1Sequencedeclarations11-3Uprangesign11-4ImplicationOperators11-10Consecutiverepetition11-11Non-consecutiverepetition11-13Gotorepetition11-15Andoperation11-19ORoperation11-24Samplevaluefunction11-28Conditionoversequence11-28Intersectoperator11-35first_matchoperator11-40序列裏含匯流排資料11-43Assertion11-44Property11-45附錄A.1SYNOPSYSVCS附-1A.2.1CadenceNC附-3A.2.2 RunningCoveragewithCadenceIncisive附-3A.2.3 RunningCoveragewithCadenceIncisive附-4B.1 Sourcetext附-9B.1.1 Librarysourcetext附-9B.1.2 Configurationsourcetext附-9B.1.3 Moduleandprimitivesourcetext附-10B.1.4 Moduleparametersandports附-13B.1.5 Moduleitems附-14B.1.6Interfaceitems附-17B.1.7 Programitems附-18B.1.8 Classitems附-18B.1.9 Constraints附-20B.2 Declarations附-21B.2.1 Declarationtypes附-21B.2.2 Declarationdatatypes附-23B.2.3 Declarationlists附-26B.2.4 Declarationassignments附-27B.2.5 Declarationranges附-28B.2.6 Functiondeclarations附-28B.2.7 Taskdeclarations附-31B.2.8 Blockitemdeclarations附-33B.2.9 Interfacedeclarations附-33B.2.10Assertiondeclarations附-34B.3 Primitiveinstances附-38B.3.1 Primitiveinstantiationandinstances附-38B.3.2 Primitivestrengths附-39B.3.3 Primitiveterminals附-40B.3.4 Primitivegateandswitchtypes附-40B.4 Module,interfaceandgeneratedinstantiation附-40B.4.1 Instantiation附-40B.4.2 Generatedinstantiation附-42B.5 UDPdeclarationandinstantiation附-44B.5.1 UDPdeclaration附-44B.5.2 UDPports附-45B.5.3 UDPbody附-46B.5.4 UDPinstantiation附-47B.6 Behavioralstatements附-47B.6.1Continuousassignmentandnetaliasstatements附-47B.6.2 Proceduralblocksandassignments附-47B.6.3 Parallelandsequentialblocks附-49B.6.4 Statements附-49B.6.5 Timingcontrolstatements附-51B.6.7 Casestatements附-53B.6.8 Loopingstatements附-54B.6.9Taskenablestatements附-55B.6.10 Assertionstatements附-55B.6.11Clockingdomain附-55B.7 Specifysection附-57B.7.1 Specifyblockdeclaration附-57B.7.2 Specifypathdeclarations附-57B.7.3 Specifyblockterminals附-58B.7.4 Specifypathdelays附-58B.7.5 Systemtimingchecks附-60B.8 Expressions附-64B.8.1 Concatenations附-64B.8.2 Functioncalls附-65B.8.3 Expressions附-66B.8.4Primaries附-69B.8.5Expressionleft-sidevalues附-71B.8.6Operators附-71B.8.7 Numbers附-72B.8.8 Strings附-73B.9 General附-73B.9.1 Attributes附-73B.9.2 Comments附-74B.9.3 Identifiers附-74B.9.4 Identifierbranches附-77B.9.5 Whitespace附-77
第1章 overview發展歷史1-1EDA工具的支持進度1-3SystemVerilog的特性1-3SystemC1-11第2章 Verilog2001回顧Verilog20012-1Registerchangedto“variable”2-4$ferror2-68$fflush2-69$fgetc2-70$fgets2-72$fread2-74$fscanf2-76$fseek2-77第3章 DataType資料型態3-1autovariablevsstaticvariable3-1Constant3-6Scopeandlifetime3-8Netsandregs3-12State3-162-Statedatatype3-17logicdatatype3-18Voiddatatype3-19Stringdatatype3-20Stringoperators3-22Stringmethod3-25Eventdatatype3-29Userdefineddatatype3-30Enumeratedatatype3-31Enu...