DSD1
DSD1
Verilog code:
Testbench:
module testbench();
reg tdin;
reg tclk;
reg tclr;
wire tdout;
wire [2:0] tstate;
always #5 tclk = ~tclk;
dsd1 dut(tclk,tclr, tdin, tdout, tstate);
initial begin
$monitor($time," clk=%01d clr=%b din=%b dout=%b state=%b " ,tclk,tclr,tdin,tdout,tstate);
tclk = 0;
tdin = 0;
tclr = 1;
#10 tclr = 0;
#20 tdin = 1;
#10 tdin = 0;
#10 tdin = 0;
#10 tdin = 1;
#10 tdin = 1;
#10 tdin = 0;
#10 tdin = 0;
#10 tdin = 0;
#10 tdin = 0;
#10 tdin = 1;
#5 $finish;
end
endmodule
Simulation: