у меня есть некоторый Verilog код, который выглядит примерно такVCS XMRE ошибка непрерывного присвоения из некоторого сигнала в условно генерируемой, например
module top_tb
genUnit genUnit1;
spyUnit spyUnit1;
endmodule
module unitX(...)
logic some_signal;
endmodule
module genUnit
unitX unit1(….);
**generate
if(myparam==2) begin : generate_block_2
unitX unit2(….);
end
endgenerate**
endmodule
module spyUnit
output logic spy1;
output logic spy2;
assign spy1 = genUnit1.unit1.some_signal;
**generate
if(myparam==2) begin : assign_spy_2
assign spy2 = genUnit1.unit2.some_signal;
end
endgenerate**
endmodule
VCS error- [XMRE] Кросс-модуль ошибки опорного разрешения с этим кодом на назначение spy2 (назначение spy1 в порядке). spy2 нужно назначить только тогда, когда mypram равно 2, но когда значения параметров синтаксического анализа еще не определены, так что оператор присваивания анализируется независимо от конечного значения параметра. Поскольку существование иерархии зависит от значения параметра, я сталкиваюсь с этой проблемой.
Итак, как мне выполнить задание, зависящее от параметра?