Что произойдет в синтезе, если сигнал определен только внутри логики сброса в 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,

Другие вопросы по тегам