iverilog возвращает бред при тестировании 4-битного сумматора

Точно следуя моему руководству профессора, его компьютер возвращает значения, отличные от моих. Я трижды проверил, и мой код идентичен его в любом случае. Вот тестовая партия:

 module RCA_4_tb;
 reg [3:0] a, b;
 reg cin;
 wire [3:0] sum;
 wire cout;

 initial
 begin
 $dumpfile("RCA_test.vcd");
 $dumpvars(0, RCA);
 $monitor("%d + %d = %d%d", a, b, cin, cout, sum);
 #0   a = 4'd3;    b = 4'b1010; cin = 1'b0;
 #100 a = 4'd8;    b = 4'b0100; cin = 1'b0;
 #100 a = 4'b0010; b = 4'b0100; cin = 1'b0;
 #50 $finish;
 end
 RCA_4 RCA(sum,cout,a,b,cin);
 endmodule 

Мои результаты Профессорские результаты

1 ответ

Я не могу комментировать (только отвечаю на данный момент), но у вас (?) Может быть неправильное назначение портов для кода создания экземпляра вашего модуля или ошибка в вашем коде RCA_4. Не могли бы вы поделиться кодом для RCA_4?

Вы используете примитивные ворота или RTL в RCA_A?

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