在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例Clojure → SystemVerilog_3.1a Language Reference Manual

SystemVerilog_3.1a Language Reference Manual

Clojure

下载此实例
  • 开发语言:Others
  • 实例大小:3.09M
  • 下载次数:2
  • 浏览次数:42
  • 发布时间:2022-12-21
  • 实例类别:Clojure
  • 发 布 人:Istorm23
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: SystemVerilog verilog system STEM Log

实例介绍

【实例简介】SystemVerilog_3.1a Language Reference Manual

【实例截图】

【核心代码】

Table of Contents
Section 1 Introduction to SystemVerilog......................................................................................................1
Section 2 Literal Values..................................................................................................................................4
2.1 Introduction (informative) ...............................................................................................................4
2.2 Literal value syntax..........................................................................................................................4
2.3 Integer and logic literals ..................................................................................................................4
2.4 Real literals......................................................................................................................................5
2.5 Time literals.....................................................................................................................................5
2.6 String literals....................................................................................................................................5
2.7 Array literals....................................................................................................................................6
2.8 Structure literals...............................................................................................................................6
Section 3 Data Types.......................................................................................................................................8
3.1 Introduction (informative) ...............................................................................................................8
3.2 Data type syntax...............................................................................................................................9
3.3 Integer data types...........................................................................................................................10
3.4 Real and shortreal data types .........................................................................................................11
3.5 Void data type................................................................................................................................11
3.6 chandle data type ...........................................................................................................................11
3.7 String data type..............................................................................................................................12
3.8 Event data type...............................................................................................................................16
3.9 User-defined types.........................................................................................................................16
3.10 Enumerations.................................................................................................................................17
3.11 Structures and unions.....................................................................................................................22
3.12 Class...............................................................................................................................................26
3.13 Singular and aggregate types.........................................................................................................27
3.14 Casting...........................................................................................................................................27
3.15 $cast dynamic casting....................................................................................................................28
3.16 Bit-stream casting..........................................................................................................................29
Section 4 Arrays............................................................................................................................................32
4.1 Introduction (informative) .............................................................................................................32
4.2 Packed and unpacked arrays..........................................................................................................32
4.3 Multiple dimensions ......................................................................................................................33
4.4 Indexing and slicing of arrays........................................................................................................34
4.5 Array querying functions...............................................................................................................35
4.6 Dynamic arrays..............................................................................................................................35
4.7 Array assignment...........................................................................................................................37
4.8 Arrays as arguments.......................................................................................................................38
4.9 Associative arrays..........................................................................................................................39
4.10 Associative array methods.............................................................................................................41
4.11 Associative array assignment.........................................................................................................44
4.12 Associative array arguments..........................................................................................................44
4.13 Associative array literals................................................................................................................44
4.14 Queues ...........................................................................................................................................45
4.15 Array manipulation methods .........................................................................................................47
Section 5 Data Declarations .........................................................................................................................52
5.1 Introduction (informative) .............................................................................................................52
5.2 Data declaration syntax..................................................................................................................52
5.3 Constants........................................................................................................................................52
Accellera
SystemVerilog 3.1a Extensions to Verilog-2001
viii Copyright 2004 Accellera. All rights reserved .
5.4 Variables........................................................................................................................................53
5.5 Scope and lifetime .........................................................................................................................54
5.6 Nets, regs, and logic.......................................................................................................................55
5.7 Signal aliasing................................................................................................................................56
5.8 Type compatibility.........................................................................................................................58
Section 6 Attributes.......................................................................................................................................61
6.1 Introduction (informative) .............................................................................................................61
6.2 Default attribute type.....................................................................................................................61
Section 7 Operators and Expressions..........................................................................................................62
7.1 Introduction (informative) .............................................................................................................62
7.2 Operator syntax..............................................................................................................................62
7.3 Assignment operators ....................................................................................................................62
7.4 Operations on logic and bit types ..................................................................................................63
7.5 Wild equality and wild inequality..................................................................................................63
7.6 Real operators ................................................................................................................................64
7.7 Size.................................................................................................................................................64
7.8 Sign................................................................................................................................................64
7.9 Operator precedence and associativity ..........................................................................................64
7.10 Built-in methods ............................................................................................................................65
7.11 Static Prefixes ................................................................................................................................66
7.12 Concatenation ................................................................................................................................67
7.13 Unpacked array expressions ..........................................................................................................67
7.14 Structure expressions.....................................................................................................................68
7.15 Tagged union expressions and member access..............................................................................70
7.16 Aggregate expressions...................................................................................................................71
7.17 Operator overloading.....................................................................................................................72
7.18 Streaming operators (pack / unpack).............................................................................................73
7.19 Conditional operator......................................................................................................................77
7.20 Set membership..............................................................................................................................77
Section 8 Procedural Statements and Control Flow..................................................................................79
8.1 Introduction (informative) .............................................................................................................79
8.2 Statements......................................................................................................................................79
8.3 Blocking and nonblocking assignments ........................................................................................80
8.4 Selection statements.......................................................................................................................81
8.5 Loop statements.............................................................................................................................87
8.6 Jump statements.............................................................................................................................89
8.7 Final blocks....................................................................................................................................89
8.8 Named blocks and statement labels...............................................................................................90
8.9 Disable...........................................................................................................................................90
8.10 Event control..................................................................................................................................91
8.11 Level-sensitive sequence controls .................................................................................................93
8.12 Procedural assign and deassign removal .......................................................................................94
Section 9 Processes........................................................................................................................................95
9.1 Introduction (informative) .............................................................................................................95
9.2 Combinational logic.......................................................................................................................95
9.3 Latched logic..................................................................................................................................96
9.4 Sequential logic..............................................................................................................................96
9.5 Continuous assignments ................................................................................................................96
9.6 fork...join........................................................................................................................................97
9.7 Process execution threads..............................................................................................................98
Accellera
Extensions to Verilog-2001 SystemVerilog 3.1a
Copyright 2004 Accellera. All rights reserved. ix
9.8 Process control...............................................................................................................................98
9.9 Fine-grain process control ...........................................................................................................100
Section 10 Tasks and Functions...................................................................................................................102
10.1 Introduction (informative) ...........................................................................................................102
10.2 Tasks............................................................................................................................................103
10.3 Functions......................................................................................................................................104
10.4 Task and function argument passing ...........................................................................................106
10.5 Import and export functions.........................................................................................................109
Section 11 Classes..........................................................................................................................................111
11.1 Introduction (informative) ...........................................................................................................111
11.2 Syntax ..........................................................................................................................................112
11.3 Overview......................................................................................................................................113
11.4 Objects (class instance)................................................................................................................113
11.5 Object properties..........................................................................................................................114
11.6 Object methods............................................................................................................................114
11.7 Constructors.................................................................................................................................115
11.8 Static class properties...................................................................................................................116
11.9 Static methods..............................................................................................................................116
11.10This ..............................................................................................................................................116
11.11Assignment, re-naming and copying...........................................................................................117
11.12Inheritance and subclasses...........................................................................................................118
11.13Overridden members....................................................................................................................119
11.14Super............................................................................................................................................119
11.15Casting.........................................................................................................................................120
11.16Chaining constructors..................................................................................................................120
11.17Data hiding and encapsulation.....................................................................................................121
11.18Constant class properties .............................................................................................................121
11.19Abstract classes and virtual methods...........................................................................................122
11.20Polymorphism: dynamic method lookup.....................................................................................123
11.21Class scope resolution operator ::................................................................................................123
11.22Out of block declarations.............................................................................................................124
11.23Parameterized classes ..................................................................................................................125
11.24Typedef class ...............................................................................................................................126
11.25Classes and structures..................................................................................................................126
11.26Memory management..................................................................................................................127
Section 12 Random Constraints ..................................................................................................................128
12.1 Introduction (informative) ...........................................................................................................128
12.2 Overview......................................................................................................................................128
12.3 Random variables ........................................................................................................................131
12.4 Constraint blocks .........................................................................................................................132
12.5 Randomization methods ..............................................................................................................145
12.6 In-line constraints — randomize() with.......................................................................................147
12.7 Disabling random variables with rand_mode() ...........................................................................148
12.8 Controlling constraints with constraint_mode()..........................................................................149
12.9 Dynamic constraint modification.................................................................................................150
12.10In-line random variable control ...................................................................................................150
12.11Randomization of scope variables — std::randomize()...............................................................151
12.12Random number system functions and methods .........................................................................153
12.13Random stability..........................................................................................................................154
12.14Manually seeding randomize.......................................................................................................156
12.15Random weighted case — randcase ............................................................................................157
Accellera
SystemVerilog 3.1a Extensions to Verilog-2001
x Copyright 2004 Accellera. All rights reserved .
12.16Random sequence generation — randsequence...........................................................................158
Section 13 Interprocess Synchronization and Communication................................................................166
13.1 Introduction (informative) ...........................................................................................................166
13.2 Semaphores..................................................................................................................................166
13.3 Mailboxes.....................................................................................................................................167
13.4 Parameterized mailboxes.............................................................................................................170
13.5 Event............................................................................................................................................171
13.6 Event sequencing: wait_order()...................................................................................................172
13.7 Event variables.............................................................................................................................173
Section 14 Scheduling Semantics.................................................................................................................176
14.1 Execution of a hardware model and its verification environment...............................................176
14.2 Event simulation..........................................................................................................................176
14.3 The stratified event scheduler......................................................................................................176
14.4 The PLI callback control points...................................................................................................180
Section 15 Clocking Blocks ..........................................................................................................................181
15.1 Introduction (informative) ...........................................................................................................181
15.2 Clocking block declaration..........................................................................................................181
15.3 Input and output skews................................................................................................................183
15.4 Hierarchical expressions..............................................................................................................184
15.5 Signals in multiple clocking blocks.............................................................................................185
15.6 Clocking block scope and lifetime...............................................................................................185
15.7 Multiple clocking blocks example...............................................................................................185
15.8 Interfaces and clocking blocks.....................................................................................................186
15.9 Clocking block events..................................................................................................................187
15.10Cycle delay: ## ............................................................................................................................187
15.11Default clocking...........................................................................................................................188
15.12Input sampling .............................................................................................................................189
15.13Synchronous events .....................................................................................................................189
15.14Synchronous drives......................................................................................................................190
Section 16 Program Block............................................................................................................................193
16.1 Introduction (informative) ...........................................................................................................193
16.2 The program construct.................................................................................................................193
16.3 Multiple programs........................................................................................................................195
16.4 Eliminating testbench races.........................................................................................................195
16.5 Blocking tasks in cycle/event mode.............................................................................................196
16.6 Program control tasks ..................................................................................................................196
Section 17 Assertions ...................................................................................................................................198
17.1 Introduction (informative) ...........................................................................................................198
17.2 Immediate assertions....................................................................................................................198
17.3 Concurrent assertions overview...................................................................................................200
17.4 Boolean expressions ....................................................................................................................201
17.5 Sequences.....................................................................................................................................203
17.6 Declaring sequences ....................................................................................................................206
17.7 Sequence operations ....................................................................................................................208
17.8 Manipulating data in a sequence..................................................................................................224
17.9 Calling subroutines on match of a sequence................................................................................228
17.10System functions..........................................................................................................................229
17.11Declaring properties.....................................................................................................................229
17.12Multiple clock support.................................................................................................................240
Accellera
Extensions to Verilog-2001 SystemVerilog 3.1a
Copyright 2004 Accellera. All rights reserved. xi
17.13Concurrent assertions...................................................................................................................246
17.14Clock resolution...........................................................................................................................252
17.15Binding properties to scopes or instances....................................................................................258
17.16The expect statement ...................................................................................................................259
Section 18 Hierarchy.....................................................................................................................................261
18.1 Introduction (informative) ...........................................................................................................261
18.2 Packages.......................................................................................................................................261
18.3 Compilation unit support.............................................................................................................265
18.4 Top-level instance........................................................................................................................266
18.5 Module declarations.....................................................................................................................267
18.6 Nested modules............................................................................................................................267
18.7 Extern modules............................................................................................................................269
18.8 Port declarations ..........................................................................................................................270
18.9 List of port expressions................................................................................................................271
18.10Time unit and precision ...............................................................................................................271
18.11Module instances .........................................................................................................................272
18.12Port connection rules ...................................................................................................................276
18.13Name spaces ................................................................................................................................277
18.14Hierarchical names ......................................................................................................................278
Section 19 Interfaces.....................................................................................................................................279
19.1 Introduction (informative) ...........................................................................................................279
19.2 Interface syntax............................................................................................................................280
19.3 Ports in interfaces.........................................................................................................................284
19.4 Modports......................................................................................................................................285
19.5 Interfaces and specify blocks.......................................................................................................291
19.6 Tasks and functions in interfaces.................................................................................................291
19.7 Parameterized interfaces..............................................................................................................297
19.8 Virtual interfaces..........................................................................................................................299
19.9 Access to interface objects...........................................................................................................303
Section 20 Coverage......................................................................................................................................305
20.1 Introduction (informative) ...........................................................................................................305
20.2 Defining the coverage model: covergroup...................................................................................306
20.3 Using covergroup in classes ........................................................................................................308
20.4 Defining coverage points.............................................................................................................309
20.5 Defining cross coverage...............................................................................................................315
20.6 Specifying coverage options........................................................................................................319
20.7 Predefined coverage methods......................................................................................................324
20.8 Predefined coverage system tasks and functions.........................................................................324
20.9 Organization of option and type_option members ......................................................................324
Section 21 Parameters ..................................................................................................................................326
21.1 Introduction (informative) ...........................................................................................................326
21.2 Parameter declaration syntax.......................................................................................................327
Section 22 Configuration Libraries.............................................................................................................330
22.1 Introduction (informative) ...........................................................................................................330
22.2 Libraries.......................................................................................................................................330
Section 23 System Tasks and System Functions ........................................................................................331
23.1 Introduction (informative) ...........................................................................................................331
23.2 Elaboration-time typeof function.................................................................................................331
Accellera
SystemVerilog 3.1a Extensions to Verilog-2001
xii Copyright 2004 Accellera. All rights reserved .
23.3 Typename function......................................................................................................................331
23.4 Expression size system function..................................................................................................332
23.5 Range system function.................................................................................................................333
23.6 Shortreal conversions...................................................................................................................333
23.7 Array querying system functions.................................................................................................334
23.8 Assertion severity system tasks ...................................................................................................335
23.9 Assertion control system tasks.....................................................................................................336
23.10Assertion system functions..........................................................................................................336
23.11Random number system functions...............................................................................................337
23.12Program control ...........................................................................................................................337
23.13Coverage system functions..........................................................................................................337
23.14Enhancements to Verilog-2001 system tasks ..............................................................................337
23.15$readmemb and $readmemh........................................................................................................338
23.16$writememb and $writememh.....................................................................................................338
23.17File format considerations for multi-dimensional unpacked arrays ............................................339
23.18System task arguments for multi-dimensional unpacked arrays .................................................340
Section 24 VCD Data....................................................................................................................................342
Section 25 Compiler Directives....................................................................................................................343
25.1 Introduction (informative) ...........................................................................................................343
25.2 ‘define macros..............................................................................................................................343
25.3 `include ........................................................................................................................................344
Section 26 Features under consideration for removal from SystemVerilog ...........................................345
26.1 Introduction (informative) ...........................................................................................................345
26.2 Defparam statements....................................................................................................................345
26.3 Procedural assign and deassign statements..................................................................................345
Section 27 Direct Programming Interface (DPI) .......................................................................................347
27.1 Overview......................................................................................................................................347
27.2 Two layers of the DPI..................................................................................................................348
27.3 Global name space of imported and exported functions..............................................................349
27.4 Imported tasks and functions.......................................................................................................349
27.5 Calling imported functions ..........................................................................................................355
27.6 Exported functions.......................................................................................................................356
27.7 Exported tasks..............................................................................................................................357
27.8 Disabling DPI tasks and functions...............................................................................................357
Section 28 SystemVerilog Assertion API....................................................................................................359
28.1 Requirements...............................................................................................................................359
28.2 Extensions to VPI enumerations..................................................................................................359
28.3 Static information ........................................................................................................................360
28.4 Dynamic information...................................................................................................................363
28.5 Control functions .........................................................................................................................366
Section 29 SystemVerilog Coverage API....................................................................................................368
29.1 Requirements...............................................................................................................................368
29.2 SystemVerilog real-time coverage access ...................................................................................369
29.3 FSM recognition..........................................................................................................................374
29.4 VPI coverage extensions..............................................................................................................377
Section 30 SystemVerilog Data Read API..................................................................................................381
30.1 Introduction (informative) ...........................................................................................................381
Accellera
Extensions to Verilog-2001 SystemVerilog 3.1a
Copyright 2004 Accellera. All rights reserved. xiii
30.2 Requirements...............................................................................................................................381
30.3 Extensions to VPI enumerations..................................................................................................382
30.4 VPI object type additions.............................................................................................................383
30.5 Object model diagrams................................................................................................................385
30.6 Usage extensions to VPI routines................................................................................................387
30.7 VPI routines added in SystemVerilog .........................................................................................388
30.8 Reading data ................................................................................................................................389
30.9 Optionally unloading the data......................................................................................................399
30.10Reading data from multiple databases and/or different read library providers ...........................399
30.11VPI routines extended in SystemVerilog.....................................................................................402
30.12VPI routines added in SystemVerilog .........................................................................................403
Section 31 SystemVerilog VPI Object Model.............................................................................................407
31.1 Introduction (informative) ...........................................................................................................407
31.2 Instance .......................................................................................................................................409
31.3 Interface ......................................................................................................................................410
31.4 Program........................................................................................................................................410
31.5 Module (supersedes IEEE 1364-2001 26.6.1) ............................................................................411
31.6 Modport ......................................................................................................................................412
31.7 Interface tf decl............................................................................................................................412
31.8 Ports (supersedes IEEE 1364-2001 26.6.5).................................................................................413
31.9 Ref Obj.........................................................................................................................................414
31.10Variables (supersedes IEEE 1364-2001 section 26.6.8) .............................................................416
31.11Var Select (supersedes IEEE 1364-2001 26.6.8).........................................................................418
31.12Typespec......................................................................................................................................419
31.13Variable Drivers and Loads (supersedes IEEE 1364-2001 26.6.23)...........................................421
31.14Instance Arrays (supersedes IEEE 1364-2001 26.6.2)................................................................421
31.15Scope (supersedes IEEE 1364-2001 26.6.3) ...............................................................................422
31.16IO Declaration (supersedes IEEE 1364-2001 26.6.4) .................................................................423
31.17Clocking Block ...........................................................................................................................424
31.18Class Object Definition................................................................................................................425
31.19Constraint, constraint ordering, distribution,...............................................................................426
31.20Constraint expression...................................................................................................................427
31.21Class Variables ...........................................................................................................................428
31.23Named Events (supersedes IEEE 1364-2001 26.6.11)................................................................430
31.24Task, Function Declaration (supersedes IEEE 1364-2001 26.6.18)............................................431
31.25Alias Statement ...........................................................................................................................432
31.26Frames (supersedes IEEE 1364-2001 26.6.20)............................................................................433
31.27Threads.........................................................................................................................................434
31.28tf call (supersedes IEEE 1364-2001 26.6.19)..............................................................................435
31.29Module path, path term (supersedes IEEE 1364-2001 26.6.15) .................................................436
31.30Concurrent assertions ..................................................................................................................437
31.31Property Decl ..............................................................................................................................437
31.32Property Specification .................................................................................................................438
31.33Multiclock Sequence Expression ................................................................................................439
31.34Sequence Declaration .................................................................................................................440
31.35Sequence Expression ..................................................................................................................441
31.36Attribute (supersedes IEEE 1364-2001 26.6.42) ........................................................................442
31.37Atomic Statement (supersedes IEEE 1364-2001 26.6.27) .........................................................443
31.38If, if else, return, case, do while (supersedes IEEE 1364-2001 26.6.35, 26.6.36).......................444
31.39waits, disables, expect, foreach (supersedes IEEE 1364 26.6.38)...............................................445
31.40Simple expressions (supersedes IEEE 1364-2001 26.6.25) ........................................................446
31.41Expressions (supersedes IEEE 1364-2001 26.6.26)....................................................................447
31.42Event control (supersedes IEEE 1364-2001 26.6.30)..................................................................448
Accellera
SystemVerilog 3.1a Extensions to Verilog-2001
xiv Copyright 2004 Accellera. All rights reserved .
31.43Event stmt (supersedes IEEE 1364-2001 26.6.27) .....................................................................448
31.44Process (supersedes IEEE 1364-2001 26.6.27) ..........................................................................449
31.45Assignment (supersedes IEEE 1364-2001 26.6.28) ...................................................................449
Annex A Formal Syntax..............................................................................................................................451
Annex B Keywords......................................................................................................................................488
Annex C Std Package .................................................................................................................................490
Annex D Linked Lists.................................................................................................................................492
Annex E DPI C-layer ..................................................................................................................................498
Annex F Include files ..................................................................................................................................523
Annex G Inclusion of Foreign Language Code.........................................................................................529
Annex H Formal Semantics of Concurrent Assertions............................................................................533
Annex I sv_vpi_user.h................................................................................................................................544
Annex J Glossary........................................................................................................................................553
Annex K Bibliography.................................................................................................................................555

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警