2016-08-19 7 views
0

Можно ли указать параметр `define, основанный на значении параметра пакета? F.ex:SystemVerilog: можно ли определить `define на основе значения параметра пакета?

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

И использовать его позже, чтобы выбрать, какие части кода нужно компилировать :?

`ifdef(MODULE_A_INCLUDED) 

`endif 

С наилучшими пожеланиями,

Елена Г.

ответ

1

Нет, вы не можете сделать это. Директивы препроцессора анализируются перед любым другим синтаксисом SystemVerilog. Вы можете использовать блоки сгенерировать-if, чтобы контролировать то, что компилируется, но генерировать блок гораздо более ограничены, насколько допускается внутри них.

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