Как я могу отладить свой verilog-код для объединения MSB в LSB с 2 4-битным числом?

Жалуется Input a<2:0> а также Input b<2:0> никогда не используется. Выход просто отображает объединение a[3] а также b[3] (a = 1001, b = 1100).

module stone(a,b,rslt);
  input      [3:0] a,b;
  output reg [0:1] rslt;
  integer i;
  always @(a,b)
  begin
    for (i = 0; i <= 3; i = i + 1)
      rslt =  {a[i],b[i]};
  end
endmodule

1 ответ

for используемый вами цикл эквивалентен следующему коду:

rslt = {a[0], b[0]};
rslt = {a[1], b[1]};
rslt = {a[2], b[2]};
rslt = {a[3], b[3]};

Это означает, что, в конце концов, только последнее утверждение оказывает влияние, а первые три - нет.

Другие вопросы по тегам