aboutsummaryrefslogtreecommitdiffstats
path: root/tests/simple/wandwor.v
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-05-28 16:42:50 +0200
committerClifford Wolf <clifford@clifford.at>2019-05-28 16:42:50 +0200
commite3ebac44df5bcbd976c7f88f2192d69a337ac3bf (patch)
treec1eae03b6b69a96fa8d3861051c021a0ad16237f /tests/simple/wandwor.v
parenteaae0adf57f5f9328feeb0d2954a90abdbe38271 (diff)
downloadyosys-e3ebac44df5bcbd976c7f88f2192d69a337ac3bf.tar.gz
yosys-e3ebac44df5bcbd976c7f88f2192d69a337ac3bf.tar.bz2
yosys-e3ebac44df5bcbd976c7f88f2192d69a337ac3bf.zip
Add actual wandwor test that is part of "make test"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'tests/simple/wandwor.v')
-rw-r--r--tests/simple/wandwor.v36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/simple/wandwor.v b/tests/simple/wandwor.v
new file mode 100644
index 000000000..34404aa26
--- /dev/null
+++ b/tests/simple/wandwor.v
@@ -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