1// The bind construct occurring at top-level in the script
2
3module foo (input logic a, input logic b, output logic c);
4  // Magic happens here...
5endmodule
6
7module bar (input a, input b, output c);
8  assign c = a ^ b;
9endmodule
10
11module top ();
12  logic u, v, w;
13  foo foo_i (.a (u), .b (v), .c (w));
14
15  always_comb begin
16    assert(w == u ^ v);
17  end
18endmodule
19
20bind top.foo_i bar bound_i (.*);
21