没有合适的资源?快使用搜索试试~ 我知道了~
首页IEEE Std 1800-2017:SystemVerilog统一硬件设计与验证语言标准
IEEE Std 1800-2017:SystemVerilog统一硬件设计与验证语言标准
需积分: 0 7 下载量 27 浏览量
更新于2024-06-21
收藏 15.78MB PDF 举报
"1800-2017 IEEE Standard for SystemVerilog"
《1800-2017 IEEE Standard for SystemVerilog》是国际电工电子工程师学会(IEEE)发布的一份重要的硬件设计、规范和验证语言标准,由IEEE计算机学会的设计自动化标准委员会和IEEE标准协会企业顾问组共同赞助。这份标准是SystemVerilog的2017年修订版,是对2012年版本的更新。
SystemVerilog是一种统一的语言,它综合了硬件描述、设计规范和验证的各个方面,广泛应用于系统级的设计和验证。在半导体和集成电路设计领域,SystemVerilog提供了强大的建模、仿真、形式验证和约束随机测试平台等功能,使得设计者能够更高效地进行复杂硬件系统的验证。
该标准包括以下核心知识点:
1. **语法和语义**:SystemVerilog拥有丰富的语法结构,包括类、接口、包、任务、函数等,以及高级数据类型如数组、队列、枚举等。它的语义设计确保了代码的可读性和可维护性。
2. **模块化设计**:通过模块化设计,SystemVerilog允许设计师将系统分解成独立的可重用组件,提高设计复用性和可扩展性。
3. **接口**:接口作为通信通道,定义了模块之间的连接方式,可以用于信号传递和同步,提供了灵活的接口设计能力。
4. **类和对象**:SystemVerilog引入面向对象编程概念,如类、继承、多态性,这使得设计者可以创建复杂的行为模型,并实现模拟行为的封装和抽象。
5. **约束随机验证**:SystemVerilog支持基于约束的随机激励生成,能自动生成各种可能的输入组合,以覆盖更广泛的测试情况,提高验证覆盖率。
6. **覆盖度测量**:提供覆盖度指标,如代码覆盖、条件覆盖、路径覆盖等,用于评估验证的充分性。
7. **并行处理和并发**:SystemVerilog支持并行处理和并发执行,允许在同一个时间片内执行多个操作,这对于模拟多核和分布式系统至关重要。
8. **形式验证**:提供工具接口和语言特性,支持形式验证技术,能证明设计满足特定的逻辑条件,以提高设计正确性的保证。
9. **事务级建模**:SystemVerilog允许以事务级别描述设计行为,便于模拟复杂的协议和接口。
10. **门级和行为级混合仿真**:SystemVerilog支持在同一环境中混合使用门级和行为级模型,提高了仿真效率和精度。
这份标准对整个半导体行业具有深远影响,为硬件设计和验证提供了统一的框架和语言基础,降低了设计错误的风险,提升了设计质量和效率。对于从事硬件设计、验证和相关工具开发的专业人士来说,理解和掌握SystemVerilog是必不可少的技能。
15
Copyright © 2018 IEEE. All rights reserved.
19.6 Defining cross coverage....................................................................................................... 569
19.7 Specifying coverage options................................................................................................578
19.8 Predefined coverage methods .............................................................................................. 582
19.9 Predefined coverage system tasks and system functions..................................................... 585
19.10 Organization of option and type_option members .............................................................. 585
19.11 Coverage computation ......................................................................................................... 586
20. Utility system tasks and system functions ...................................................................................... 591
20.1 General................................................................................................................................. 591
20.2 Simulation control system tasks .......................................................................................... 592
20.3 Simulation time system functions........................................................................................ 592
20.4 Timescale system tasks........................................................................................................ 594
20.5 Conversion functions ........................................................................................................... 597
20.6 Data query functions............................................................................................................ 598
20.7 Array query functions .......................................................................................................... 600
20.8 Math functions ..................................................................................................................... 603
20.9 Bit vector system functions.................................................................................................. 604
20.10 Severity tasks ....................................................................................................................... 605
20.11 Elaboration system tasks...................................................................................................... 606
20.12 Assertion control system tasks............................................................................................. 608
20.13 Sampled value system functions.......................................................................................... 614
20.14 Coverage system functions .................................................................................................. 615
20.15 Probabilistic distribution functions......................................................................................615
20.16 Stochastic analysis tasks and functions ............................................................................... 617
20.17 Programmable logic array modeling system tasks .............................................................. 619
20.18 Miscellaneous tasks and functions....................................................................................... 623
21. Input/output system tasks and system functions.............................................................................624
21.1 General................................................................................................................................. 624
21.2 Display system tasks............................................................................................................ 624
21.3 File input/output system tasks and system functions........................................................... 635
21.4 Loading memory array data from a file ............................................................................... 645
21.5 Writing memory array data to a file..................................................................................... 649
21.6 Command line input............................................................................................................. 650
21.7 Value change dump (VCD) files ......................................................................................... 653
22. Compiler directives......................................................................................................................... 674
22.1 General.....................................................................................................................
...
......... 674
22.2 Overview ............................................................................................................................. 674
22.3 `resetall................................................................................................................................. 674
22.4 `include ................................................................................................................................ 675
22.5 `define, `undef, and `undefineall .........................................................................................675
22.6 `ifdef, `else, `elsif, `endif, `ifndef ........................................................................................ 681
22.7 `timescale............................................................................................................................. 684
22.8 `default_nettype ................................................................................................................... 685
22.9 `unconnected_drive and `nounconnected_drive .................................................................. 686
Authorized licensed use limited to: cc duan. Downloaded on August 24,2023 at 01:54:53 UTC from IEEE Xplore. Restrictions apply.
16
Copyright © 2018 IEEE. All rights reserved.
22.10 `celldefine and `endcelldefine.............................................................................................. 686
22.11 `pragma ................................................................................................................................ 686
22.12 `line ...................................................................................................................................... 687
22.13 `__FILE__ and `__LINE__ ................................................................................................. 688
22.14 `begin_keywords, `end_keywords ....................................................................................... 689
Part Two: Hierarchy Constructs
23. Modules and hierarchy.................................................................................................................... 696
23.1 General................................................................................................................................. 696
23.2 Module definitions............................................................................................................... 696
23.3 Module instances (hierarchy)...............................................................................................708
23.4 Nested modules.................................................................................................................... 719
23.5 Extern modules .................................................................................................................... 720
23.6 Hierarchical names .............................................................................................................. 721
23.7 Member selects and hierarchical names .............................................................................. 725
23.8 Upwards name referencing .................................................................................................. 727
23.9 Scope rules .......................................................................................................................... 729
23.10 Overriding module parameters ............................................................................................ 731
23.11 Binding auxiliary code to scopes or instances..................................................................... 738
24. Programs ......................................................................................................................................... 742
24.1 General................................................................................................................................. 742
24.2 Overview.............................................................................................................................. 742
24.3 The program construct ......................................................................................................... 742
24.4 Eliminating testbench races ................................................................................................. 746
24.5 Blocking tasks in cycle/event mode..................................................................................... 746
24.6 Programwide space and anonymous programs.................................................................... 747
24.7 Program control tasks .......................................................................................................... 747
25. Interfaces......................................................................................................................................... 748
25.1 General................................................................................................................................. 748
25.2 Overview.............................................................................................................................. 748
25.3 Interface syntax.................................................................................................................... 749
25.4 Ports in interfaces........................................................................................................
...
...... 753
25.5 Modports.............................................................................................................................. 754
25.6 Interfaces and specify blocks............................................................................................... 760
25.7 Tasks and functions in interfaces......................................................................................... 761
25.8 Parameterized interfaces ...................................................................................................... 767
25.9 Virtual interfaces.................................................................................................................. 769
25.10 Access to interface objects................................................................................................... 774
26. Packages.......................................................................................................................................... 775
26.1 General................................................................................................................................. 775
26.2 Package declarations............................................................................................................ 775
Authorized licensed use limited to: cc duan. Downloaded on August 24,2023 at 01:54:53 UTC from IEEE Xplore. Restrictions apply.
17
Copyright © 2018 IEEE. All rights reserved.
26.3 Referencing data in packages .............................................................................................. 776
26.4 Using packages in module headers...................................................................................... 780
26.5 Search order rules ................................................................................................................ 781
26.6 Exporting imported names from packages .......................................................................... 783
26.7 The std built-in package....................................................................................................... 784
27. Generate constructs......................................................................................................................... 786
27.1 General................................................................................................................................. 786
27.2 Overview.............................................................................................................................. 786
27.3 Generate construct syntax.................................................................................................... 786
27.4 Loop generate constructs ..................................................................................................... 788
27.5 Conditional generate constructs........................................................................................... 792
27.6 External names for unnamed generate blocks ..................................................................... 795
28. Gate-level and switch-level modeling ............................................................................................ 797
28.1 General................................................................................................................................. 797
28.2 Overview.............................................................................................................................. 797
28.3 Gate and switch declaration syntax ..................................................................................... 797
28.4 and, nand, nor, or, xor, and xnor gates................................................................................. 803
28.5 buf and not gates .................................................................................................................. 804
28.6 bufif1, bufif0, notif1, and notif0 gates................................................................................. 805
28.7 MOS switches ...................................................................................................................... 806
28.8 Bidirectional pass switches.................................................................................................. 807
28.9 CMOS switches ................................................................................................................... 808
28.10 pullup and pulldown sources ...............................................................................................809
28.11 Logic strength modeling ...................................................................................................... 809
28.12 Strengths and values of combined signals ........................................................................... 811
28.13 Strength reduction by nonresistive devices ......................................................................... 823
28.14 Strength reduction by resistive devices ............................................................................... 823
28.15 Strengths of net types........................................................................................................... 823
28.16 Gate and net delays .............................................................................................................. 824
29. User-defined primitives .................................................................................................................. 828
29.1 General................................................................................................................................. 828
29.2 Overview.............................................................................................................................. 828
29.3 UDP definition..................................................................................................................... 828
29.4 Combinational UDPs ........................................................................................................... 832
29.5 Level-sensitive sequential UDPs ......................................................................................... 833
29.6 Edge-sensitive sequential UDPs
.
......................................................................................... 833
29.7 Sequential UDP initialization ..............................................................................................834
29.8 UDP instances...................................................................................................................... 836
29.9 Mixing level-sensitive and edge-sensitive descriptions....................................................... 837
29.10 Level-sensitive dominance .................................................................................................. 838
Authorized licensed use limited to: cc duan. Downloaded on August 24,2023 at 01:54:53 UTC from IEEE Xplore. Restrictions apply.
18
Copyright © 2018 IEEE. All rights reserved.
30. Specify blocks................................................................................................................................. 839
30.1 General................................................................................................................................. 839
30.2 Overview.............................................................................................................................. 839
30.3 Specify block declaration..................................................................................................... 839
30.4 Module path declarations..................................................................................................... 840
30.5 Assigning delays to module paths ....................................................................................... 849
30.6 Mixing module path delays and distributed delays ............................................................. 853
30.7 Detailed control of pulse filtering behavior......................................................................... 854
31. Timing checks................................................................................................................................. 863
31.1 General................................................................................................................................. 863
31.2 Overview.............................................................................................................................. 863
31.3 Timing checks using a stability window.............................................................................. 866
31.4 Timing checks for clock and control signals ....................................................................... 873
31.5 Edge-control specifiers ........................................................................................................ 882
31.6 Notifiers: user-defined responses to timing violations ........................................................ 883
31.7 Enabling timing checks with conditioned events ................................................................ 885
31.8 Vector signals in timing checks........................................................................................... 886
31.9 Negative timing checks........................................................................................................ 887
32. Backannotation using the standard delay format............................................................................ 892
32.1 General................................................................................................................................. 892
32.2 Overview.............................................................................................................................. 892
32.3 The SDF annotator............................................................................................................... 892
32.4 Mapping of SDF constructs to SystemVerilog .................................................................... 892
32.5 Multiple annotations ............................................................................................................ 897
32.6 Multiple SDF files ............................................................................................................... 898
32.7 Pulse limit annotation .......................................................................................................... 898
32.8 SDF to SystemVerilog delay value mapping....................................................................... 899
32.9 Loading timing data from an SDF file................................................................................. 900
33. Configuring the contents of a design .............................................................................................. 902
33.1 General................................................................................................................................. 902
33.2 Overview.............................................................................................................................. 902
33.3 Libraries ............................................................................................................................... 903
33.4 Configurations ..................................................................................................................... 905
33.5 Using libraries and configs .................................................................................................. 911
33.6 Configuration examples......................................................................................................
.
912
33.7 Displaying library binding information ............................................................................... 914
33.8 Library mapping examples .................................................................................................. 914
34. Protected envelopes ........................................................................................................................ 917
34.1 General................................................................................................................................. 917
34.2 Overview.............................................................................................................................. 917
Authorized licensed use limited to: cc duan. Downloaded on August 24,2023 at 01:54:53 UTC from IEEE Xplore. Restrictions apply.
19
Copyright © 2018 IEEE. All rights reserved.
34.3 Processing protected envelopes ........................................................................................... 917
34.4 Protect pragma directives..................................................................................................... 919
34.5 Protect pragma keywords..................................................................................................... 921
Part Three: Application Programming Interfaces
35. Direct programming interface......................................................................................................... 938
35.1 General................................................................................................................................. 938
35.2 Overview.............................................................................................................................. 938
35.3 Two layers of DPI................................................................................................................ 939
35.4 Global name space of imported and exported functions...................................................... 940
35.5 Imported tasks and functions ...............................................................................................941
35.6 Calling imported functions .................................................................................................. 948
35.7 Exported functions............................................................................................................... 950
35.8 Exported tasks...................................................................................................................... 951
35.9 Disabling DPI tasks and functions....................................................................................... 951
36. Programming language interface (PLI/VPI) overview................................................................... 953
36.1 General................................................................................................................................. 953
36.2 PLI purpose and history....................................................................................................... 953
36.3 User-defined system task and system function names......................................................... 954
36.4 User-defined system task and system function arguments .................................................. 955
36.5 User-defined system task and system function types .......................................................... 955
36.6 User-supplied PLI applications............................................................................................ 955
36.7 PLI include files................................................................................................................... 955
36.8 VPI sizetf, compiletf, and calltf routines ............................................................................. 955
36.9 PLI mechanism .................................................................................................................... 956
36.10 VPI access to SystemVerilog objects and simulation objects ............................................. 958
36.11 List of VPI routines by functional category......................................................................... 959
36.12 VPI backwards compatibility features and limitations ........................................................ 961
37. VPI object model diagrams............................................................................................................. 966
37.1 General................................................................................................................................. 966
37.2 VPI Handles......................................................................................................................... 966
37.3 VPI object classifications..................................................................................................... 967
37.4 Key to data model diagrams ................................................................................................ 973
37.5 Module ............................................................................................................................... 976
37.6 Interface ............................................................................................................................ 977
37.7 Modport ...................................................
..................................................................
...
...... 977
37.8 Interface task or function declaration ................................................................................. 977
37.9 Program ............................................................................................................................. 978
37.10 Instance ............................................................................................................................... 979
37.11 Instance arrays .................................................................................................................... 981
37.12 Scope ................................................................................................................................... 982
37.13 IO declaration ..................................................................................................................... 983
37.14 Ports .................................................................................................................................... 984
Authorized licensed use limited to: cc duan. Downloaded on August 24,2023 at 01:54:53 UTC from IEEE Xplore. Restrictions apply.
剩余1314页未读,继续阅读
2022-07-13 上传
2018-09-25 上传
2018-02-26 上传
2024-01-29 上传
2021-07-06 上传
2023-10-15 上传
2019-06-02 上传
2023-10-24 上传
2008-12-23 上传
ccduan_001
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功