9、编写 “led.v”,这里定义了一个 32 位的寄存器 timer,用于循环计数 0~49999999(1 秒钟),计数到 49999999(1 秒)的时候,寄存器 timer 变为 0,并翻转一个 LED。这样原来 LED 是灭的话,就会点亮,如果原来 LED 为亮的话,就会熄灭。编写好后的代码如下:
`timescale 1ns /1ps
module led(
input sys_clk,
input rst_n,
output reg led
);
reg[31:0] timer_cnt;
always@(posedge sys_clk or negedge rst_n)
begin
if(~rst_n) begin
led <=1'b0;
timer_cnt <=32'd0;
end
elseif(timer_cnt >=32'd49_999_999)
begin
led <=~led;
timer_cnt <=32'd0;
end
else
begin
led <= led;
timer_cnt <= timer_cnt +32'd1;
end
end
endmodule