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

BCD码计数器设计Verilog代码Quartus DE2开发板

09/10 09:12
436
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24101111522MK.doc

共1个文件

名称:BCD码计数器设计Verilog代码Quartus? DE2开发板

软件:Quartus

语言:Verilog

代码功能:

研究目标:采用EDA技术,以硬件描述语言 Verilog HDL为系统逻辑描述语言,在QUARTUS工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建一个基于FPGA的BCD码计数器设计。该计数器具有置数和复位功能,并可以根据外部的拨码开关来选择加1计数还是减1计数,并能在数码管上面正确显示。

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

本代码已在DE2开发板验证,DE2开发板如下,其他开发板可以修改管脚适配:

DE2开发板.png

演示视频:

设计文档:

1.?工程文件

2.?程序文件

3.?程序编译

4.?RTL图

5.?仿真图

整体仿真图

分频模块

计数控制模块

显示模块

部分代码展示:

//计数控制模块
module?bcd_counter(
input?clk_in,//50MHz
input?clk_1Hz,//计数时钟
input?rst_n,//复位按键
input?load_n,//置数按键
input?[3:0]?h_in,//高位置数
input?[3:0]?l_in,//低位置数
input?[3:0]?cnt_sw,//计数控制开关,4个拨码开关
output?[3:0]?bcd_h,//bcd计数高位
output?[3:0]?bcd_l?//bcd计数低位
);
reg?[3:0]?bcd_high;//bcd计数高位
reg?[3:0]?bcd_low;?//bcd计数低位
always@(posedge?clk_in?or?negedge?rst_n)
if(!rst_n)begin//复位按键
bcd_high<=4'd0;
bcd_low<=4'd0;
end
else?if(!load_n)//置数按键
begin//复位按键
bcd_high<=h_in;//高位置数
bcd_low?<=l_in;//低位置数
end
else?if(clk_1Hz)//计数时钟
case(cnt_sw)//计数控制开关,4个拨码开关
4'b1000://加1计数
if(bcd_high==4'd9?&&?bcd_low==4'd9)//计数到99
begin
bcd_high<=4'd0;
bcd_low?<=4'd0;?
end
else?if(bcd_low==4'd9)//计数到9
begin
bcd_high<=bcd_high+4'd1;//十位加1
bcd_low?<=4'd0;?
end
else
begin
bcd_high<=bcd_high;//
bcd_low?<=bcd_low+4'd1;//个位加1?
end

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

  • 2-24101111522MK.doc
    下载

相关推荐