名称:多路彩灯控制器设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

要求设计一个多路彩灯控制器,能够在4种不同的彩灯花样之间进行循环变化,并可设置花型变化的节奏,且可进行复位。

本次设计选择8路LED灯进行花样显示,设置4种花样显示模式分别为:从左到右逐个点亮LED;从右到左逐个点亮LED;从两边到中间逐个点亮LED;从中间到两边两个点亮LED。4种模式循环切换,复位键(rst)控制系统的运行停止。

FPGA模块

主芯片为CycloneⅢ系列的EP3C5E144C8,引脚为144个,LAB/CLB数321,逻辑元件/单元数5136,总RAM位数423936,实物图如图Ⅱ-1所示。

图Ⅱ-1  FPGA模块

1. 工程文件

QuartusII 9.0版本

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真文件(VWF文件)

6. 仿真图

部分代码展示:

//彩灯控制器
// 本次设计选择8路LED灯进行花样显示,设置4种花样显示模式分别为:
// 从左到右逐个点亮LED;从右到左逐个点亮LED;
// 从两边到中间逐个点亮LED;从中间到两边两个点亮LED。
// 4种模式循环切换,复位键(rst)控制系统的运行停止。
module caideng(
input clk_in,//输入时钟128Hz
input rst,//复位,高电平复位
input DIN,//速度档位,控制彩灯节奏
output [7:0] LED//输出8路彩灯
);
wire clk_1;//clk_1
wire clk_2;//clk_2
wire clk;
//时钟频率产生模块
div_clk i_div_clk(
. clk_in(clk_in),//输入时钟128Hz
. clk_1(clk_1),//产生时钟clk_1=2Hz
. clk_2(clk_2)//产生时钟clk_2=4Hz
);
//速度控制模块
speed i_speed(
. DIN(DIN),//速度档位,控制彩灯节奏
. clk_1(clk_1),//clk_1=2Hz
. clk_2(clk_2),//clk_2=4Hz
. clk(clk)//clk控制彩灯变化速率
);
源代码

点击下方的公众号卡片获取

更多推荐