1// A basic example of the bind construct
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  bind foo bar bound_i (.*);
16
17  always_comb begin
18    assert(w == u ^ v);
19  end
20endmodule
21