流水灯设计Verilog代码Quartus仿真

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

软件:Quartus

语言:Verilog

代码功能:

流水灯设计

1、可以通过按键控制流水灯变化频率

2、可以按键切换流水灯模式,共8种不同模式


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


演示视频:

设计文档:

流水灯设计文档.doc

1. 工程文件


2. 程序文件





3. 程序编译


4. RTL图


5. 仿真图

按键控制模块


分频模块


8种不同的速率


LED控制模块


8种不同模式


部分代码展示:

//分频模块
module div(
input clk_in,//50M
input [2:0] speed,//频率控制
output clk_1K,//1KHz时钟
output reg clk_div
);
reg clk_1KHz=0;
reg [15:0] div_cnt1K=16'd0;
always@(posedge clk_in)
if(div_cnt1K>=16'd25_000)begin//分频产生1K,计数25000翻转
div_cnt1K<=16'd0;
clk_1KHz<=~clk_1KHz;//1KHz
end
else
div_cnt1K<=div_cnt1K+16'd1;
assign clk_1K=clk_1KHz;
//1Hz
reg clk_1Hz=0;
reg [31:0] cnt_1Hz=31'd0;
always@(posedge clk_in)
if(cnt_1Hz>=32'd25_000_000)begin//50MHz分频到1Hz,计数25_000_000为半个周期
cnt_1Hz<=32'd0;
clk_1Hz<=~clk_1Hz;//计数到后翻转
end
else
cnt_1Hz<=cnt_1Hz+32'd1;//计数
//2Hz
reg clk_2Hz=0;
reg [31:0] cnt_2Hz=31'd0;
always@(posedge clk_in)
if(cnt_2Hz>=32'd12500_000)begin//50MHz分频到2Hz,计数12500_000为半个周期
cnt_2Hz<=32'd0;
clk_2Hz<=~clk_2Hz;//计数到后翻转
end
else
cnt_2Hz<=cnt_2Hz+32'd1;//计数
//3Hz
reg clk_3Hz=0;
reg [31:0] cnt_3Hz=31'd0;
always@(posedge clk_in)
if(cnt_3Hz>=32'd8333333)begin//50MHz分频到3Hz,计数8333333为半个周期
cnt_3Hz<=32'd0;
clk_3Hz<=~clk_3Hz;//计数到后翻转
end
else
cnt_3Hz<=cnt_3Hz+32'd1;//计数
//4Hz
reg clk_4Hz=0;
reg [31:0] cnt_4Hz=31'd0;
always@(posedge clk_in)
if(cnt_4Hz>=32'd6250000)begin//50MHz分频到4Hz,计数6250000为半个周期
cnt_4Hz<=32'd0;
clk_4Hz<=~clk_4Hz;//计数到后翻转
end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 流水灯设计Verilog代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员