I'm encountering an error with running my testbench as whenever I input try to run it with the vvp command, I only get a message that reads "SantiJ1.v:1:syntax error". I've looked through my code and there doesn't seem to be a problem, at least from what I can see.
Here's the module:
`timescale 1ns/1ps
module HDLProject1(A, B, C, D, AB, BA, P1, P2, F);
input A, B, C, D;
output nA, nB, nD, AB, BA, P1, P2, F;
not notA(nA, A);
not notB(nB, B);
and Part1(AB, A, nB);
and Part2(BA, B, nA);
or Level1(P1, AB, BA);
not notD(nD, D);
or Level2(P2, C, nD);
and Finish(F, P1, P2);
endmodule
And here's the testbench:
`timescale 1ns/1ps
module HDLProject_tb;
reg test_A, test_B, test_C, test_D;
wire test_AB, test_BA, test_P1, test_P2, test_F;
HDLProject1 dut(test_A, test_B, test_C, test_D, test_AB, test_BA, test_P1, test_P2, test_F);
initial
begin
test_A = 0;
test_B = 0;
test_C = 0;
test_D = 0;
#10
test_A = 0;
test_B = 0;
test_C = 0;
test_D = 1;
#10
test_A = 0;
test_B = 0;
test_C = 1;
test_D = 0;
#10
test_A = 0;
test_B = 0;
test_C = 1;
test_D = 1;
#10 test_A = 0;
test_B = 1;
test_C = 0;
test_D = 0;
#10
test_A = 0;
test_B = 1;
test_C = 0;
test_D = 1;
#10 test_A = 0;
test_B = 1;
test_C = 1;
test_D = 0;
#10
test_A = 0;
test_B = 1;
test_C = 1;
test_D = 1;
#10 test_A = 1;
test_B = 0;
test_C = 0;
test_D = 0;
#10
test_A = 1;
test_B = 0;
test_C = 0;
test_D = 1;
#10
test_A = 1;
test_B = 0;
test_C = 1;
test_D = 0;
#10
test_A = 1;
test_B = 0;
test_C = 1;
test_D = 1;
#10
test_A = 1;
test_B = 1;
test_C = 0;
test_D = 0;
#10
test_A = 1;
test_B = 1;
test_C = 0;
test_D = 1;
#10
test_A = 1;
test_B = 1;
test_C = 1;
test_D = 0;
#10
test_A = 1;
test_B = 1;
test_C = 1;
test_D = 1;
end
initial
begin
$monitor("time = %0d", $time, " A = %b B = %b C = %b D = %b Output_F = %b", test_A, test_B, test_C, test_D, test_F);
$dumpfile("SantiJ1.vcd");
$dumpvars();
end
endmodule
From what I can gather from the error message, it only points to line 1, but I can't really point a finger at a possible cause for the error as I'm new to using HDLs.