没有合适的资源?快使用搜索试试~ 我知道了~
首页IEEE 1364 Verilog硬件描述语言标准:FPGA与ASIC设计必备
Verilog硬件描述语言(Hardware Description Language, HDL)是电子设计自动化(Electronic Design Automation, EDA)领域中的一种高级编程语言,主要用于描述数字系统的设计,包括FPGA(Field-Programmable Gate Array)和ASIC(Application-Specific Integrated Circuit)的设计流程。IEEE 1364是Verilog语言的官方标准,由国际电工委员会(International Electrotechnical Commission, IEC)制定,并在2004年发布了第一版IEC 61691-4,这标志着Verilog语言的成熟和规范化。
IEEE 1364-2004版涵盖了Verilog语言的核心特性,如模块化设计、数据流描述、事件驱动的行为建模、并行性和并发性处理等,这些特性使得设计师能够以更抽象和灵活的方式描述电路行为。它定义了语言的语法规则、数据类型、操作符、流程控制结构以及接口描述,为开发者提供了一套全面的设计工具,以便在硬件设计过程中进行逻辑描述、仿真和验证。
对于FPGA开发人员来说,熟悉IEEE 1364标准至关重要,因为它确保了设计的可移植性和一致性。通过遵循标准,开发者可以在不同的FPGA平台之间重用代码,减少了设计时间和成本。同时,标准还规定了编译器、模拟器和综合器的接口规范,使得软件工具能够准确地理解和处理Verilog代码。
而在ASIC设计中,由于其一次性编程的特性,Verilog被广泛用于设计和验证复杂的逻辑功能。标准的遵循有助于提高设计质量,避免潜在的硬件冲突和兼容性问题。此外,随着硬件描述语言的不断发展,IEEE 1364也在不断更新以适应新的技术趋势,如System Verilog和Verilog-A的集成,以及与SystemC的互操作性。
IEEE 1364标准是现代电子设计的重要支柱,它不仅定义了Verilog语言的规则,还推动了整个电子设计行业向着更高效、可复用和标准化的方向发展。对于从事FPGA或ASIC设计的专业人士而言,深入理解并熟练运用Verilog及其相关标准是必不可少的技能。同时,持续关注IEEE 1364的最新版本和修订,以跟上技术变迁,保持设计能力的领先地位。
Copyright © 2001 IEEE. All rights reserved.
xix
25.5 tf_asynchoff(), tf_iasynchoff()................................................................................................612
25.6 tf_asynchon(), tf_iasynchon().................................................................................................613
25.7 tf_clearalldelays(), tf_iclearalldelays()...................................................................................614
25.8 tf_compare_long()...................................................................................................................615
25.9 tf_copypvc_.ag(), tf_ico pypvc_.ag( )....................................................................................616
25.10 tf_divide_long().....................................................................................................................617
25.11 tf_do.nish()............................................................................................................ ................618
25.12 tf_dostop()..............................................................................................................................619
25.13 tf_error().................................................................................................................................620
25.14 tf_evaluatep(), tf_ievaluatep()................................................................................................621
25.15 tf_exprinfo(), tf_iexprinfo()...................................................................................................622
25.16 tf_getcstringp(), tf_igetcstringp()...........................................................................................625
25.17 tf_getinstance()......................................................................................................................626
25.18 tf_getlongp(), tf_igetlongp()..................................................................................................627
25.19 tf_getlongtime(), tf_igetlongtime()........................................................................................628
25.20 tf_getnextlongtime()..............................................................................................................629
25.21 tf_getp(), tf_igetp()................................................................................................................630
25.22 tf_getpchange(), tf_igetpchange()..........................................................................................631
25.23 tf_getrealp(), tf_igetrealp()....................................................................................................632
25.24 tf_getrealtime(), tf_igetrealtime()..........................................................................................633
25.25 tf_gettime(), tf_igettime()......................................................................................................634
25.26 tf_gettimeprecision(), tf_igettimeprecision().........................................................................635
25.27 tf_gettimeunit(), tf_igettimeunit()..........................................................................................636
25.28 tf_getworkarea(), tf_igetworkarea().......................................................................................637
25.29 tf_long_to_real()....................................................................................................................638
25.30 tf_longtime_tostr().................................................................................................................639
25.31 tf_message()...........................................................................................................................640
25.32 tf_mipname(), tf_imipname()................................................................................................642
25.33 tf_movepvc_.ag(), tf_im ovepvc_.ag( ).................................................................................643
25.34 tf_multiply_long()..................................................................................................................644
25.35 tf_nodeinfo(), tf_inodeinfo()..................................................................................................645
25.36 tf_nump(), tf_inump()............................................................................................................649
25.37 tf_propagatep(), tf_ipropagatep()...........................................................................................650
25.38 tf_putlongp(), tf_iputlongp()..................................................................................................651
25.39 tf_putp(), tf_iputp()................................................................................................................652
25.40 tf_putrealp(), tf_iputrealp()....................................................................................................653
25.41 tf_read_restart()......................................................................................................................654
25.42 tf_real_to_long()....................................................................................................................655
25.43 tf_rosynchronize(), tf_irosynchronize().................................................................................656
25.44 tf_scale_longdelay()...............................................................................................................657
25.45 tf_scale_realdelay()................................................................................................................658
25.46 tf_setdelay(), tf_isetdelay()....................................................................................................659
25.47 tf_setlongdelay(), tf_isetlongdelay()......................................................................................660
25.48 tf_setrealdelay(), tf_isetrealdelay()........................................................................................661
25.49 tf_setworkarea(), tf_isetworkarea()........................................................................................662
25.50 tf_sizep(), tf_isizep()..............................................................................................................663
25.51 tf_spname(), tf_ispname()......................................................................................................664
25.52 tf_strdelputp(), tf_istrdelputp()..............................................................................................665
25.53 tf_strgetp(), tf_istrgetp().........................................................................................................667
25.54 tf_strgettime()........................................................................................................................668
25.55 tf_strlongdelputp(), tf_istrlongdelputp()................................................................................669
25.56 tf_strrealdelputp(), tf_istrrealdelputp()..................................................................................671
25.57 tf_subtract_long()...................................................................................................................673
25.58 tf_synchronize(), tf_isynchronize()........................................................................................675
14
Published by IEC under licence from IEEE. © 2004 IEEE. All rights reserved.
IEC 61691-4:2004(E)
IEEE 1364-2001(E)
xx
Copyright © 2001 IEEE. All rights reserved.
25.59 tf_testpvc_.ag(), tf_itestpvc_.ag( )........................................................................................676
25.60 tf_text()..................................................................................................................................677
25.61 tf_typep(), tf_itypep()............................................................................................................678
25.62 tf_unscale_longdelay()...........................................................................................................679
25.63 tf_unscale_realdelay()............................................................................................................680
25.64 tf_warning()...........................................................................................................................681
25.65 tf_write_save().......................................................................................................................682
26.Using VPI routines...........................................................................................................................683
26.1 VPI system tasks and functions..............................................................................................683
26.2 The VPI interface....................................................................................................................683
26.2.1VPI callbacks...............................................................................................................683
26.2.2VPI access to Verilog HDL objects and simulation objects........................................684
26.2.3Error handling.............................................................................................................. 684
26.2.4Function availability....................................................................................................684
26.2.5Traversing expressions.................................................................................................684
26.3 VPI object classifications........................................................................................................685
26.3.1Accessing object relationships and properties.............................................................686
26.3.2Object type properties..................................................................................................687
26.3.3Object file and line properties......................................................................................687
26.3.4Delays and values........................................................................................................688
26.4 List of VPI routines by functional category............................................................................688
26.5 Key to data model diagrams...................................................................................................690
26.5.1Diagram key for objects and classes ...........................................................................691
26.5.2Diagram key for accessing properties..........................................................................691
26.5.3Diagram key for traversing relationships ....................................................................692
26.6 Object data model diagrams....................................................................................................693
26.6.1Module ........................................................................................................................694
26.6.2Instance arrays.............................................................................................................695
26.6.3Scope ...........................................................................................................................696
26.6.4IO declaration .............................................................................................................696
26.6.5Ports ............................................................................................................................697
26.6.6Nets and net arrays.......................................................................................................698
26.6.7Regs and reg arrays......................................................................................................700
26.6.8IO declaration .............................................................................................................702
26.6.9Memory .......................................................................................................................703
26.6.10 IO declaration ...........................................................................................................704
26.6.11 Named event ............................................................................................................704
26.6.12 Parameter, specparam................................................................................................ 705
26.6.13 Primitive, prim term...................................................................................................706
26.6.14 UDP............................................................................................................................ 707
26.6.15 Model path, path term................................................................................................708
26.6.16 Intermodule path .......................................................................................................708
26.6.17 Timing check.............................................................................................................709
26.6.18 Task, function declaration ........................................................................................709
26.6.19 Task and function call................................................................................................710
26.6.20 Frames........................................................................................................................711
26.6.21 Delay terminals..........................................................................................................712
26.6.22 Net drivers and loads ................................................................................................712
26.6.23 Reg drivers and loads ................................................................................................712
26.6.24 Continuous assignment..............................................................................................713
26.6.25 Simple expressions.....................................................................................................714
26.6.26 Expressions................................................................................................................715
15
Published by IEC under licence from IEEE. © 2004 IEEE. All rights reserved.
IEC 61691-4:2004(E)
IEEE 1364-2001(E)
Copyright © 2001 IEEE. All rights reserved.
xxi
26.6.27 Process, block, statement, event statement................................................................716
26.6.28 Assignment................................................................................................................717
26.6.29 Delay control .............................................................................................................717
26.6.30 Event control .............................................................................................................717
26.6.31 Repeat control ...........................................................................................................717
26.6.32 While, repeat, wait.....................................................................................................718
26.6.33 For .............................................................................................................................718
26.6.34 Forever ......................................................................................................................718
26.6.35 If, if-else.....................................................................................................................719
26.6.36 Case ...........................................................................................................................719
26.6.37 Assign statement, deassign, force, release.................................................................720
26.6.38 Disable ......................................................................................................................720
26.6.39 Callback.....................................................................................................................721
26.6.40 Time queue ................................................................................................................721
26.6.41 Active time format ....................................................................................................721
26.6.42 Attributes....................................................................................................................722
26.6.43 Iterator........................................................................................................................723
27.VPI routine definitions.....................................................................................................................724
27.1 vpi_chk_error().......................................................................................................................725
27.2 vpi_compare_objects()............................................................................................................726
27.3 vpi_control()...........................................................................................................................727
27.4 vpi_flush()...............................................................................................................................728
27.5 vpi_free_object().....................................................................................................................729
27.6 vpi_get()..................................................................................................................................730
27.7 vpi_get_cb_info()....................................................................................................................731
27.8 vpi_get_data().........................................................................................................................732
27.9 vpi_get_delays()......................................................................................................................734
27.10 vpi_get_str()...........................................................................................................................737
27.11 vpi_get_systf_info()...............................................................................................................738
27.12 vpi_get_time()........................................................................................................................739
27.13 vpi_get_userdata()..................................................................................................................740
27.14 vpi_get_value()......................................................................................................................741
27.15 vpi_get_vlog_info()...............................................................................................................747
27.16 vpi_handle()...........................................................................................................................748
27.17 vpi_handle_by_index()..........................................................................................................749
27.18 vpi_handle_by_multi_index()................................................................................................750
27.19 vpi_handle_by_name()..........................................................................................................751
27.20 vpi_handle_multi().................................................................................................................752
27.21 vpi_iterate()............................................................................................................................753
27.22 vpi_mcd_close().....................................................................................................................754
27.23 vpi_mcd_flush().....................................................................................................................755
27.24 vpi_mcd_name()....................................................................................................................756
27.25 vpi_mcd_open().....................................................................................................................757
27.26 vpi_mcd_printf()....................................................................................................................758
27.27 vpi_mcd_vprintf()..................................................................................................................759
27.28 vpi_printf().............................................................................................................................760
27.29 vpi_put_data()........................................................................................................................761
27.30 vpi_put_delays()....................................................................................................................763
27.31 vpi_put_userdata().................................................................................................................766
27.32 vpi_put_value()......................................................................................................................767
27.33 vpi_register_cb()....................................................................................................................770
27.33.1 Simulation-event-related callbacks.............................................................................771
16
Published by IEC under licence from IEEE. © 2004 IEEE. All rights reserved.
IEC 61691-4:2004(E)
IEEE 1364-2001(E)
xxii
Copyright © 2001 IEEE. All rights reserved.
27.33.2 Simulation-time-related callbacks..............................................................................774
27.33.3 Simulator action and feature related callbacks...........................................................775
27.34 vpi_register_systf()................................................................................................................778
27.34.1 System task and function callbacks............................................................................779
27.34.2 Initializing VPI system task/function callbacks..........................................................780
27.34.3 Registering multiple system tasks and functions........................................................781
27.35 vpi_remove_cb()....................................................................................................................782
27.36 vpi_scan()...............................................................................................................................783
27.37 vpi_vprintf()...........................................................................................................................784
Annex A (normative) Formal syntax definition...........................................................................................785
A.1Source text.......................................................................................................................785
A.1.1 Library source text.................................................................................................785
A.1.2 Configuration source text.......................................................................................785
A.1.3 Module and primitive source text..........................................................................786
A.1.4 Module parameters and ports.................................................................................786
A.1.5 Module items..........................................................................................................786
A.2Declarations.....................................................................................................................787
A.2.1 Declaration types....................................................................................................787
A.2.2 Declaration data types............................................................................................789
A.2.3 Declaration lists......................................................................................................789
A.2.4 Declaration assignments........................................................................................790
A.2.5 Declaration ranges..................................................................................................790
A.2.6 Function declarations.............................................................................................790
A.2.7 Task declarations....................................................................................................790
A.2.8 Block item declarations..........................................................................................791
A.3Primitive instances...........................................................................................................792
A.3.1 Primitive instantiation and instances......................................................................792
A.3.2 Primitive strengths................................................................................................. 792
A.3.3 Primitive terminals.................................................................................................793
A.3.4 Primitive gate and switch types.............................................................................793
A.4Module and generated instantiation.................................................................................793
A.4.1 Module instantiation..............................................................................................793
A.4.2 Generated instantiation..........................................................................................793
A.5UDP declaration and instantiation...................................................................................794
A.5.1 UDP declaration.....................................................................................................794
A.5.2 UDP ports...............................................................................................................794
A.5.3 UDP body...............................................................................................................795
A.5.4 UDP instantiation...................................................................................................795
A.6Behavioral statements......................................................................................................795
A.6.1 Continuous assignment statements........................................................................795
A.6.2 Procedural blocks and assignments........................................................................795
A.6.3 Parallel and sequential blocks................................................................................796
A.6.4 Statements..............................................................................................................796
A.6.5 Timing control statements......................................................................................796
A.6.6 Conditional statements...........................................................................................797
A.6.7 Case statements......................................................................................................798
A.6.8 Looping statements................................................................................................798
A.6.9 Task enable statements...........................................................................................798
A.7Specify section.................................................................................................................798
A.7.1 Specify block declaration.......................................................................................798
A.7.2 Specify path declarations.......................................................................................799
A.7.3 Specify block terminals..........................................................................................799
17
Published by IEC under licence from IEEE. © 2004 IEEE. All rights reserved.
IEC 61691-4:2004(E)
IEEE 1364-2001(E)
A.7.4 Specify path delays................................................................................................7
95
A.7.5 System timing checks.............................................................................................801
A.8Expressions......................................................................................................................
803
A.8.1 Concatenations.......................................................................................................
803
A.8.2 Function calls.........................................................................................................
803
A.8.3 Expressions............................................................................................................
804
A.8.4 Primaries................................................................................................................805
A.8.5 Expression left-side values.....................................................................................
805
A.8.6 Operators................................................................................................................
806
A.8.7 Numbers.................................................................................................................806
A.8.8 Strings....................................................................................................................
807
A.9General.............................................................................................................................807
A.9.1 Attributes................................................................................................................
807
A.9.2 Comments..............................................................................................................
807
A.9.3 Identifiers..............................................................................................................
. 807
A.9.4 Identifier branches..................................................................................................
808
A.9.5 White space............................................................................................................
809
Annex B (normative) List of keywords.......................................................................................................
810
Annex C (informative) System tasks and functions....................................................................................
812
C.1$countdrivers....................................................................................................................
812
C.2$getpattern........................................................................................................................
813
C.3$input...............................................................................................................................
814
C.4$key and $nokey..............................................................................................................
814
C.5$list...................................................................................................................................
815
C.6$log and $nolog................................................................................................................
815
C.7$reset, $reset_count, and $reset_value.............................................................................
815
C.8$save, $restart, and $incsave............................................................................................
816
C.9$scale................................................................................................................................
817
C.10$scope..............................................................................................................................
817
C.11$showscopes....................................................................................................................
817
C.12$showvars........................................................................................................................
818
C.13$sreadmemb and $sreadmemh.........................................................................................
818
Annex D (informative) Compiler directives................................................................................................
819
D.1`default_decay_time.........................................................................................................
819
D.2`default_trireg_strength....................................................................................................
819
D.3`delay_mode_distributed..................................................................................................
820
D.4`delay_mode_path............................................................................................................
820
D.5`delay_mode_unit............................................................................................................
820
D.6`delay_mode_zero............................................................................................................
820
Annex E (normative) acc_user.h..................................................................................................................821
Annex I (informative) List of Participants................................................................................................... 853
18
Published by IEC under licence from IEEE. © 2004 IEEE. All rights reserved.
IEC 61691-4:2004(E)
IEEE 1364-2001(E)
Annex F (normative) veriuser.h................................................................................................................... 830
Annex G (normative) vpi_user.h................................................................................................................. 838
Annex H (informative) Bibliography........................................................................................................... 852
剩余861页未读,继续阅读
143 浏览量
953 浏览量
672 浏览量
2024-11-16 上传
2023-04-05 上传
209 浏览量
102 浏览量
2024-11-20 上传
2024-10-27 上传
pkwdpkwd
- 粉丝: 4
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- webwork2guide.pdf
- 身份认证技术分析(论文)
- birt报表参数使用
- 高质量的c++c编程指南
- Flex 3 Cookbook
- BCM5228 10/100BASE-TX/FX Transceiver
- ActionScript 3.0 Cookbook 中文版
- The International Reference Alphabet
- 你必须知道的495个C语言问题(内含完整章节,PDF格式)
- SQL Server 使用方法
- 清华大学信号与系统课件
- lingoziliao
- Advanced 3D Game Programming With Directx 9.0.pdf
- C程序设计 谭浩强 清华大学出版社
- eclipse插件开发指南
- javaeye月刊2008年6月 总第4期.pdf
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功