ненужный сброс регистра в FPGA - PullRequest
0 голосов
/ 23 апреля 2020

Предположим, у меня есть некоторые внутренние регистры, которые мне не нужно сбрасывать, например, если я устанавливаю их в состояние до того, как я их использую - как, например, здесь буфер, я не даю ему никакого значения при сбросе, и когда состояние переходы в STATE_1 (где мне нужен буфер) Я загружаю его:

always @(posedge clk or negedge reset_n) 
begin
   if(!reset_n) 
      state <= IDLE
   else begin
       case(state)
         IDLE: begin
             if(in1) begin
                buffer <= in2
                state <= STATE_1             
             end
         end
         STATE_1 :begin
             use buffer..
          end       
       endcase
   end
end

Действительно ли необходимо также включить буфер в сброс asyn c и присвоить ему значение при сбросе? инструмент синтеза будет делать это в любом случае? от чего это зависит? что такое хорошая практика? Потому что интуитивно это кажется более эффективным, потому что синтез не должен будет найти способ связать сброс с буфером.

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Безопасно не сбрасывать триггер. У пропуска сброса есть свои преимущества:

  • В I C это приведет к триггеру без синтезированного сброса, который будет немного меньше, чем один. сброс. Это, вероятно, не будет иметь место в FPGA, потому что в любом случае будет присутствовать триггер с сбросом. (Однако некоторые синтезаторы FPGA могут создавать триггеры из LUT, и то, возможно ли это или нет, может зависеть от того, есть ли у вас сброс или нет.)

  • В любом I C или FPGA, ресурс маршрутизации не будет задействован при маршрутизации сигнала сброса на ваш триггер.

Однако в I C некоторые потоки проектирования могут требовать сброс для производственных испытаний. Это не проблема в ПЛИС.

1 голос
/ 23 апреля 2020

Это зависит от того, как вы используете сигнал buffer. Если он используется только в STATE_1, безопасно не сбрасывать его. Инструмент EDA не должен сбрасывать его, за исключением того, что при включении питания все регистры должны быть переведены в известное состояние.

...