没有合适的资源?快使用搜索试试~ 我知道了~
首页2017年SystemVerilog标准:统一硬件设计与验证语言规范
IEEE 1800™-2017 SystemVerilog Specification是IEEE(Institute of Electrical and Electronics Engineers)推出的一项重要标准,它定义了一种统一的硬件设计、规范和验证语言。这份标准由设计自动化标准委员会(Design Automation Standards Committee, DAC)和IEEE计算机学会(IEEE Computer Society)以及IEEE标准协会企业咨询组(IEEE Standards Association Corporate Advisory Group)共同赞助。该标准旨在提供一个强大的工具集,以支持系统级的设计、实现以及验证过程,适用于电子设计自动化(EDA)领域的高级硬件描述语言(HDL)。
该版本是2012年版的修订版,于2017年12月6日获得批准,并通过IEEE Xplore平台发布。根据授权许可,仅限David Han在2019年4月7日下载时使用,可能存在某些限制。版权归属于IEEE,所有权利保留。
SystemVerilog是一种广泛应用于数字逻辑设计、验证和测试的高级语言,它融合了多种功能,包括模块化编程、并发处理、事件驱动行为、数据流操作和模拟功能等。这使得它能够在硬件设计的不同阶段发挥重要作用,包括功能描述、设计抽象、测试bench创建以及硬件与软件接口定义。
IEEE 1800™-2017中包含了许多关键特性,例如:
1. **模块化和封装**:允许设计师将复杂系统分解成可重用的模块,提高了代码的可维护性和复用性。
2. **事件驱动编程**:基于事件触发的行为模型,如顺序和并行流程控制,使得设计者可以更自然地表达时序逻辑。
3. **数据流语言**:支持连续数据流操作,这对于处理大量并行数据流的系统如FPGA和ASIC设计非常有用。
4. **仿真和验证**:提供了丰富的验证工具和方法,如assertions(断言)、覆盖分析和一致性检查,以确保设计的正确性。
5. **接口描述**:允许清晰地定义硬件与软件之间的接口,包括VHDL-2008兼容性,方便系统级集成。
6. **一致性与兼容性**:与其他HDL(如VHDL和Verilog)保持一定的兼容性,确保了设计团队的工具链集成。
7. **变更管理和版本控制**:支持版本管理机制,便于跟踪和回溯设计更改,提高协作效率。
IEEE 1800™-2017 SystemVerilog Specification是电子工程领域中一个重要的标准化成果,对于从事硬件设计、验证和测试的工程师来说,掌握并应用这一语言是提升工作效率和产品质量的关键。在实际应用中,遵循该标准可以确保设计的可读性、可维护性和一致性,从而推动电子系统设计的标准化进程。
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: David Han. Downloaded on April 07,2019 at 02:35:27 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: David Han. Downloaded on April 07,2019 at 02:35:27 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: David Han. Downloaded on April 07,2019 at 02:35:27 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: David Han. Downloaded on April 07,2019 at 02:35:27 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: David Han. Downloaded on April 07,2019 at 02:35:27 UTC from IEEE Xplore. Restrictions apply.
剩余1314页未读,继续阅读
2020-07-30 上传
点击了解资源详情
2021-07-06 上传
2020-05-04 上传
2021-11-15 上传
2019-11-15 上传
点击了解资源详情
BulkFool
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功