| module testbench; |
| reg [4:0] in; |
| |
| wire [1:0] Ap; |
| wire [2:0] Bp; |
| wire [2:0] Cp; |
| wire [1:0] A; |
| wire [2:0] B; |
| wire [2:0] C; |
| |
| initial begin |
| // $dumpfile("testbench.vcd"); |
| // $dumpvars(0, testbench); |
| |
| #5 in = 0; |
| repeat (10000) begin |
| #5 in = in + 1; |
| end |
| |
| $display("OKAY"); |
| end |
| |
| top uut ( |
| .x(in[0]), |
| .y(in[2:1]), |
| .z(in[3]), |
| .A(A), |
| .B(B), |
| .C(C) |
| ); |
| |
| assign Ap = {in[0],in[3]}; |
| assign Bp = {in[0],in[2:1]}; |
| assign Cp = {in[0],in[2:1],in[3]}; |
| |
| assert_comb A_test(.A(A[0]), .B(Ap[0])); |
| assert_comb B_test(.A(B[0]), .B(Bp[0])); |
| assert_comb C_test(.A(C[0]), .B(Cp[0])); |
| |
| endmodule |