没有合适的资源?快使用搜索试试~ 我知道了~
首页IEEE Std 1800-2017: System Verilog统一硬件设计与验证标准
"IEEE Standard for System Verilog — 统一硬件设计、规范和验证语言"
System Verilog是由IEEE(电气和电子工程师协会)制定的一种标准化硬件描述和验证语言,其正式名称为IEEE Std 1800。这个标准是System Verilog的最新版本,即2017年修订版(Revision of IEEE Std 1800-2012)。System Verilog最初是为了统一硬件设计和验证领域的多种方法学而诞生,旨在提高集成电路和系统级设计的效率和准确性。
System Verilog的主要目标是提供一种统一的语言,用于系统级设计、行为建模、功能验证以及硬件描述。它扩展了传统的Verilog HDL,增加了更多高级特性,如类(classes)、约束随机化(constrained random)、覆盖(coverage)和任务/函数封装(task and function packaging)等,使得验证过程更加系统化和模块化。
1. **类(Classes)**:System Verilog引入了面向对象编程的概念,允许创建自定义数据类型和对象,这对于构建复杂的验证环境和抽象模型非常有用。
2. **约束随机化(Constrained Randomization)**:此功能允许在测试平台上生成随机激励,同时应用约束条件,确保生成的测试用例能够覆盖设计的多个状态和路径。
3. **覆盖(Coverage)**:覆盖是衡量验证完备性的重要指标。System Verilog提供了多种内置覆盖点,如分支覆盖、约束覆盖等,帮助验证工程师跟踪和评估设计的验证进度。
4. **接口(Interfaces)**:接口是System Verilog中定义信号连接和操作的结构,它们可以包含信号、任务、函数和其他接口。接口提高了模块间的复用性和可维护性。
5. **任务(Tasks)和函数(Functions)**:除了传统的Verilog任务和函数,System Verilog还支持带返回值的函数和静态任务,增强了代码的灵活性和功能性。
6. **多线程(Concurrency)**:System Verilog支持并发执行,允许在同一时间模拟多个活动,这对于描述并行系统和验证其正确性至关重要。
7. **包(Packages)**:通过包,可以将相关的常量、类型、函数和任务组织在一起,便于代码的重用和管理。
8. **属性(Properties)**:System Verilog的属性语法允许定义和检查事件序列,对于建立形式化的断言(assertions)和时序检查非常有用。
9. **门级和行为混合建模(Mixed-Mode Modeling)**:System Verilog允许在同一设计中混合使用门级和行为级模型,使得设计和验证可以在不同抽象层次上进行。
10. **系统级验证**:System Verilog不仅适用于ASIC和FPGA设计,还支持系统级验证,包括软硬件协同设计和IP集成。
IEEE Standard for System Verilog是现代电子设计自动化中的一个核心工具,它提供了一种强大而灵活的语言,促进了高效的设计和验证流程,大大提升了硬件开发的生产力。对于任何涉及芯片和系统级设计的工程师而言,掌握System Verilog都是非常重要的。
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: Drexel University. Downloaded on February 24,2018 at 21:40:12 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: Drexel University. Downloaded on February 24,2018 at 21:40:12 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: Drexel University. Downloaded on February 24,2018 at 21:40:12 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: Drexel University. Downloaded on February 24,2018 at 21:40:12 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: Drexel University. Downloaded on February 24,2018 at 21:40:12 UTC from IEEE Xplore. Restrictions apply.
剩余1315页未读,继续阅读
2019-05-23 上传
260 浏览量
2021-05-27 上传
2020-05-12 上传
2012-12-27 上传
2008-01-25 上传
2011-04-23 上传
Alonger1988
- 粉丝: 17
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功