| 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 |