十六位VHDL数字钟钟和八位VHDL数字钟钟的区别?

  分频器是VHDL数字钟系统设计中嘚基本电路根据不同设计的需要,我们会遇到偶数分频、奇数分频、半整数分频等有时要求等占空比,有时要求非等占空比在同一個设计中有时要求多种形式的分频。通常由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频实现较为简单。但對半整数分频及等占空比的奇数分频实现较为困难本文利用VHDL硬件描述语言,通过QuartusⅡ3.0开发平台使用Altera公司的FPGA,设计了一种能够满足上述各種要求的较为通用的分频器

  采用FPGA实现半整数分频器,可以采用以下方法:设计一个模N的计数器再设计一个脉冲扣除电路,每来两個脉冲扣除一个脉冲即可实现分频系数为N-0.5的分频器。脉冲扣除电路由异或门和一个2分频器构成本设计在半整数分频器原理的基础上,對异或门加一个使能控制信号通过对异或门和计数器计数状态值的控制,实现同一个电路完成多种形式分频如图1所示。

  二、VHDL语言嘚实现

  现通过设计一个可以实现8.5分频等占空比的17分频,2、4、8、16、32分频及占空比为1∶8和4∶5的9分频等多种形式分频的分频器,介绍该通用分频器的FPGA实现

  由图1所示的电路原理图可知,分频器由带使能端的异或门、模N计数器和一个2分频器组成本设计用D触发器来完成2汾频的功能,实现方法是:将触发器的Q反输出端反馈回输入端D将计数器的一个计数输出端作为D触发器的时钟输入端。各功能模块的VHDL语言實现如下

  1.模N计数器的实现

  一般设计中用到计数器时,我们可以调用lpm库中的计数器模块也可以采用VHDL语言自己设计一个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器输入端口为:使能信号en,复位信号clr和时钟信号clk;输出端口为:qa、qb、qc、qd其VHDL语言描述略。

  2.带使能控制的异或门的实现

  输入端为:xor_en:异或使能a和b:异或输入;输出端为:c:异或输出。当xor_en为高电平时c输出a和b的异或值。当xor_en为低电平时c输出信号b。其VHDL语言略

  3.2分频(触发器)的实现

  输入端为:时钟信号clk,输入信号d;输出端为:q:输出信号aq1:输出信号a反。其VHDL語言略

  本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件然后通过元件例化的方法,调用各元件实现整个分频器。其VHDL语言略

  三、仿真结果及硬件电路的测试

  本设计的目的是通用性和简易性,只要对上述程序稍加改动即可实现多種形式的分频

  1.实现8.5分频和等占空比的17分频

  只要将上述程序中,调用计数器模块时端口qa、qb、qc匹配为open状态同时置xor_en为高电平即可。從编译报告看出总共占用8个逻辑单元(logic elements)其仿真波形如图2~4所示。

  由图中qxiao和clk的波形可以看出每隔8.5个时钟周期,qxiao信号产生一个上升沿從而实现分频系数是8.5的分频,同时在qzheng端得到等占空比的17分频设clk为170MHz,则qxiao输出为20MHzqzheng输出为10MHz。

  2.实现占空比为1∶8和4∶5的9分频

  只要上述程序的xor_en置低电平即可在qxiao输出占空比为1∶8的9分频信号;在qzheng2输出占空比为4∶5的9分频信号同样仅占8个逻辑单元(logic elements)。仿真波形如下

  3.实现等占空比嘚2、4、8、16和32分频 只要将上述程序中的xor_en置为低电平,同时将计数器模块的计数最大值设为16即可仿真波形如下。

  由此可见只要稍微改變计数器的计数状态值,对异或门进行选通控制即可实现上述多种形式的分频。本设计在Altera公司的EP1K50QC208-3构成的测试平台上测试通过性能良好。

  我们在设计模拟雷达脉冲信号和用FPGA开发扩频芯片时就用到了上述多种形式得分频本文旨在介绍一种进行FPGA开发时,所需多种分频的實现方法如果设计中所需分频形式较多,可以直接利用本设计通过对程序的稍微改动以满足自己设计的要求。如果设计中需要分频形式较少可以利用本设计部分程序,以节省资源

数电课设vhdlVHDL数字钟钟设计VHDL数字钟,课設,程序,VHDL数字钟钟设计,数电设计,VHDL数字钟钟,VHDL,vhdl,课程设计,钟设计

课程设计名称 EDA课程设计 学生姓名 專业班级

设计题目 多功能VHDL数字钟钟设计

1、综合运用EDA技术独立完成一个课题的设计,考察运用所学知识解决实际问题的能力;

2、结合理論知识,考察阅读参考资料、文献、手册的能力;

3、进一步熟悉EDA技术的开发流程掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;

4、锻炼撰写研究报告、研究论文的能力;

5、通过本实践环节,培养科学和严谨的工作作风

二、 设计内容、技术条件和要求

l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示

2、能利用实验系统上的按钮实现“校时”、“校分”功能;

(1)按下“SA”键时,计时器迅速递增并按24小时循环;

(2)按下“SB”键时,计时器迅速递增并按59分钟循环,并向“时”进位;

(3)按下“SC”键时秒清零;抖动的,必须对其消抖处理

3、能利用扬声器做整点报时:

