В этом примитивном примере входные данные устанавливаются по фронту, а защелкиваются и обрабатываются по спаду. Проблем никаких нет.
Код
always @ (posedge clk)
begin
in <= in + 8'd1;
end
always @ (negedge clk)
begin
out <= in « 3;
end
begin
in <= in + 8'd1;
end
always @ (negedge clk)
begin
out <= in « 3;
end
Но внезапно стало непонятно, а почему не возникает проблем с setup and hold в конструкции ниже? Здесь все выполняется по фронту. В один момент времени в регистр in записываются данные, и считываются из него
Код
always @ (posedge clk)
begin
in <= in + 8'd1;
out <= in « 3;
end
begin
in <= in + 8'd1;
out <= in « 3;
end
Прошу люто тапками не кидаться.