没有合适的资源?快使用搜索试试~ 我知道了~
首页IEEE Std 1800-2017: SystemVerilog统一硬件设计与验证语言标准
"2017年IEEE系统Verilog标准"
IEEE Std 1800-2017是SystemVerilog的最新版本,它是一个统一的硬件设计、规范和验证语言的标准。这个标准由IEEE计算机学会的设计自动化标准委员会和IEEE标准协会企业顾问组共同赞助。SystemVerilog作为一个强大的硬件描述语言(HDL),在集成电路设计和验证领域扮演着至关重要的角色。
SystemVerilog在2017年的更新中,主要目的是增强其功能,提高可读性和可维护性,以及适应不断发展的设计和验证需求。它不仅包含了之前版本的所有特性,还引入了新的语言元素和改进,以支持更复杂的设计环境,特别是针对先进半导体工艺节点的SoC(系统级芯片)设计。
SystemVerilog的核心特性包括:
1. **行为建模**:它允许工程师用高级语言描述硬件的行为,类似于C/C++或Java,使得设计的验证更加直观和高效。
2. **数据类型系统**:提供了丰富的数据类型,如枚举、结构体、联合体、数组和类,可以更好地表示复杂的系统结构。
3. **并发语句**:通过`fork-join`、`always`块等机制,支持并行处理和事件驱动的模拟。
4. **接口**:定义了模块间通信的接口,提高了模块化和重用性。
5. **包**:用于组织和复用代码,类似于软件工程中的库。
6. **断言**:用于插入检查代码,确保设计在特定条件下满足预定的行为。
7. **覆盖**:在验证过程中提供代码覆盖率度量,帮助评估验证的完整性。
8. **随机化**:随机化测试向量生成,增加了测试的全面性。
9. **UVM(Universal Verification Methodology)**:SystemVerilog的一个关键应用是作为UVM的基础,这是一个行业广泛接受的验证方法论,提供了可扩展和可复用的验证框架。
此外,2017版可能包含的改进和扩展可能包括对高级验证技术的支持,例如增强的约束解决器性能、更好的内存模型、更灵活的类系统以支持面向对象编程,以及对硬件模型的精确度提升。
IEEE Std 1800-2017是现代IC设计和验证工程师不可或缺的工具,它为复杂的硬件系统提供了强大的描述和验证手段,同时也推动了整个半导体行业的进步。对于那些涉及Verilog和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: Integrated Device Technology Inc (IDT). Downloaded on July 21,2018 at 07:13:38 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: Integrated Device Technology Inc (IDT). Downloaded on July 21,2018 at 07:13:38 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: Integrated Device Technology Inc (IDT). Downloaded on July 21,2018 at 07:13:38 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: Integrated Device Technology Inc (IDT). Downloaded on July 21,2018 at 07:13:38 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: Integrated Device Technology Inc (IDT). Downloaded on July 21,2018 at 07:13:38 UTC from IEEE Xplore. Restrictions apply.
剩余1314页未读,继续阅读
2019-06-02 上传
2020-02-06 上传
2020-04-26 上传
156 浏览量
2012-12-27 上传
260 浏览量
2018-07-25 上传
2021-02-01 上传
2008-01-25 上传
dabingusa
- 粉丝: 6
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功