• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

8路LED流水灯设计Verilog代码Quartus仿真

08/15 08:36
304
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240RQP52b03.doc

共1个文件

名称:8路LED流水灯设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

8路LED流水灯设计

1、设计8路led流水灯;

2、流水灯具有4种变化模式:从左到右依次点亮变化;从右到左依次点亮变化;从两边到中间再到两边点亮变化;从左到右熄灭变化;

3、不同模式通过开关控制。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. 仿真文件

6. 仿真图

部分代码展示:

module?led_ctrl(
input?clk_in,//系统时钟
input?reset_n,//低电平有效的复位信号--key0
input?[1:0]switch,//拨码开关--key1~2
output?reg[7:0]led//流水灯的输出
);
reg?[31:0]cnt0?=?32'd0;
reg?[3?:0]cnt1?=?4'd0;
reg?clk_1hz?=?1'b0;//分频输出1hz频率的信号
parameter?N=32'd50_000_000;//50MHz,若晶振为25M,则改为25_000_000,板子验证时用这句
//parameter?N=32'd50;//仿真时用这句,仿真为便于减小时间,计数器改小为50。
/////////////////////////////分频进程//////////////////////////////
always?@(posedge?clk_in)
begin
if(!reset_n)begin
cnt0?<=?32'd0;
clk_1hz<=0;
end
else?if(cnt0?==?N/2-1)begin//时钟的一半减1
cnt0?<=?32'd0;
clk_1hz<=~clk_1hz;//1Hz信号
end
else?begin
cnt0?<=?cnt0?+?32'd1;
end
end
//////////////////////////////////////////////////////////////////
/////////////////////////////计数0~7进程//////////////////////////////
always?@(posedge?clk_1hz)
begin
if(!reset_n)
cnt1?<=?4'd0;
else?if(cnt1?==?4'd7)//计数0~7
cnt1?<=?4'd0;
else
cnt1?<=?cnt1?+?4'd1;//计数
end

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=984

  • 2-240RQP52b03.doc
    下载

相关推荐