系统verilog中的ifndef

问题描述

我看到以下结构在系统 verilog 中非常流行

`ifndef TEXT_IDENTIFIER
`define TEXT_IDENTIFIER
// blah blah blah some code here
`endif

我理解第二行 `define 不会使 ifndef 为真。例如

`ifndef ABC
`define ABC
module tb;
initial begin
$display("Hello World");
end
endmodule
`endif

上面的代码打印Hello World。并且 ifndef 不读取第二行定义。

  1. 在执行 ifndef ABC 时是否不考虑编译器指令逐行读取和第 2 行定义?
  2. 如果 1 的答案是肯定的,那么我们为什么需要这样的结构?什么是用例?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)