| module testbench; |
| reg clk; |
| always #5 clk = (clk === 1'b0); |
| |
| wire ok; |
| |
| top uut ( |
| .clk(clk), |
| .LED5(ok) |
| ); |
| |
| reg [4095:0] vcdfile; |
| |
| initial begin |
| if ($value$plusargs("vcd=%s", vcdfile)) begin |
| $dumpfile(vcdfile); |
| $dumpvars(0, testbench); |
| end |
| end |
| |
| initial begin |
| @(posedge ok); |
| @(negedge ok); |
| $display("ERROR: detected falling edge on OK pin!"); |
| $stop; |
| end |
| |
| initial begin |
| repeat (3000) @(posedge clk); |
| |
| if (!ok) begin |
| $display("ERROR: OK pin not asserted after 3000 cycles!"); |
| $stop; |
| end |
| |
| repeat (10000) @(posedge clk); |
| $display("SUCCESS: OK pin still asserted after 10000 cycles."); |
| $finish; |
| end |
| endmodule |