6.FPGA_Verilog流水线流水灯

本文介绍了一个使用Verilog编写的FPGA流水灯控制器,设计中包含一个1秒计数器,使得4个LED灯以1秒间隔依次点亮,形成循环效果。代码中详细展示了如何利用时钟边沿触发器控制LED的状态切换。

功能:间隔时间为1s,4个led灯逐个点亮,循环往复

描述:定义一个1s计数器来控制灯的亮灭

时序图如下图所示:

这里写图片描述

代码:

module run_led(

input wire sclk ,
input wire rst_n ,

output reg led0 ,
output reg led1 ,
output reg led2 ,
output reg led3

);

parameter max = 49_999_999 ;

reg [25:0] cnt ;
always@(posedge sclk or negedge rst_n)
if(!rst_n)
cnt <= 0 ;
else if(cnt==max)
cnt <= 0 ;
else
cnt <= cnt+1’b1 ;

always@(posedge sclk or negedge rst_n)
if(!rst_n)
led0 <= 1 ;
else if(cnt==max&&led0==1)
led0 <= 0 ;
else if(cnt==max&&led3==1)
led0 <= 1 ;

always@(posedge sclk or negedge rst_n)
if(!rst_n)
led1 <= 0 ;
else if(cnt==max&&led0==1)
led1 <= 1 ;
else if(cnt==max&&led0==0)
led1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值