verilog宏定义

  • Verilog可以像这样定义宏 `define TESTEQ1 4’b1101

  • 定义的宏可以用在后面的代码中,如 if (request == `TESTEQ1。使用`ifdef`endif可以检测是否定义了某个宏,相当于条件编译。如果`ifedf调用的宏被定义过,则内部的代码将会编译;如果宏没有定义,则会编译`else中的代码`else不是必须的,但必须有`endif

  • 使用宏可以在不修改源代码的情况下修改设计,在IP核生成和流程测试中很有用。下面给出两个使用宏的例子:

'define myzero 0
assign mysig = 'myzero;

//示例2,条件编译
'ifdef MYVAR
module if_MYVAR_is_declared;
...
endmodule
'else
module if_MYVAR_is_not_declared;
...
endmodule
'endif

你可能感兴趣的:(verilog宏定义)