正在加载图片...
第章 Verilog语言要素 15 自由格式的,即结构可以跨越多行编写,也可以在一行内编写。白空(新行、制表符和空格) 没有特殊意义。下面通过实例解释说明 initial begin Top =3b00l; #2 Top =3 boil; end 和下面的指令一样 Top=3’b001; 3b011 34系统任务和函数 以$字符开始的标识符表示系统任务或系统函数。任务提供了一种封装行为的机制。这种 机制可在设计的不同部分被调用。任务可以返回0个或多个值。函数除只能返回一个值以外与 任务相同。此外,函数在0时刻执行,即不允许延迟,而任务可以带有延迟。 Display ("Hi, you have reached LT today") /*$ display系统任务在新的一行中显示。*/ /该系统任务返回当前的模拟时间 系统任务和系统函数在第10章中详细讲觚 3.5编译指令 以ˆ(反引号)开始的某些标识符是编译器指令。在Ⅴ erilog语言编译时,特定的编译器指 令在整个编译过程中有效(编译过程可跨越多个文件),直到遇到其它的不同编译程序指令 完整的标准编译器指令如下 define, undef ifdefrelse, endif default neotype · include resetall drive connected drive celldefine, endcelldefine 3.5.1 define和 undef define指令用于文本替换,它很像C语言中的# define指令,如: define MAX BUs size reg MAX BUS SIZE -1:0 ] AddReg 旦 de fine指令被编译,其在整个编译过程中都有效。例如,通过另一个文件中的 define指令, MAX BUS_S/ZE能被多个文件使用 undef指令取消前面定义的宏。例如 define WORD16//建立一个文本宏替代 wire[ WORD 1] Bus第3章 Verilog 语言要素 15 下载 自由格式的,即结构可以跨越多行编写,也可以在一行内编写。白空(新行、制表符和空格) 没有特殊意义。下面通过实例解释说明。 initial begin T o p = 3' b001; #2 T o p = 3' b011; e n d 和下面的指令一样: i n i t i a l begin T o p = 3' b001; #2 T o p = 3' b 0 1 1 ; e n d 3.4 系统任务和函数 以$字符开始的标识符表示系统任务或系统函数。任务提供了一种封装行为的机制。这种 机制可在设计的不同部分被调用。任务可以返回 0个或多个值。函数除只能返回一个值以外与 任务相同。此外,函数在0时刻执行,即不允许延迟,而任务可以带有延迟。 $d i s p l a y ("Hi, you have reached LT today"); /* $d i s p l a y 系统任务在新的一行中显示。* / $t i m e / /该系统任务返回当前的模拟时间。 系统任务和系统函数在第1 0章中详细讲解。 3.5 编译指令 以`(反引号)开始的某些标识符是编译器指令。在 Verilog 语言编译时,特定的编译器指 令在整个编译过程中有效(编译过程可跨越多个文件),直到遇到其它的不同编译程序指令。 完整的标准编译器指令如下 : • `define, `undef • `ifdef, `else, `endif • `default_nettype • `include • `resetall • `timescale • `unconnected_drive, `nounconnected_drive • `celldefine, `endcelldefine 3.5.1 `define 和`undef ` d e f i n e指令用于文本替换,它很像 C语言中的#define 指令,如: ` d e f i n e M A X _ B U S _ S I Z E 3 2 . . . r e g [ `M A X _ B U S _ S I Z E - 1:0 ] A d d R e g; 一旦 ` d e f i n e 指令被编译,其在整个编译过程中都有效。例如,通过另一个文件中的 ` d e f i n e指令,M A X_B U S_S I Z E 能被多个文件使用。 `undef 指令取消前面定义的宏。例如 : ` d e f i n e W O R D 16 //建立一个文本宏替代。 . . . w i r e [ `W O R D : 1] Bus;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有