首页 理论教育 FPGA系统设计-Verilog编译器指令

FPGA系统设计-Verilog编译器指令

时间:2023-10-20 理论教育 版权反馈
【摘要】:Verilog有很多的编译器指令。这些指令都是以`为开头。类似的,还有一些别的编译器指令,比如`ifndef、`elseif等。`include这又是一个作用类似c语言的编译器指令。这条指令用于把其他文件中的内容包含到当前文件。可以采用完整路径或者相对路径的方式来使用该条指令。`resetall这条编译器指令用于把所有编译器指令重置为默认的缺省值。这条指令给这些线网明确定义为线网类型。以上所有这些指令,在Verilog代码编译的全过程,这些指令都有效。

FPGA系统设计-Verilog编译器指令

Verilog有很多的编译器指令。这些指令都是以`为开头。

(1)`define和`undef

`define:Verilog有很多语法和c语言很类似。这是个类似于c语言#define的指令。用于定义文本替换。

例6.50:

例6.51:

这个例子说的是:如果定义了一个宏HP,则定义参数HP=8;否则定义参数HP=9。

`ifdef和`else可以配对使用,也可以单独只使用`ifdef。

类似的,还有一些别的编译器指令,比如`ifndef、`elseif等。`ifndef的用法和`ifdef刚好相反。

(3)`include

这又是一个作用类似c语言的编译器指令。这条指令用于把其他文件中的内容包含到当前文件。可以采用完整路径或者相对路径的方式来使用该条指令。

例6.52:

该语句把路径c:/xilinx/ex1的a.v文件内容包含到当前文件的这一行这个地方。(www.xing528.com)

(4)`timescale

`timescale一般用来作为时间标度,用来定义当前建模的时间单位和时间精度。

(5)`resetall

这条编译器指令用于把所有编译器指令重置为默认的缺省值

(6)`default_nettype

在建模的过程中,有些线网没有被定义类型。这条指令给这些线网明确定义为线网类型。

(7)`celldefine和`endcelldefine

这两个指令配对使用,用于把模块标记为单元模块。由此,就可以由某些子程序来调用该单元模块。

(8)`line

该指令作用是将指定的行号和文件名复位至指定的值。

以上所有这些指令,在Verilog代码编译的全过程,这些指令都有效。直到遇到别的冲突编译器指令为止。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