(1)当计时到达59’50”时开始报时,频率可为500Hz;计滿23小时后回零;计满59分钟后回零(2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz

5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块

6、报时功能。报时功能用功能仿真的仿真验证可通过观察有关波形确认电路设计是否正确。

1周:(1) 完成设計准备确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。

2周:(1) 完成文件至器件的下载并进行硬件验证;(2) 撰写设计说明书。

(1)譚会生、瞿遂春《EDA技术综合应用实例与分析》,西安电子科技大学出版社2004

(2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》清华大学出蝂社,2006

指导教师签字: 2011年9月19日

用层次化设计的方法以VHDL语言编程实现以下功能:

【1】 具有“时”、“分”、“秒”计时功能;时为24进制分囷秒都为60进制。

【2】 具有消抖功能:手工按下键盘到是否这个过程大概50ms左右在按下开始到弹簧片稳,定接触这段时间为5-10ms从释放到弹片唍全分开也是5-10ms,在达到稳定接触和完全分开的微观过程中电平是时高时低的,因此如果在首次检测到键盘按下时延时10ms再检测就不会检测箌抖动的毛刺电平了64Hz的信号周期为15.6ms,正适合做消抖信号

【3】 具有校时和清零功能,能够用4Hz脉冲对“小时”和“分”进行调整,并可进行秒零;

【4】 具有整点报时功能在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。

【5】 具囿一键设定闹铃及正常计时与闹铃时间的显示转换闹时时间为一分钟。

1、秒计数器模块设计:

模块图如图1六十进制带进位计数器,可清零clk输入信号为1Hz脉冲,当q0计满9后q1增加1当q0满9且q1记满5,q1、q0同时归零co输出为高电平。q1为十位q0为个位

2、分计数器同上。注:不同之处为分嘚clk输入信号为秒的进位信号

模块图如图3。24进制无进位计数器当计数信号计到23后再检测到计数信号时会自动零。带清零clk输入为分秒进位相与的结果。q1为十位q0为个位。

模块图如图5由四个分频器构成,输入信号in_clk为1024Hz脉冲信号把输入的1024Hz信号分频为四个脉冲信号,即1Hz的秒脉沖4Hz的校时、校分脉冲,64Hz的消抖脉冲以及512Hz的蜂鸣器低音输入

模块图如图7。分频出的用64Hz信号对sa校时信号、sb校分信号、sc秒清零信号、sd闹时设置信号进行防抖动处理是由四个两级d触发器构成的,分别对输入的sa、sb、sc、sd

信号的相邻两个上升沿进行比较以确定按键的按下从而达到消抖的目的。

模块图如图9一键设定闹铃时间,内部由四个d触发器构成当确定sd键按下时,将当前时间的小时和分的个位十位分别存入四個d触发器内作为闹时时间。

模块图如图11用以进行正常计时和校时/分的选择。alarm为经过消抖的校时/分信号当按键未曾按下时,即校时/分信号没有到来时二选一选择器会选择输出a(正常计时输入)信号,否则当alarm按键按下时输出y为校时/分输入信号——4Hz

模块图如图13。用以进荇正常计时时间与闹铃时间显示的选择alarm输入为按键。当alarm按键未曾按下时二选一选择器会选择输出显示正常的计时结果否则当alarm按键按下時选择器将选择输出显示闹铃时间显示。

模块图如图15在59分51秒、53秒、55秒、57秒给扬声器赋以低音512Hz信号,在59分59秒给扬声器赋以高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。当系统时间与闹铃时间相同时给扬声器赋以高音1024Hz信号闹时时间为一分钟。

通过这次设计既复习了以前所學的知识,也进一步加深了对EDA的了解让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时心里特别的开心。但是在畫顶层原理图时遇到了不少问题,最大的问题就是根本没有把各个模块的VHD文件以及生成的器件都全部放在顶层文件的文件夹内还有就昰程序设计的时候考虑的不够全面,没有联系着各个模式以及实验板的情况来编写程序以至于多考虑编写了译码电路而浪费了很多时间。在波形仿真时也遇到了一点困难,想要的结果不能在波形上得到正确的显示

:在分频模块中,设定输入的时钟信号后却只有二分频的结果,其余三个分频始终没反应后来,在数十次的调试之后才发现是因为规定的信号量范围太大且信号的初始值随机,从而不能得到所偠的结果还有的仿真图根本就不出波形,怎么调节都不管用后来才知道原来是路径不正确,路径中不可以有汉字真是细节决定成败啊!总的来说,这次设计的VHDL数字钟钟还是比较成功的有点小小的成就感,终于觉得平时所学的知识有了实用的价值达到了理论与实际楿结合的目的,不仅学到了不少知识而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识同时,对未来有了更多的信心

1、潘松,王国栋VHDL实用教程〔M〕.成都:电子科技大学出版社,2000.(1)

2、崔建明主编电工电子EDA仿真技术北京:高等教育出版社,2004

3、李衍编著EDA技术叺门与提高王行西安:西安电子科技大学出版社,2005

4、侯继红,李向东主编EDA实用技术教程北京:中国电力出版社,2004

5、沈明山编著EDA技术及可編程器件应用实训北京:科学出版社,2004

6、侯伯亨等VHDL硬件描述语言与VHDL数字钟逻辑电路设计西安: 西安电子科技大学出版社,1997

7、辛春艳编著VHDL硬件描述语言北京:国防工业出版社,2002

我要回帖

更多关于 数字钟 的文章

 

随机推荐