Quartus_blink/tb_blink.v
2026-04-28 17:54:48 +03:00

44 lines
612 B
Verilog

`timescale 1ns/1ps
module tb_blink;
reg clk;
wire led;
blink DUT(
.clk(clk),
.led(led)
);
// Clock generator (50 MHz)
always #10 clk = ~clk;
// Self checking logic
integer error_count = 0;
reg led_prev;
initial begin
clk = 0;
led_prev = 0;
#100000; // simulate time
if(error_count == 0)
$display("SELF CHECK PASSED");
else
$display("SELF CHECK FAILED, errors = %d", error_count);
$stop;
end
// Check LED toggle behavior
always @(posedge clk)
begin
#1;
if(led == led_prev)
error_count = error_count + 1;
led_prev = led;
end
endmodule