`timescale 1ns / 1ps `include "tb_tools.vh" module tb_mux2_1 (); reg sel; reg [31:0] in_1; reg [31:0] in_2; wire [31:0] out; mux2_1 mux ( .in_1(in_1), .in_2(in_2), .sel(sel), .out(out) ); initial begin in_1 = 1'b0; in_2 = 1'b0; sel = 1'b0; `assert("mux in_1: 0, in_2: 0, sel: 0", out, 0) in_1 = 1'b1; `assert("mux in_1: 1, in_2: 0, sel: 0", out, 1) sel = 1'b1; `assert("mux in_1: 1, in_2: 0, sel: 1", out, 0) in_2 = 1'b1; `assert("mux in_1: 1, in_2: 1, sel: 1", out, 1) in_1 = 1'b0; `assert("mux in_1: 0, in_2: 1, sel: 1", out, 1) in_2 = 1'b0; `assert("mux in_1: 0, in_2: 0, sel: 1", out, 0) sel = 1'b0; `assert("mux in_1: 0, in_2: 0, sel: 0", out, 0) `end_message end endmodule : tb_mux2_1