当前位置:   article > 正文

BCD码计数器Verilog代码vivado仿真_编写veriloghdl代码实现模为60的bcd码加减法计数器,并编写测试代码进行测试。

编写veriloghdl代码实现模为60的bcd码加减法计数器,并编写测试代码进行测试。

名称:BCD码计数器Verilog代码vivado仿真(文末获取)

软件:vivado

语言:Verilog

代码功能:

(BCD码计数器)设计一个模60的BCD

码加法计数器。提示:可将个位和十位分别进行描述,当个位为9时,则个位清零,同时十位加1;当十位为5和个位9时,十位和个位同时清零,其它时候个位在ck上升沿触发下加1。任务2:使用任务1中计数器,记录秒脉冲的个数(秒脉冲信号作为计数器使能信号),输出为8

位BCD码,输出驱动开发板上8个LED指示灯,

显示计数结果。

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
源代码

 扫描文章末尾的公众号二维码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/776750
推荐阅读
相关标签
  

闽ICP备14008679号