Bootstrap

关于Verilog语法之“`ifdef”“`ifndef”“`define”“endif”的理解

目的:

在使用别人的代码的时候,碰到了条件编译的命令,对于这个不太熟悉,于是查阅了相关资料,在这里做一个记录备份。

作用:

1、`ifndef :全称“if not defined”,顾名思义,即当文件编译到这一行时,如果这个文件没有被编译过(首次编译),就会执行后续的命令,把后续的代码定义一次。反之,则不会再重复编译。

`ifndef xxx
`define xxx
  程序块
`endif 

2、`ifdef:全称“if defined”,与“ifndef”相反,,即当文件编译到这一行时,如果这个文件已经被编译过(不是首次编译),就会执行后续的命令,反之,则不会再重复编译。

   `ifdef ENABLE_LEVELB
      output                  ychannel , 
      output                  rx_lb_lan,
   `endif

3、`endif:当有`ifndef ,`ifdef使用时,已该语句作为结束

;