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

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

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

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
    下载

相关推荐