module zbuff_tb (); parameter BITS = 4; reg dE; reg[BITS-1:0] dA; wire[BITS-1:0] mY; integer loop,ecnt; initial begin ecnt = 0; for (loop=0;loop<2**(BITS+1);loop=loop+1) begin {dE,dA} = loop; #5; if (dE===1'b1) begin if (mY!==dA) begin ecnt = ecnt + 1; end end else if (dE===1'b0) begin if (mY!=={BITS{1'bz}}) begin ecnt = ecnt + 1; end end #5; end if (ecnt==0) begin $display("-- Module zbuff verified"); end else begin $display("** Module zbuff with error(s) (%d)",ecnt); end $stop; end zbuff dut (dE,dA,mY); endmodule