Как интерпретировать блокирующие и неблокирующие назначения в Verilog?

Я немного не понимаю, как интерпретируются блокирующие и неблокирующие назначения, когда дело доходит до построения схемы оборудования. Должны ли мы сделать вывод, что неблокирующее назначение дает нам регистр? Тогда согласно этому утверждению c <= a + b , c было бы правом регистра, а не а а б?

module add (input logic clock,  
output logic[7:0] f);   

logic[7:0] a, b, c;  

always_ff @(posedge clock)  
begin   
  a = b + c;   
  b = c + a;   
  c <= a + b;  
end   

assign f = c;  

endmodule
24
задан Greg 12 December 2014 в 02:09
поделиться