Мне нужно объявить регистр внутри оператора генерации для хранения некоторых временных значений,
для использования в экземплярах.
у меня есть
generate
for(i=0; i< N; i=i+1)
begin: i_loop
Inst_file u(S1(i),P1(i),S(i),P(i));
/* S1 and P1 have N bits and
S = S1 ^ P1;
P = S1 & P1
*/
end //i_loop
S1 и P1 - это простая комбинированная логика, и я использовал их в качестве проводов для первого
итерация. Но после каждой итерации i мне нужно назначить выходы S и P как входы.
(т.е. замените S1 и P1 на S и P).
Я так понимаю, что должен делать это с помощью регистра, а не провода (я прав?)
В таком случае мне нужны S1 и P1 как рег. Я пробовал использовать оператор always внутри
генерировать. Выдает ошибку.
Не могли бы вы предложить выход?
generate
, пока у вас не появится больше интуиции относительно того, как все должно выглядеть в Verilog.generate
включает сокращение, но не является важной особенностью языка. - person Andy   schedule 19.04.2011