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

BCD码计数器Verilog代码vivado仿真

06/18 11:05
330
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240103104915941.doc

共1个文件

名称:BCD码计数器Verilog代码vivado仿真

软件:vivado

语言:Verilog

代码功能:

(BCD码计数器)设计一个模60的BCD码加法计数器。提示:可将个位和十位分别进行描述,当个位为9时,则个位清零,同时十位加1;当十位为5和个位9时,十位和个位同时清零,其它时候个位在ck上升沿触发下加1。

任务2:使用任务1中计数器,记录秒脉冲的个数(秒脉冲信号作为计数器使能信号),输出为8位BCD码,输出驱动开发板上8个LED指示灯,显示计数结果。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

任务2仿真图(秒脉冲计数器)

任务1仿真图(BCD码计数器)

部分代码展示:

//任务1,BCD码计数器
module BCD(
input clk,//时钟
input rst_n,//复位
input en,//使能信号
output [3:0] BCD_ten,//十位
output [3:0] BCD_one//个位
);
reg [3:0] ten;//十位
reg [3:0] one;//个位
always@(posedge clk or negedge rst_n)
if(~rst_n)//复位
begin
ten<=4'd0;
one<=4'd0;
end
else if(en)begin//使能信号
if(ten==4'd5 && one==4'd9)//十位为5,个位为9
begin//清零
ten<=4'd0;
one<=4'd0;
end
else if(one==4'd9)//个位为9
begin
ten<=ten+4'd1;//十位加1
one<=4'd0;//清零
end
else
begin
ten<=ten;//十位不变
one<=one+4'd1;//个位加1
end
end
assign BCD_ten=ten;//输出十位
assign BCD_one=one;//输出个位
endmodule

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

  • 2-240103104915941.doc
    下载

相关推荐