金牌会员
- 积分
- 1873
- 金钱
- 1873
- 注册时间
- 2013-7-29
- 在线时间
- 276 小时
|
楼主 |
发表于 2023-4-21 10:14:21
|
显示全部楼层
module key_led(
input sys_clk,
input sys_rst_n,
input key_in,
output reg key_out
);
parameter TotalNum=5'd31;
reg [4:0] cnt;
wire end_cnt;
wire add_cnt;
always@(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
cnt<=1'b0;
else cnt<=add_cnt? (end_cnt? cnt:cnt+1'b1):1'b0;
end
assign add_cnt=!key_in;
assign end_cnt=add_cnt&&(cnt==TotalNum);
always@(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
key_out<=1'b0;
else
key_out<=cnt==TotalNum-1;
end
endmodule |
|