Add actual wandwor test that is part of "make test"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
Clifford Wolf 2019-05-28 16:42:50 +02:00
parent eaae0adf57
commit e3ebac44df
2 changed files with 36 additions and 33 deletions

36
tests/simple/wandwor.v Normal file
View File

@ -0,0 +1,36 @@
module wandwor_test0 (A, B, C, D, X, Y, Z);
input A, B, C, D;
output wor X;
output wand Y;
output Z;
assign X = A, X = B, Y = C, Y = D;
foo foo_0 (C, D, X);
foo foo_1 (A, B, Y);
foo foo_2 (X, Y, Z);
endmodule
module wandwor_test1 (A, B, C, D, X, Y, Z);
input [3:0] A, B, C, D;
output wor [3:0] X;
output wand [3:0] Y;
output Z;
bar bar_inst (
.I0({A, B}),
.I1({B, A}),
.O({X, Y})
);
assign X = C, X = D;
assign Y = C, Y = D;
assign Z = ^{X,Y};
endmodule
module foo(input I0, I1, output O);
assign O = I0 ^ I1;
endmodule
module bar(input [7:0] I0, I1, output [7:0] O);
assign O = I0 + I1;
endmodule

View File

@ -1,33 +0,0 @@
module a(Q);
output wire Q = 0;
endmodule
module b(D);
input wire D;
endmodule
module c;
// net definitions
wor D;
wand E;
// assignments to wired logic nets
assign D = 1;
assign D = 0;
assign D = 1;
assign D = 0;
// assignments of wired logic nets to wires
wire F = E;
genvar i;
for (i = 0; i < 3; i = i + 1)
begin : genloop
// connection of module outputs
a a_inst (.Q(E));
// connection of module inputs
b b_inst (.D(E));
end
endmodule