没有合适的资源?快使用搜索试试~ 我知道了~
首页"IEEE发布的Verilog硬件描述语言标准对FPGA学习的帮助"
"IEEE发布的Verilog硬件描述语言标准对FPGA学习的帮助"
需积分: 3 0 下载量 199 浏览量
更新于2023-12-22
1
收藏 4.29MB PDF 举报
IEEE Verilog 2001是由美国电气和电子工程师协会(IEEE)发布的硬件描述语言标准。该标准于2001年9月28日发布,由IEEE计算机协会的设计自动化标准委员会赞助。该标准的全称为IEEE Std 1364-2001(Revision of IEEE Std 1364-1995),它是对1995年版本的IEEE Std 1364进行修订而成。Verilog是一种硬件描述语言,可用于对数字电路进行建模、仿真和验证,是学习FPGA(现场可编程门阵列)的重要工具。
IEEE Verilog 2001的发行由IEEE所承办,位于纽约市第三公园大道3号,邮编10016-5997,美国。该标准的打印版本编号为SH94921,PDF版本编号为SS94921。该标准版权所有权归IEEE所有,旨在规范Verilog硬件描述语言的使用,以促进其在数字电路设计领域的应用。
Verilog是一种源自C语言的硬件描述语言,其结构和语法类似于C语言,使得它易于学习和使用。Verilog的最新版本就是由IEEE发布的Verilog 2001标准。该标准提供了用于描述数字电路的语言结构和语法规范,包括模块、端口、信号、数据类型等的定义和使用方式,能够满足各种数字电路建模和仿真的需求。
学习FPGA需要对数字电路设计有深入的理解,而Verilog语言的掌握对于数字电路的设计和仿真至关重要。Verilog的灵活性和强大的表达能力使得它成为了FPGA设计领域的重要工具,能够帮助工程师们更好地进行数字系统的设计和验证。因此,IEEE Verilog 2001的发布对于学习FPGA、数字电路设计和硬件描述语言的应用都具有重要的意义。
综上所述,IEEE Verilog 2001是对硬件描述语言Verilog进行了规范和修订的IEEE标准,其发布对于数字电路设计和FPGA学习具有重要的帮助作用。该标准的推出,标志着Verilog作为一种重要的硬件描述语言得到了更加全面和系统的规范和标准化,对于推动数字电路设计领域的发展具有积极的促进作用。
Copyright © 2001 IEEE. All rights reserved. xv
15.3.4 $width ....................................................................................................................... 255
15.3.5 $period ...................................................................................................................... 256
15.3.6 $nochange ................................................................................................................. 257
15.4 Edge-control specifiers .......................................................................................................... 258
15.5 Notifiers: user-defined responses to timing violations .......................................................... 260
15.5.1 Requirements for accurate simulation ...................................................................... 262
15.5.2 Conditions in negative timing checks....................................................................... 264
15.5.3 Notifiers in negative timing checks .......................................................................... 266
15.5.4 Option behavior ........................................................................................................ 266
15.6 Enabling timing checks with conditioned events................................................................... 266
15.7 Vector signals in timing checks............................................................................................. 267
15.8 Negative timing checks.......................................................................................................... 268
16. Backannotation using the Standard Delay Format (SDF)................................................................ 270
16.1 The SDF annotator................................................................................................................. 270
16.2 Mapping of SDF constructs to Verilog.................................................................................. 270
16.2.1 Mapping of SDF delay constructs to Verilog declarations....................................... 270
16.2.2 Mapping of SDF timing check constructs to Verilog............................................... 272
16.2.3 SDF annotation of specparams ................................................................................. 273
16.2.4 SDF annotation of interconnect delays..................................................................... 274
16.3 Multiple annotations .............................................................................................................. 275
16.4 Multiple SDF files ................................................................................................................. 276
16.5 Pulse limit annotation ............................................................................................................ 276
16.6 SDF to Verilog delay value mapping..................................................................................... 277
17. System tasks and functions.............................................................................................................. 278
17.1 Display system tasks.............................................................................................................. 278
17.1.1 The display and write tasks....................................................................................... 279
17.1.2 Strobed monitoring ................................................................................................... 286
17.1.3 Continuous monitoring ............................................................................................. 287
17.2 File input-output system tasks and functions......................................................................... 287
17.2.1 Opening and closing files.......................................................................................... 287
17.2.2 File output system tasks............................................................................................ 289
17.2.3 Formatting data to a string........................................................................................ 290
17.2.4 Reading data from a file............................................................................................ 291
17.2.5 File positioning ......................................................................................................... 295
17.2.6 Flushing output ......................................................................................................... 295
17.2.7 I/O error status .......................................................................................................... 295
17.2.8 Loading memory data from a file ............................................................................. 296
17.2.9 Loading timing data from an SDF file...................................................................... 297
17.3 Timescale system tasks.......................................................................................................... 298
17.3.1 $printtimescale.......................................................................................................... 298
17.3.2 $timeformat............................................................................................................... 299
17.4 Simulation control system tasks ............................................................................................ 302
17.4.1 $finish ....................................................................................................................... 302
17.4.2 $stop.......................................................................................................................... 302
17.5 PLA modeling system tasks................................................................................................... 303
17.5.1 Array types................................................................................................................ 303
17.5.2 Array logic types....................................................................................................... 304
17.5.3 Logic array personality declaration and loading....................................................... 304
17.5.4 Logic array personality formats................................................................................ 304
xvi Copyright © 2001 IEEE. All rights reserved.
17.6 Stochastic analysis tasks ........................................................................................................ 307
17.6.1 $q_initialize............................................................................................................... 307
17.6.2 $q_add....................................................................................................................... 308
17.6.3 $q_remove................................................................................................................. 308
17.6.4 $q_full....................................................................................................................... 308
17.6.5 $q_exam.................................................................................................................... 308
17.6.6 Status codes............................................................................................................... 309
17.7 Simulation time system functions.......................................................................................... 309
17.7.1 $time ......................................................................................................................... 309
17.7.2 $stime........................................................................................................................ 310
17.7.3 $realtime ................................................................................................................... 310
17.8 Conversion functions ............................................................................................................. 311
17.9 Probabilistic distribution functions........................................................................................ 312
17.9.1 $random function...................................................................................................... 312
17.9.2 $dist_ functions......................................................................................................... 313
17.9.3 Algorithm for probabilistic distribution functions.................................................... 314
17.10 Command line input............................................................................................................... 321
17.10.1 $test$plusargs (string)............................................................................................... 322
17.10.2 $value$plusargs (user_string, variable) .................................................................... 322
18. Value change dump (VCD) files...................................................................................................... 325
18.1 Creating the four state value change dump file ..................................................................... 325
18.1.1 Specifying the name of the dump file ($dumpfile)................................................... 325
18.1.2 Specifying the variables to be dumped ($dumpvars)................................................ 326
18.1.3 Stopping and resuming the dump ($dumpoff/$dumpon).......................................... 327
18.1.4 Generating a checkpoint ($dumpall)......................................................................... 328
18.1.5 Limiting the size of the dump file ($dumplimit) ...................................................... 328
18.1.6 Reading the dump file during simulation ($dumpflush)........................................... 329
18.2 Format of the four state VCD file.......................................................................................... 330
18.2.1 Syntax of the four state VCD file ............................................................................. 330
18.2.2 Formats of variable values........................................................................................ 332
18.2.3 Description of keyword commands .......................................................................... 333
18.2.4 Four state VCD file format example......................................................................... 339
18.3 Creating the extended value change dump file...................................................................... 340
18.3.1 Specifying the dumpfile name and the ports to be dumped ($dumpports)............... 340
18.3.2 Stopping and resuming the dump ($dumpportsoff/$dumpportson).......................... 341
18.3.3 Generating a checkpoint ($dumpportsall)................................................................. 342
18.3.4 Limiting the size of the dump file ($dumpportslimit) .............................................. 342
18.3.5 Reading the dump file during simulation ($dumpportsflush)................................... 343
18.3.6 Description of keyword commands .......................................................................... 343
18.3.7 General rules for extended VCD system tasks ......................................................... 344
18.4 Format of the extended VCD file........................................................................................... 344
18.4.1 Syntax of the extended VCD file.............................................................................. 344
18.4.2 Extended VCD node information ............................................................................. 346
18.4.3 Value changes........................................................................................................... 348
18.4.4 Extended VCD file format example ......................................................................... 349
19. Compiler directives.......................................................................................................................... 351
19.1 `celldefine and `endcelldefine................................................................................................ 351
19.2 `default_nettype ..................................................................................................................... 351
Copyright © 2001 IEEE. All rights reserved. xvii
19.3 `define and `undef.................................................................................................................. 352
19.3.1 `define ....................................................................................................................... 352
19.3.2 `undef........................................................................................................................ 354
19.4 `ifdef, `else, `elsif, `endif, `ifndef .......................................................................................... 354
19.5 `include .................................................................................................................................. 358
19.6 `resetall................................................................................................................................... 358
19.7 `line ........................................................................................................................................ 358
19.8 `timescale............................................................................................................................... 359
19.9 `unconnected_drive and `nounconnected_drive .................................................................... 361
20. PLI overview.................................................................................................................................... 362
20.1 PLI purpose and history (informative)................................................................................... 362
20.2 User-defined system task or function names ......................................................................... 362
20.3 User-defined system task or function types........................................................................... 363
20.4 Overriding built-in system task and function names ............................................................. 363
20.5 User-supplied PLI applications.............................................................................................. 363
20.6 PLI interface mechanism ....................................................................................................... 363
20.7 User-defined system task and function arguments ................................................................ 364
20.8 PLI include files..................................................................................................................... 364
20.9 PLI Memory Restrictions....................................................................................................... 364
21. PLI TF and ACC interface mechanism............................................................................................ 365
21.1 User-supplied PLI applications.............................................................................................. 365
21.1.1 The sizetf class of PLI applications .......................................................................... 365
21.1.2 The checktf class of PLI applications....................................................................... 365
21.1.3 The calltf class of PLI applications........................................................................... 366
21.1.4 The misctf class of PLI applications......................................................................... 366
21.1.5 The consumer class of PLI applications ................................................................... 366
21.2 Associating PLI applications to a class and system task/function name ............................... 366
21.3 PLI application arguments..................................................................................................... 367
21.3.1 The data C argument................................................................................................. 367
21.3.2 The reason C argument............................................................................................. 367
21.3.3 The paramvc C argument.......................................................................................... 368
22. Using ACC routines......................................................................................................................... 369
22.1 ACC routine definition .......................................................................................................... 369
22.2 The handle data type.............................................................................................................. 369
22.3 Using ACC routines............................................................................................................... 370
22.3.1 Header files............................................................................................................... 370
22.3.2 Initializing ACC routines.......................................................................................... 370
22.3.3 Exiting ACC routines................................................................................................ 370
22.4 List of ACC routines by major category................................................................................ 370
22.4.1 Fetch routines............................................................................................................ 371
22.4.2 Handle routines......................................................................................................... 372
22.4.3 Next routines............................................................................................................. 373
22.4.4 Modify routines......................................................................................................... 375
22.4.5 Miscellaneous routines.............................................................................................. 375
22.4.6 VCL routines............................................................................................................. 376
22.5 Accessible objects.................................................................................................................. 376
22.5.1 ACC routines that operate on module instances ...................................................... 378
22.5.2 ACC routines that operate on module ports ............................................................. 378
xviii Copyright © 2001 IEEE. All rights reserved.
22.5.3 ACC routines that operate on bits of a port ............................................................. 379
22.5.4 ACC routines that operate on module paths or data paths ....................................... 379
22.5.5 ACC routines that operate on intermodule paths ..................................................... 380
22.5.6 ACC routines that operate on top-level modules...................................................... 380
22.5.7 ACC routines that operate on primitive instances .................................................... 380
22.5.8 ACC routines that operate on primitive terminals.................................................... 381
22.5.9 ACC routines that operate on nets ............................................................................ 381
22.5.10 ACC routines that operate on reg types.................................................................... 382
22.5.11 ACC routines that operate on integer, real, and time variables ................................ 382
22.5.12 ACC routines that operate on named events............................................................. 382
22.5.13 ACC routines that operate on parameters and specparams....................................... 383
22.5.14 ACC routines that operate on timing checks ............................................................ 383
22.5.15 ACC routines that operate on timing check terminals.............................................. 383
22.5.16 ACC routines that operate on user-defined system task/function arguments........... 384
22.6 ACC routine types and fulltypes............................................................................................ 384
22.7 Error handling........................................................................................................................ 387
22.7.1 Suppressing error messages...................................................................................... 388
22.7.2 Enabling warnings .................................................................................................... 388
22.7.3 Testing for errors....................................................................................................... 388
22.7.4 Example .................................................................................................................... 388
22.7.5 Exception values....................................................................................................... 389
22.8 Reading and writing delay values.......................................................................................... 389
22.8.1 Number of delays for Verilog HDL objects ............................................................. 390
22.8.2 ACC routine configuration ....................................................................................... 390
22.8.3 Determining the number of arguments for ACC delay routines............................... 391
22.9 String handling....................................................................................................................... 395
22.9.1 ACC routines share an internal string buffer............................................................ 395
22.9.2 String buffer reset ..................................................................................................... 396
22.9.3 Preserving string values............................................................................................ 397
22.9.4 Example of preserving string values......................................................................... 397
22.10 Using VCL ACC routines...................................................................................................... 397
22.10.1 VCL objects .............................................................................................................. 398
22.10.2 The VCL record definition........................................................................................ 398
22.10.3 Effects of acc_initialize() and acc_close() on VCL consumer routines ................... 401
22.10.4 An example of using VCL ACC routines................................................................. 401
23. ACC routine definitions................................................................................................................... 404
24. Using TF routines ............................................................................................................................ 579
24.1 TF routine definition.............................................................................................................. 579
24.2 TF routine system task/function arguments........................................................................... 579
24.3 Reading and writing system task/function argument values.................................................. 579
24.3.1 Reading and writing 2-state parameter argument values.......................................... 579
24.3.2 Reading and writing 4-state values........................................................................... 579
24.3.3 Reading and writing strength values......................................................................... 580
24.3.4 Reading and writing to memories............................................................................. 580
24.3.5 Reading and writing string values............................................................................. 580
24.3.6 Writing return values of user-defined functions....................................................... 580
24.3.7 Writing the correct C data types ............................................................................... 580
24.4 Value change detection.......................................................................................................... 581
24.5 Simulation time...................................................................................................................... 581
24.6 Simulation synchronization ................................................................................................... 581
24.7 Instances of user-defined tasks or functions.......................................................................... 582
Copyright © 2001 IEEE. All rights reserved. xix
24.8 Module and scope instance names......................................................................................... 582
24.9 Saving information from one system TF call to the next....................................................... 582
24.10 Displaying output messages................................................................................................... 582
24.11 Stopping and finishing........................................................................................................... 582
25. TF routine definitions ...................................................................................................................... 583
26. Using VPI routines........................................................................................................................... 659
26.1 VPI system tasks and functions ............................................................................................. 659
26.2 The VPI interface................................................................................................................... 659
26.2.1 VPI callbacks ............................................................................................................ 659
26.2.2 VPI access to Verilog HDL objects and simulation objects..................................... 660
26.2.3 Error handling........................................................................................................... 660
26.2.4 Function availability ................................................................................................. 660
26.2.5 Traversing expressions.............................................................................................. 660
26.3 VPI object classifications....................................................................................................... 661
26.3.1 Accessing object relationships and properties.......................................................... 662
26.3.2 Object type properties............................................................................................... 663
26.3.3 Object file and line properties................................................................................... 663
26.3.4 Delays and values ..................................................................................................... 664
26.4 List of VPI routines by functional category........................................................................... 664
26.5 Key to data model diagrams .................................................................................................. 666
26.5.1 Diagram key for objects and classes ........................................................................ 667
26.5.2 Diagram key for accessing properties....................................................................... 667
26.5.3 Diagram key for traversing relationships ................................................................. 668
26.6 Object data model diagrams................................................................................................... 669
27. VPI routine definitions..................................................................................................................... 700
Annex A (normative) Formal syntax definition........................................................................................... 761
A.1 Source text ............................................................................................................................... 761
A.1.1 Library source text ........................................................................................................ 761
A.1.2 Configuration source text.............................................................................................. 761
A.1.3 Module and primitive source text ................................................................................. 762
A.1.4 Module parameters and ports........................................................................................ 762
A.1.5 Module items................................................................................................................. 762
A.2 Declarations ............................................................................................................................. 763
A.2.1 Declaration types........................................................................................................... 763
A.2.2 Declaration data types................................................................................................... 765
A.2.3 Declaration lists............................................................................................................. 765
A.2.4 Declaration assignments ............................................................................................... 766
A.2.5 Declaration ranges......................................................................................................... 766
A.2.6 Function declarations .................................................................................................... 766
A.2.7 Task declarations........................................................................................................... 766
A.2.8 Block item declarations................................................................................................. 767
A.3 Primitive instances................................................................................................................... 768
A.3.1 Primitive instantiation and instances............................................................................. 768
A.3.2 Primitive strengths ........................................................................................................ 768
A.3.3 Primitive terminals........................................................................................................ 769
A.3.4 Primitive gate and switch types .................................................................................... 769
剩余878页未读,继续阅读
232 浏览量
376 浏览量
186 浏览量
2018-11-27 上传
1145 浏览量
weixiongyang
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高质量c++ c编程指南
- WPF技术白皮书 下一代互联网主流开发技术
- 整合Flex和Java--配置篇.pdf
- unix 编程艺术指导
- 词法分析器的设计与实现
- TD7.6管理员指南
- ACE Programming Guide
- 手机游戏门户网站建设方案
- 搜索引擎技术手工索引
- 衡水信息港投资计划书 网站建设方案
- 地方门户网站策划书(转载)
- [计算机科学经典著作].SAMS.-.Tricks.Of.The.Windows.Game.Programming.Gurus.-.Fundamentals.Of.2D.And.3D.Game.Programming.[eMule.ppcn.net].pdf
- Embedded_Linux_on_ARM.pdf
- SQL语言艺术(英文版)
- Windows File Systems _FAT16, FAT32, NTFS_.pdf
- C Programming Language 2nd Edition(K & R).pdf
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功