赞
踩
名称: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
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。