/////////////////////////////////////////////////////////////////
//
Testfixture for Verilog model for the 3-Input logic circuit
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//
Set timescales
//////////////////////////////////////////////////////////
`timescale
1ns / 1ps
//////////////////////////////////////////////////////////
//
Define testfixture module
//////////////////////////////////////////////////////////
module
testfixture();
///////////////////////////////
//
Inputs and Output
///////////////////////////////
reg A;
reg B;
reg C;
reg D;
wire OUT;
///////////////////////////////
//
Instantiate the UUT
///////////////////////////////
gates
UUT (.A(A), .B(B), .C(C), .C(C), .D(D), .OUT(OUT));
/////////////////////////////////////////////////////
//
Initialize Inputs and set end of simulation time
/////////////////////////////////////////////////////
initial
begin
$write("\n\nStarting
simulation run at time ...", $time, "\n\n");
$write("\t\t\tTime\tA\tB\tC\tD\tOUT\n\n");
A
= 1'b0; B = 1'b0; C = 1'b0; D = 1'b0;
#160
$write("\n\nCompleting simulation run at time ...", $time,
"\n\n");
$finish;
end
////////////////////////////////////////////////
//
Stimulus as clocks using 'always' statement
////////////////////////////////////////////////
always
# 10 D = ~D; always # 20 C = ~C;
always
# 40 B = ~B; always # 80 A = ~A;
always
#5 $write($time, "\t", A, "\t", B, "\t", C,
"\t", D, "\t",OUT, "\n");
endmodule
//////////////////////////////////////////////////////////
//
End of File
//////////////////////////////////////////////////////////