基于FPGA的数字钟的设计Digital Clock

所需积分/C币:44 2013-01-06 18:48:34 1.89MB PDF
25
收藏 收藏
举报

数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种。本课程设计采用了Altera公司型号EP2C5Q208C8的FPGA,这是我自己买的黑金动力的一款FPGA开发板,使用QuartusII 11.1程序、综合、管脚锁定、下载文件到硬件平台,使用ModelSim-Altera 10.0c (Quartus II 11.1) Starter Edition进行仿真,最终实现数字钟。
东北大学EDA技术课程设计 目录 摘要 :::::::::::..::.:::.::.:::: 、课程设计目的… 1.掌握利用可编程逻辑器件和EA设计上具进行系统设计… 、设计要求和内容 1.基本设计内容及要求 2.提高的内容及要求 VHDL程序设计 1111122 1.设计方案及结构图… 2.改计模块 (1)主状态机模块… (2)秒、分计数模块…… (3)时计数模块 (4)天计数模块…… (5)月计数模块…… (6)年计数模块 2445667889 (7)整点报时模块 (8)秒表模块……. (9)分频器 9 (10)数据选择器模块. 10 (11)数码管显示模块. 11- (12)按键消抖模块 四、仿真与分析 1.主状态机模块仿真… -13- 2.时分杪模块仿真 -13- 3.年月日计数模块仿真… 4.整点报时模块仿頁 15 5.秒表模块仿真 I........I.I 16 6.数据选择器模块仿真 7.数码管显示模块仿真∴.. 8.按键消抖模块仿真 -17- 五、器件编程下载及设计结果…… 18 1.硬件平台说明… 18 2.下载流程介绍. 19 (1)管脚约束 19 (2)下载配置…… -19 3.硬件模块实现 (1)时间显示.… (2)年份显示 -21 (3)秒衣显示 -21- (4)设置模式显示. 22- 六、课程设计总结 22 七、参考文献 -23 东北大学EDA技术课程设计 八、刚录 24- 附录一:RTL图 -24- 附录二:管脚约束文件.…. :::::::.:.:.::.:::a:::.:::::::.:·::: -25- 附录三:总体仿真 东北大学EDA技术课程设计 课程设计目的 1.掌握利用可编程逻辑器件和EDA设计工具进行系统设计 (1)VHDL程序设计、输入—一在ise平台上用ⅥHDL描述系统的功能 (2)逻辑综合—一将源程序编详后,为设计系统选择一个电路实现方案,按照 这个方案进行逻辑综合和优化,生成1个电路网表文件 (3)功能仿真一一检查自己的设计是否达到和完成要求的逻辑功能 (4)设计实现一一布局、布线及配置,最后生成可以写到芯片中的目标文件 (5)时序仿真—一是适配到选定的芯片后进行的仿真,它模拟芯片的实际动作, 仿真时间模型严格将门级延时计算在内,可以分析出竞争与冒险,时序仿 真验证过的电路与实际电路基木上已致 (6)器件编程一一对器件编程下载 (7)测试 二、设计要求和内容 基本设计内容及要求 设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6 个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉 冲到来吋可预置年份,第3个脉冲到来吋可预置月份,依次第4、5、6、7个脉 冲到来时分别可预冒日期、时、分、秒,第8个脉冲到来后预置结束,正常工 作,显示的是时分秒。Up为高电平时, polk有脉冲到达时,预冒位加1.否则 减1。 2.提高的内容及要求 (1)可以采用与教材上不同的设计方法完成以上基本内容。 (2)可以在基本内容的基础上增加其它功能。 东北大学EDA技术课程设计 VHDL程序设计 设计方案及结构图 本数字钟采川Top-to-Down的设计方法。现代电子系统的设计理念是 种“自上而下”的设计方法。首先从系统设计入于,在顶层对系统进行功能 的划分和结构的设计。这一级采用硬件描述语言对高层次的系统设计进行所 谓行为级描述,在系统一级进行验证。然后,用综合优化工具生成具体门电 路的网络表,其对应的物理实现通常采用印刷电路板或可编程专用集成电 路。由于设计的主要仿真和调试过程是在高层次上完成的,因此有利于早期 父现结构设计上的错误,避免设计工作的重复,同时减少了逻功能仿真的 工作量,提高了设计的成功率 系统设汁电路构思 电路设计与输入(HDL、原理 图、波形、状态机) 功能仿真是否正确省 是 是否为综合优化问题 综合优化 综合仿真是否正确 是 实现与布局布线 是否为实玩的否 问题 布局布线仿真是正确 是 板级仿真与验证是否正確」 是 加载型置在线调试 图3-1-1系统设计流程图 东北大学EDA技术课程设计 我设计的数字钟采用的就是这种结构,主控状态机对每个模式进行控 制,系统在每个时钟脉冲下稳定的运行,并且每个模块进行独立的测试全部 通过。元件例化后进行调用,模块全部采用ⅦDL语言输入,每个功能模块 下还有独立的子模块,来对功能模块的完善,实现数字钟的全部功能。图 3-1-2是系统的结构图。 整点报咔模块 秒计数模块 分计数模块 时计数模块 数码 按键消抖模块主状态机 天计数模块 数据选择器模块 管显 示模 块 月计数模块 年计数模块 秒表模块 图3-1-2东统模块图 系统总体包含主状态杋模玦、秒分计数模块、时计数模块、天计数模块 月计数模块、年计数模块、整点报时模玦,粆表模玦,据选择器模块,数码管 显示模垬,按键消抖模垬。主控模块对各个模垬迣行控制,顶层调用各个模垬。 秒分模块分别采用的是60进制计数,时采用24进制计数,天计数部分根据不同 的月份利年份进行不同的天数计算,月模块采用12进制计数器,一年则显示最 后两个数字,整点报时采用对吋钟技术,响·秒则停止,秒表具冇按键暂定,按 清零按钮则仝部清零,重新开始讣数。数据选择器在状态机的控削下对显示的内 容进行控制,分别显示时间、日期、秒表。显小模块分别用译码器和数据选择器 实现数码管的动态显小。 东北大学EDA技术课程设计 2.设计模块 下面是每个模块的具体实现,图3-2-1是工程文件,我全部采用VHDL 编写了每个模块。总体框架图在附录 yhD mux to_ one. vhd Counters. vhd uHn musTo disp. vhd hp led. vhd b decoder 3_8. whd 阳 Counted, vho 把 Counter24vhd ann clock, whd MainModule. vhd JHS Countyear whd HD Cuur ilmurlUI whd 铝 Countday whd disshake yhd Now Time. vhd abg count. whd 图3-2-1工程文件 (1)主状态机模块 MainModule: main state pause pause pau mode pauses rst auses yeah 1. setday yearl(4.0] sethour month[4. 0 setminute monthL[4.0] setmonth setsecond setyear dispel[1. 0) selday. 0] 图3-2-2主状态机模块图 东北大学EDA技术课程设计 主状态杋模块对模块进行控制,通过计mode模块脉冲来进行模式切换,并 且输入年份和月份来对月的天数进行判断,传递给天计数模块对天数可变的计 数。 Pause功能是在调节模块的时候让其他模块停止计数,set输岀是对每个模 块设置的选择,髙电平选中设置, dispel选择数码管显示的内容。 采用状态机对脉冲计数切换状态,分别是 show time, show date, modify year, modify month, modify day, bodily hour, modify minute, lod il second, show count依次切换。 moDty. mir mour soong nodi_monn medf_yaa 图3-2-3主状杰机转换图 (2)秒、分计数模块 Counter60: second clr cout co flick s couth(4.0 up down conti[4.0] up down set 图3-2-4秒分模块图 秒分计数模块采用的是60进制计数,在一秒计数脉冲下传递给co端口,模 块进行计数,当clr有效时则不再计数。Set按键是用来控制是否选中设置,当 up down set脉冲信号发出的时候,通过 up down信号则可以对模坎进行加减计 数。当计数溢出的后cout产生一个脉冲,传递给下一个模块, flick信号是当 5 东北大学EDA技术课程设计 设置此模块的时候产生高电平,则数码管会一直闪烁提示正在设置此模块 couth[4.0和 coutl[4.0分别是输出数码管显示的高位和地位。经过数据选 择器选择后显示对应的信息。 (3)时计数模块 Counter24: hour clr cout flick se couth(4. 0] up down cout(4.0 p down set 图3-2-5小时计数模块图 时计数模块和秒分计数模块差不多,但是计数器采用的24进制,在一秒计 数脉冲下传递给co端口,模块进行计数,当clr有效时则不再计数。set按键 是用来控制是否选中设置,当 up down set脉冲信号发出的时候,通过 up down 信号则可以对模块进行加减计数。当计数溢岀的后couL产生一个脉冲,传递给 下一个模块, flick信号是当设詈此模块的时候产生高电平,则数码管会一直闪 烁提小止在设置此模块。 couth[1.0]和 coutl[1..0]分别是输出数码管显小的 高位和地位。经过数据选择器选择后显示对应的信息。 (4)天计数模块 Countday day clr co cout set flick up down couth[4.0 up down set conti[4. 0] damsel[1. 0] 图3-2-6天计数模块图

...展开详情
试读 31P 基于FPGA的数字钟的设计Digital Clock
立即下载 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
基于FPGA的数字钟的设计Digital Clock 44积分/C币 立即下载
1/31
基于FPGA的数字钟的设计Digital Clock第1页
基于FPGA的数字钟的设计Digital Clock第2页
基于FPGA的数字钟的设计Digital Clock第3页
基于FPGA的数字钟的设计Digital Clock第4页
基于FPGA的数字钟的设计Digital Clock第5页
基于FPGA的数字钟的设计Digital Clock第6页
基于FPGA的数字钟的设计Digital Clock第7页

试读结束, 可继续读3页

44积分/C币 立即下载