Да, это возможно. SystemVerilog поддерживает условные директивы компилятора , такие как `ifdef
, `ifndef
, `else
, `elsif
и `endif
. Обратите внимание, что в этих директивах используется серьезный акцент (ASCII 0x60), а не обычный апостроф (ASCII 0x27).
Более того, большинство инструментов синтеза поддерживают макроидентификатор SYNTHESIS
. Итак, вы можете сделать следующее:
`ifdef SYNTHESIS
parameter SPI_RATE = 1_000_000;
`else
parameter SPI_RATE = 2_000_000;
`endif