| 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 |