模为60BCD码加法计数器设计

模为60BCD码加法计数器设计

ID:41674613

大小:248.84 KB

页数:4页

时间:2019-08-29

模为60BCD码加法计数器设计_第1页
模为60BCD码加法计数器设计_第2页
模为60BCD码加法计数器设计_第3页
模为60BCD码加法计数器设计_第4页
资源描述:

《模为60BCD码加法计数器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模为60的BCD码加法计数器设计一.实验原理计数器是大规模集成电路屮运用最广泛的结构Z—。在模拟及数字集成电路设计当中,灵活地选择与使用计数器可以实现很多复杂的功能,可以大量减少电路设计的复杂度和工作量。通过FPGA课程的学习,我运用VerilogHDL语言设计出了一种模为60的BCD码加法计数器,该计数器可以根据控制信号分别实现同步清零和同步置数,从给定的预置数开始计数,并给出详细的VerilogHDL源代码。最后,通过QuartusII对其进行仿真验证。模为60的BCD码加法计数器有五个输入端和两个输出端。当吋钟信号的上升沿到来时,计数器自动加一,并通过同

2、步清零端和同步置数端分别实现同步清零和同步置数。端口介绍:elk:时钟信号,当上升沿到來时,计数器自动加一。reset:同步清零端,高电平到来吋,计数器自动清零。load:同步置数端,高电平到来时,计数器从给定的预置数开始计数。data:预置数cim使能端,高电平到来时,计数器开始工作;低电平时,计数器不工作。qout:输出端cout:进位输岀,当计数器计到59吋,产生进位输岀信号。二、VerilogHDL源程序modulecount60(qout,cout,data,load,cin,reset,elk);output[7:0]qout;outputcout

3、;input[7:0]data;inputload,cin,elk,reset;reg[7:0]qout;〃上升沿时刻计数always@(posedgeelk)begin辻(reset)qout=0;//同步复位elseif(load)qout=data;//同步置数elseif(cin)beginif(qout[3:0]==9)//低位是否为9,是则往下执行beginqout[3:0]=0;//低位清置零,并判断高位是否为5if(qout[7:4]==5)qout[7:4]=0;//高位为5,则将高位置零elseqout[7:4]=qout[7:4]+1;/

4、/高位不为5,则加1endelseqout[3:0]二qout[3:0]+1;endendassigncout=((qout==8,h59)&cin)?1:0;//产生进位输出信号endmodule三、QuartusII时序仿真图1模为60的BCD码加法计数器工作时序图2模为60的BCD码加法计数器工作时序图1和图2为计数器从0计到59的工作时序,当时钟信号(clk)±升沿到来时,计数器加1,一直计到59产生进位输出信号,此时进位输出信号(cout)由图3模为60的BCD码加法计数器工作时序当同步置数信号(load)为高电平吋,计数器从预置数(data)始计数

5、,一直计到59产牛进位输出信号,然后重新从0开始计数。当同步清零信号(reset)为高电平时,计数器清零,然后从0开始计数。图5模为60的BCD码加法计数器工作时序当使能信号(cin)为高电平时,计数器工作;否则,计数器不工作。四、总结说真的刚开始打算设计时不是很自信,但最终还是做出来了,我觉得做任何事情都一定要有勇气去尝试。设计前先确定目标,遇到复杂的问题的时候,不要轻易放弃,学会分步完成。有不懂的地方,可以上网查阅资料或者和同学讨论完成,共同进步。编写源程序有很多需要注意的地方,虽然计数器的原理非常简单,但是由于对QuartusII这个软件不熟悉,一开始时

6、出现了比较多的错误。通过上网查阅资料和翻看教材,经过努力终于将问题一一解除,成功的完成了计数器的设计及仿真,还是有那么一点点成就感。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。