没有合适的资源?快使用搜索试试~ 我知道了~
首页SystemVerilog 2023: IEEE 1800-2023 新标准解析
SystemVerilog 2023: IEEE 1800-2023 新标准解析
需积分: 5 16 下载量 86 浏览量
更新于2024-06-15
1
收藏 9.01MB PDF 举报
"IEEE 1800-2023是SystemVerilog的最新版本,这是一份由IEEE Computer Society的设计自动化标准委员会制定的统一硬件设计、规范和验证语言的标准。该标准对2017年的IEEE Std 1800进行了修订,于2023年12月6日获得批准,并于2024年2月28日发布。"
SystemVerilog是一种广泛用于系统级设计、验证和硬件描述的语言,它在电子设计自动化(EDA)领域中扮演着关键角色。IEEE 1800-2023新版本包含了对之前版本的更新和改进,旨在提高设计效率,增强语言功能,以及适应不断发展的半导体行业需求。
SystemVerilog的核心特点包括:
1. **高级数据类型**:除了基本的位、整数和逻辑类型,SystemVerilog还支持结构体、联合体、数组、枚举、类等复杂数据类型,使设计者能够更精确地表示硬件模块的内部结构。
2. **接口**:定义了可重用的端口集合,可以封装和复用复杂的交互行为。
3. **包**:允许用户定义自己的函数、任务、常量和类型,便于代码组织和重用。
4. **进程与并发**:包括进程(process)、任务(task)和函数(function),以及基于事件的并发模型,使得设计者可以模拟并行执行的行为。
5. **断言**:提供了一种强大的机制来验证设计的行为,确保设计在特定条件下的正确性。
6. **覆盖**:用于验证覆盖率分析,帮助工程师了解测试套件是否充分覆盖了设计的所有可能状态。
7. **门控时钟**:支持门控时钟,有助于减少功耗和解决时序问题。
8. **约束随机化**:通过随机化测试激励生成,提高了验证的效率和深度。
9. **OOP特性**:类、继承和多态性等面向对象编程特性,增强了代码的模块性和复用性。
10. **接口和类的虚函数**:允许动态绑定,进一步增强了设计的灵活性。
新版本IEEE 1800-2023可能会引入更多增强,例如更新的语法、新功能或对现有特性的改进,以满足现代集成电路设计的挑战。随着技术的发展,SystemVerilog标准的更新对于保持工具和流程的兼容性至关重要,同时也有助于设计团队实现更高效、更可靠的设计验证。
SystemVerilog 2023版是硬件设计和验证工程师的重要参考资料,它提供了全面的语法规范和指导,以帮助开发者更好地理解和应用这一强大的硬件描述语言。
15
Copyright © 2024 IEEE. All rights reserved.
16.10 Local variables..................................................................................................................... 432
16.11 Calling subroutines on match of a sequence........................................................................ 438
16.12 Declaring properties............................................................................................................. 439
16.13 Multiclock support............................................................................................................... 465
16.14 Concurrent assertions........................................................................................................... 475
16.15 Disable iff resolution ........................................................................................................... 493
16.16 Clock resolution................................................................................................................... 495
16.17 Expect statement .................................................................................................................. 500
16.18 Clocking blocks and concurrent assertions.......................................................................... 501
17. Checkers.......................................................................................................................................... 503
17.1 Overview.............................................................................................................................. 503
17.2 Checker declaration ............................................................................................................. 503
17.3 Checker instantiation ........................................................................................................... 506
17.4 Context inference................................................................................................................. 509
17.5 Checker procedures.............................................................................................................. 510
17.6 Covergroups in checkers...................................................................................................... 512
17.7 Checker variables................................................................................................................. 513
17.8 Functions in checkers........................................................................................................... 519
17.9 Complex checker example................................................................................................... 520
18. Constrained random value generation ............................................................................................ 522
18.1 General................................................................................................................................. 522
18.2 Overview.............................................................................................................................. 522
18.3 Concepts and usage.............................................................................................................. 522
18.4 Random variables ................................................................................................................ 525
18.5 Constraint blocks ................................................................................................................. 528
18.6 Randomization methods ...................................................................................................... 550
18.7 Inline constraints—randomize() with .................................................................................. 552
18.8 Disabling random variables with rand_mode() ................................................................... 554
18.9 Controlling constraints with constraint_mode() .................................................................. 556
18.10 Dynamic constraint modification......................................................................................... 557
18.11 Inline random variable control.............................................................................................557
18.12 Randomization of scope variables—std::randomize()......................................................... 558
18.13 Random number system functions and methods ................................................................. 560
18.14 Random stability .................................................................................................................. 561
18.15 Manually seeding randomize ............................................................................................... 564
18.16 Random weighted case—randcase ...................................................................................... 564
18.17 Random sequence generation—randsequence..................................................................... 565
19. Functional coverage........................................................................................................................ 575
19.1 General................................................................................................................................. 575
19.2 Overview.............................................................................................................................. 575
19.3 Defining the coverage model: covergroup........................................................................... 576
19.4 Using covergroups in classes............................................................................................... 578
19.5 Defining coverage points ..................................................................................................... 582
PWNED Restrictions apply.
16
Copyright © 2024 IEEE. All rights reserved.
19.6 Defining cross coverage....................................................................................................... 597
19.7 Specifying coverage options................................................................................................ 605
19.8 Predefined coverage methods .............................................................................................. 610
19.9 Predefined coverage system tasks and system functions..................................................... 612
19.10 Organization of option and type_option members .............................................................. 613
19.11 Coverage computation ......................................................................................................... 614
20. Utility system tasks and system functions ...................................................................................... 619
20.1 General................................................................................................................................. 619
20.2 Simulation control system tasks .......................................................................................... 620
20.3 Simulation time system functions........................................................................................ 620
20.4 Timescale system tasks and system functions ..................................................................... 622
20.5 Conversion functions ........................................................................................................... 626
20.6 Data query functions............................................................................................................ 628
20.7 Array query functions .......................................................................................................... 630
20.8 Math functions ..................................................................................................................... 632
20.9 Bit vector system functions.................................................................................................. 633
20.10 Severity system tasks ........................................................................................................... 635
20.11 Assertion control system tasks.............................................................................................637
20.12 Sampled value system functions.......................................................................................... 644
20.13 Coverage system functions ..................................................................................................644
20.14 Probabilistic distribution functions...................................................................................... 644
20.15 Stochastic analysis tasks and functions ............................................................................... 646
20.16 Programmable logic array modeling system tasks .............................................................. 648
20.17 Miscellaneous tasks and functions....................................................................................... 652
21. Input/output system tasks and system functions............................................................................. 654
21.1 General................................................................................................................................. 654
21.2 Display system tasks............................................................................................................ 654
21.3 File input/output system tasks and system functions........................................................... 665
21.4 Loading memory array data from a file ............................................................................... 676
21.5 Writing memory array data to a file..................................................................................... 679
21.6 Command line input............................................................................................................. 680
21.7 Value change dump (VCD) files ......................................................................................... 683
22. Compiler directives......................................................................................................................... 704
22.1 General................................................................................................................................. 704
22.2 Overview ............................................................................................................................. 704
22.3 `resetall................................................................................................................................. 705
22.4 `include ................................................................................................................................ 705
22.5 `define, `undef, and `undefineall ......................................................................................... 706
22.6 `ifdef, `else, `elsif, `endif, `ifndef ........................................................................................ 712
22.7 `timescale............................................................................................................................. 716
22.8 `default_nettype ................................................................................................................... 718
22.9 `unconnected_drive and `nounconnected_drive .................................................................. 718
22.10 `celldefine and `endcelldefine.............................................................................................. 718
PWNED Restrictions apply.
17
Copyright © 2024 IEEE. All rights reserved.
22.11 `pragma ................................................................................................................................ 718
22.12 `line ...................................................................................................................................... 719
22.13 `__FILE__ and `__LINE__ ................................................................................................. 720
22.14 `begin_keywords, `end_keywords ....................................................................................... 721
Part Two: Hierarchy Constructs
23. Modules and hierarchy.................................................................................................................... 728
23.1 General................................................................................................................................. 728
23.2 Module definitions............................................................................................................... 728
23.3 Module instances (hierarchy)............................................................................................... 740
23.4 Nested modules.................................................................................................................... 751
23.5 Extern modules .................................................................................................................... 752
23.6 Hierarchical names .............................................................................................................. 753
23.7 Member selects and hierarchical names .............................................................................. 757
23.8 Upwards name referencing .................................................................................................. 759
23.9 Scope rules .......................................................................................................................... 761
23.10 Overriding module parameters ............................................................................................ 763
23.11 Binding auxiliary code to scopes or instances ..................................................................... 771
24. Programs ......................................................................................................................................... 774
24.1 General................................................................................................................................. 774
24.2 Overview.............................................................................................................................. 774
24.3 The program construct ......................................................................................................... 774
24.4 Eliminating testbench races .................................................................................................778
24.5 Blocking tasks in cycle/event mode..................................................................................... 778
24.6 Program-wide space and anonymous programs .................................................................. 779
24.7 Program control tasks .......................................................................................................... 779
25. Interfaces......................................................................................................................................... 780
25.1 General................................................................................................................................. 780
25.2 Overview.............................................................................................................................. 780
25.3 Interface syntax.................................................................................................................... 781
25.4 Ports in interfaces................................................................................................................. 785
25.5 Modports.............................................................................................................................. 786
25.6 Interfaces and specify blocks...............................................................................................792
25.7 Tasks and functions in interfaces......................................................................................... 793
25.8 Parameterized interfaces ...................................................................................................... 799
25.9 Virtual interfaces.................................................................................................................. 801
25.10 Access to interface objects................................................................................................... 806
26. Packages.......................................................................................................................................... 807
26.1 General................................................................................................................................. 807
26.2 Package declarations............................................................................................................ 807
26.3 Referencing data in packages .............................................................................................. 808
26.4 Using packages in module headers...................................................................................... 812
PWNED Restrictions apply.
18
Copyright © 2024 IEEE. All rights reserved.
26.5 Search order rules ................................................................................................................ 813
26.6 Exporting imported names from packages .......................................................................... 815
26.7 The std built-in package....................................................................................................... 816
27. Generate constructs......................................................................................................................... 818
27.1 General................................................................................................................................. 818
27.2 Overview.............................................................................................................................. 818
27.3 Generate construct syntax.................................................................................................... 818
27.4 Loop generate constructs ..................................................................................................... 820
27.5 Conditional generate constructs........................................................................................... 824
27.6 External names for unnamed generate blocks ..................................................................... 827
28. Gate-level and switch-level modeling ............................................................................................ 829
28.1 General................................................................................................................................. 829
28.2 Overview.............................................................................................................................. 829
28.3 Gate and switch declaration syntax ..................................................................................... 829
28.4 and, nand, nor, or, xor, and xnor gates................................................................................. 835
28.5 buf and not gates .................................................................................................................. 836
28.6 bufif1, bufif0, notif1, and notif0 gates................................................................................. 837
28.7 MOS switches ...................................................................................................................... 838
28.8 Bidirectional pass switches.................................................................................................. 839
28.9 CMOS switches ................................................................................................................... 840
28.10 pullup and pulldown sources ............................................................................................... 841
28.11 Logic strength modeling ...................................................................................................... 842
28.12 Strengths and values of combined signals ........................................................................... 843
28.13 Strength reduction by nonresistive devices ......................................................................... 855
28.14 Strength reduction by resistive devices ............................................................................... 855
28.15 Strengths of net types........................................................................................................... 855
28.16 Gate and net delays .............................................................................................................. 856
29. User-defined primitives .................................................................................................................. 860
29.1 General................................................................................................................................. 860
29.2 Overview.............................................................................................................................. 860
29.3 UDP definition..................................................................................................................... 860
29.4 Combinational UDPs ........................................................................................................... 864
29.5 Level-sensitive sequential UDPs ......................................................................................... 865
29.6 Edge-sensitive sequential UDPs .......................................................................................... 865
29.7 Sequential UDP initialization .............................................................................................. 866
29.8 UDP instances...................................................................................................................... 868
29.9 Mixing level-sensitive and edge-sensitive descriptions....................................................... 869
29.10 Level-sensitive dominance ..................................................................................................870
30. Specify blocks................................................................................................................................. 871
30.1 General................................................................................................................................. 871
30.2 Overview.............................................................................................................................. 871
PWNED Restrictions apply.
19
Copyright © 2024 IEEE. All rights reserved.
30.3 Specify block declaration..................................................................................................... 871
30.4 Module path declarations..................................................................................................... 872
30.5 Assigning delays to module paths ....................................................................................... 881
30.6 Mixing module path delays and distributed delays ............................................................. 885
30.7 Detailed control of pulse filtering behavior......................................................................... 886
31. Timing checks................................................................................................................................. 895
31.1 General................................................................................................................................. 895
31.2 Overview.............................................................................................................................. 895
31.3 Timing checks using a stability window.............................................................................. 898
31.4 Timing checks for clock and control signals ....................................................................... 905
31.5 Edge-control specifiers ........................................................................................................ 914
31.6 Notifiers: user-defined responses to timing violations ........................................................ 915
31.7 Enabling timing checks with conditioned events ................................................................ 917
31.8 Vector signals in timing checks ........................................................................................... 918
31.9 Negative timing checks........................................................................................................ 919
32. Backannotation using the standard delay format............................................................................ 924
32.1 General................................................................................................................................. 924
32.2 Overview.............................................................................................................................. 924
32.3 The SDF annotator............................................................................................................... 924
32.4 Mapping of SDF constructs to SystemVerilog .................................................................... 924
32.5 Multiple annotations ............................................................................................................ 929
32.6 Multiple SDF files ............................................................................................................... 930
32.7 Pulse limit annotation .......................................................................................................... 930
32.8 SDF to SystemVerilog delay value mapping....................................................................... 931
32.9 Loading timing data from an SDF file................................................................................. 932
33. Configuring the contents of a design .............................................................................................. 934
33.1 General................................................................................................................................. 934
33.2 Overview.............................................................................................................................. 934
33.3 Libraries ............................................................................................................................... 935
33.4 Configurations ..................................................................................................................... 937
33.5 Using libraries and configs .................................................................................................. 943
33.6 Configuration examples....................................................................................................... 944
33.7 Displaying library binding information ............................................................................... 946
33.8 Library mapping examples .................................................................................................. 946
34. Protected envelopes ........................................................................................................................ 949
34.1 General................................................................................................................................. 949
34.2 Overview.............................................................................................................................. 949
34.3 Processing protected envelopes ........................................................................................... 949
34.4 Protect pragma directives..................................................................................................... 951
34.5 Protect pragma keywords.....................................................................................................953
PWNED Restrictions apply.
剩余1353页未读,继续阅读
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-03-21 上传
2021-10-01 上传
2022-11-29 上传
2021-10-01 上传
2019-04-07 上传
2020-10-15 上传
兰登
- 粉丝: 12
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SpringCucumber:带有Cucumber、maven 和 tomcat 的 Spring REST 应用程序的 BDD
- TUCaN't - passt TUCaN den wahren Umständen an-crx插件
- xiaoxingxingpengzhuang,c#微商城源码,c#
- 报警发声_单片机C语言实例(纯C语言源代码).zip
- OriginalAche.ajkt8j4ngr.gaE4FWe
- GoTests:试用Go
- summitsingh.github.io
- gajian:基于项目的公司支付系统
- Supply,c#im源码,c#
- 8位LED右移_单片机C语言实例(纯C语言源代码).zip
- RUNDLL32使用方法和模块、参数调用大全
- 嵌入式Visual C ++的项目向导
- 带火炬的卷积神经网络:卷积神经网络预测Minipong对象
- oduzugusse
- Python库 | markdown-blockdiag-0.6.1.tar.gz
- 漂亮的金色农业农场响应式企业网站模板5417_网站开发模板含源代码(css+html+js+图样).zip
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功