Какая аппаратная схема эквивалентна этому коду? - PullRequest
0 голосов
/ 14 октября 2018

Что говорит этот код?Как мне интерпретировать его схему?

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

1 Ответ

0 голосов
/ 14 октября 2018

Вы должны интерпретировать этот код так же, как

module add(input logic clock, output logic[7:0] f);
  logic[7:0] a, b;
  always_ff @(posedge clock)
    a <= b + f;
  always_ff @(posedge clock)
    b <= f + a;
  always_ff @(posedge clock)
    f <= a + b;
 endmodule

Это логически эквивалентно тому, что вы написали, но дает предсказуемые результаты моделирования для любого кода, который выбирает выходные данные f для posedge clock

...