2016-11-24 6 views
-1

Я пытаюсь реализовать модуль в своем проекте, для которого мне нужно, чтобы конечное значение было стабильным на некоторое время, поэтому реализовано, как показано ниже. оба они показывают одинаковый результат в моделировании. будет ли инструмент сгенерировать одно и то же оборудование или другое?Имеет ли следующий стиль кодирования различие во время синтеза?

always @(posedge clk) begin 
if(en) 
    count <= count + 1; 
else 
    begin 
    a <= count; 
    count <= 0; 
    end 

if(count == 0) b <= a; 

end 

В чем разница между вышеуказанным стилем кодирования и приведенным ниже? Разве это имеет какое-то значение при синтезе?

always @(posedge clk) begin 
    if(en) 
     count <= count + 1; 
    else 
     begin 
     a <= count; 
     count <= 0; 
     end 
end 

always @(posedge clk) begin 
    if(count == 0) 
     b <= a; 
end 

И я использую инструмент Vivado 2015.4 для синтеза.

ответ

0

Он будет генерировать тот же аппаратный выход. Не имеет значения, разделите ли вы синхронизированные операторы на один или несколько всегда-операторов, если они функционально идентичны.

0

будет ли инструмент сгенерировать то же оборудование или другой?

Нажмите «Открыть разработанный дизайн» в Vivado и убедитесь сами!

Но вы найдете следующее: они эквивалентны. Никакой разницы.

 Смежные вопросы

  • Нет связанных вопросов^_^