Что произойдет в синтезе, если сигнал определен только внутри логики сброса в Always_ff?
Допустим, у меня следующий код:
always_ff @(posedge clk, negedge rst) begin
if (~rst) begin
bad_singal <= '0;
good_signal <= '0;
end else begin
// do something
// bad_signal is not used here or anywhere in design.
if (some condition)
good_signal <= 1'b1;
end
end
Что будет с bad_signal в синтезе? Будет ли инструмент синтеза оптимизировать флоп, поскольку он нигде не используется в дизайне?
3 ответа
Если сигнал или регистр ничего не приводят, тогда да - любой компетентный инструмент синтеза обрежет его, независимо от того, как он установлен. Многие инструменты синтеза сообщат о предупреждении, когда это произойдет.
Если он не используется, он будет оптимизирован. Если он используется где-то, он будет привязан к земле, так как его значение всегда 0
,