SystemVerilog:是否可以根据包参数的值进行定义?

时间:2016-08-19 09:46:39

标签: system-verilog preprocessor-directive

是否可以根据包参数的值指定`define参数? F.ex:

if(pa_ProductSetup::MODULE_SET=="A") 
`define MODULE_A_INCLUDED

稍后使用它来选择要编译的代码部分:?

`ifdef(MODULE_A_INCLUDED)

`endif

致以最诚挚的问候,

Elena H。

1 个答案:

答案 0 :(得分:1)

不,你不能这样做。在任何其他SystemVerilog语法之前解析预处理程序指令。您可以使用generate-if块来控制编译的内容,但生成块的内容受限于其内部允许的内容

if (pa_ProductSetup::MODULE_SET=="A") begin :generate_block
// put the code here you would have wanted inside the `ifdef
end :generate_block