Merge branch 'master' into clk2ff-better-names
[yosys.git] / tests / bind / inst_list.sv
1 // An example of specifying multiple bind targets with an instance list
2
3 module foo (input logic a, input logic b, output logic c);
4 // Magic happens here...
5 endmodule
6
7 module bar (input a, input b, output c);
8 assign c = a ^ b;
9 endmodule
10
11 module top ();
12 logic u0, v0, w0;
13 logic u1, v1, w1;
14
15 foo foo0 (.a (u0), .b (v0), .c (w0));
16 foo foo1 (.a (u1), .b (v1), .c (w1));
17
18 bind foo : foo0, foo1 bar bound_i (.*);
19
20 always_comb begin
21 assert(w0 == u0 ^ v0);
22 assert(w1 == u1 ^ v1);
23 end
24 endmodule