Verilog HDL的编译预处理语句

来源:互联网 发布:树状笔记软件ubuntu 编辑:程序博客网 时间:2024/05/22 03:21

一、宏定义'define语句

包括宏定义指令包括:'define和'undef。类似于c中的#define

声明语法格式:'define   

在代码中的应用格式:'macro_name

        例如:

        ‘define WORD_SIZE 32

和parameter的区别:

  • 作用域不同:parameter作用于声明的那个文件。而'define的作用范围从编译器读到define语句开始,到'undef语句结束。可以超过单个文件的边界时仍然有效。
  • parameter可以作为模块例化时的参数传递,实现参数化调用,而'define无此功能。
  • 'define语句可以定义表达式,而parameter只能定义变量。

二、条件编译命令'if语句

条件编译指令包括:'ifdef、'else和'endif。

语法格式: 
'ifdef MacroName

    语句块1;

'else

    语句块2;

'endif

三、文件包含'include语句

'include编译器指令用于嵌入文件的内容。如果文件A包含了文件B和文件C,则文件C可以直接使用文件B的内容,同样文件B也可以使用文件C的内容。类似于c中的#i nclude结构。

 ‘include header.v     


四、时间尺度'timescale语句

该指令用于定义时延的单位和精度。

语法格式:'timescale time_unit / time_precision