Это тестовый стенд, который выдает ошибку в строке 12, и я понятия не имею, почему. Я использовал много разных примеров и даже пример профессора, но у меня нет подсказки, почему я получаю синтаксическую ошибку для него.
`include "8adder.v"
module Eadder_tb; // half adder test bench
reg A, B;
wire sum, cout;
E_adder add(a,b,sum,cout);
initial
begin
//Dump results of the simulation to 8adder.vcd
$dumpfile("8adder.vcd");
$dumpvars;
A<= 8’b 10000001; B<= 8’b 00000111; Cin <=0;
A<= 8’b 00011001; B<= 8’b 11000000; Cin <=1;
A<= 8’b 00100001; B<= 8’b 11110000; Cin <=1;
A<= 8’b 00001111; B<= 8’b 11000101; Cin <=1;
A<= 8’b 00000001; B<= 8’b 10001110; Cin <=0;
A<= 8’b 11000001; B<= 8’b 10111000; Cin <=1;
A<= 8’b 00000001; B<= 8’b 11010000; Cin <=0;
A<= 8’b 00010001; B<= 8’b 10000010; Cin <=0;
initial
begin
$monitor("time=%4d: %b + %b: cout = %b, sum =
b\n",$time,A,B,Cin,cout,sum);
end
endmodule
Нижний код - 8-битный сумматор.
module AddEight(A, B, Cin, Cout, Sum);
output Cout;
output [7:0] Sum;
input Cin;
input [7:0] A, B;
wire c0, c1, c2, c3, c4, c5, c6;
adder A0 (Sum[0], Cin, A[0], B[0], c0);
adder A1 (Sum[1], Cin, A[1], B[1], c1);
adder A2 (Sum[2], Cin, A[2], B[2], c2);
adder A3 (Sum[3], Cin, A[3], B[3], c3);
adder A4 (Sum[4], Cin, A[4], B[4], c4);
adder A5 (Sum[5], Cin, A[5], B[5], c5);
adder A6 (Sum[6], Cin, A[6], B[6], c6);
adder A7 (Sum[7], Cin, A[7], B[7], Cout);
endmodule
module adder(output Sum, input Cin, A, B);
// adder
assign Sum = A ^ B ^ Cin;
assign Cout = (A & B) | (B & Cin) | (A & Cin);
endmodule