名称:基于FPGA的彩灯控制器设计Verilog代码VIVADO仿真(文末获取)
软件:VIVADO
语言:Verilog
代码功能:
彩灯控制器
设计要求:有八只LED彩灯,L0....L7,按下述方式显示:全亮→奇数灯依次灭→偶数灯依
次灭→由L0到L7依次亮,循环进行,显示时间间隔0.5S,1S可调。
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
//彩灯控制器 module caideng( input clk_in,//输入时钟1KHz,周期1ms input rst,//复位,低电平复位 input speed,//速度档位,0时选择0.5s间隔,1时选择1s间隔 output reg [7:0] LED//输出8路彩灯 ); //信号定义 reg [15:0] cnt_05=16'd0; reg [15:0] cnt_1=16'd0; reg clk_05=0; reg clk_1=0; //产生周期为0.5s的时钟clk_05 always@(posedge clk_in) if(cnt_05>=16'd499)begin//1KHz计数500为0.5s cnt_05<=16'd0; clk_05<=1;//产生周期为0.5s的时钟clk_05 end else begin cnt_05<=cnt_05+16'd1;//计数 clk_05<=0; end //产生周期为1s的时钟clk_1 always@(posedge clk_in) if(cnt_1>=16'd999)begin//1KHz计数1000为1s cnt_1<=16'd0; clk_1<=1;//产生周期为1s的时钟clk_1 end else begin cnt_1<=cnt_1+16'd1;//计数 clk_1<=0; end
源代码
扫描文章末尾的公众号二维码