EDA课程设计-万历电子钟的设计.doc

上传人:椰子壳 文档编号:5014470 上传时间:2020-01-28 格式:DOC 页数:16 大小:1.19MB
返回 下载 相关 举报
EDA课程设计-万历电子钟的设计.doc_第1页
第1页 / 共16页
EDA课程设计-万历电子钟的设计.doc_第2页
第2页 / 共16页
EDA课程设计-万历电子钟的设计.doc_第3页
第3页 / 共16页
EDA课程设计-万历电子钟的设计.doc_第4页
第4页 / 共16页
EDA课程设计-万历电子钟的设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《EDA课程设计-万历电子钟的设计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计-万历电子钟的设计.doc(16页珍藏版)》请在三一文库上搜索。

1、摘要 课程设计(论文)任务书 信息工程学院 学院通信工程专业 2009.2 班 一、课程设计(论文)题目电子钟设计 二、课程设计(论文)工作自2012年1月 3 日起至 2012 年 1月 6 日止。三、课程设计(论文) 地点: 华东交通大学4-410,图书馆 四、课程设计(论文)内容要求:1本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程; (2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以

2、24小时制或12小时制显示; (2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。2)创新要求: 在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。 3)课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准: (1)完成系统分析:20分; (2)完成设计过程:20分; (3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。5)参考文献:(1)潘松,黄继业编著 .EDA技术实用教程 ,2005 ,科学出版社(2)徐志军,徐光辉

3、编著 . CPLD/FPGA的开发与应用 ,电子工业出版社,2001.1(3)http:/ 6)课程设计进度安排内容 天数地点构思及收集资料 1图书馆设计与调试 3实验室撰写论文 1图书馆、实验室学生签名: 年 月 日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差(); (2)仿真结果(10分):优()、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)报告成绩 (30分):优()、良()、中()、一般()、差();(6)格式规范

4、性及考勤是否降等级:是()、否()评阅人: 职称:年 月 日 电子钟的设计 摘要 基于FPGA的电子钟设计,主要完成的任务是使用Verilog语音,在Quartise2上完成电路的设计,程序的开发,基本功能是能够显示、修改年月日时分秒。电路的设计模块分为几个模块:分频、控制、时间显示调整、时分、年月日、译码器。各个模块完成不同的任务,合在一起就构成了电子钟。至于程序编写,使用Verilog语言,根据各个模块的不同功能和它们之间的控制关系进行编写。软件模块直接在Quartis2上进行。进入信息时代,时间观念越来越强,但是老是的钟表以及日历等时间显示工具已经不太合适。如钟表易坏,需经常维修,日历每

5、天都需要翻页等。对此,数字钟表的设计就用了用武之地。基于FPGA的电子钟设计,采用软件开发模块,开发成本底,而且功能设计上有很大的灵活度,需要在软件上进行简单的修该就能实现不同的功能要求,能够满足不同的环境要求。同时,该设计在精度上远远超过钟表,并且不需要维修,也不用没天的翻页,极其的方便。且能够添加各种不同的功能要求。例如:在其上加闹钟,同时显示阴阳历等。综上所述本设计具有设计方便、功能多样、电路简洁成本低廉等优点,符合社会发展的趋势,前景广阔。关键字:电子钟;FPGA;仿真;verilog;QuartusII15华东交通大学课程设计目录摘 要.3 第一章 绪论.5 1.1电子钟的发展51.

6、2 FPGA简介5第二章 电子钟设计原理62.1组成模块62.2电子钟的工作原理图6第三章 电子钟系统部分程序设计与仿真83.1时分秒模块代码与仿真83.2年月日模块代码与仿真113.3具体的电路图13谢 辞. 15参考文献16附录17第一章 绪论1.1电子钟的发展 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。所有这些,都是以钟表数字化为基础的。因此,研究电子万年历及扩大其应用,有非常现实的意义。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直

7、观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。1.2 FPGA简介 FPGA是现场可编程门阵列(Field programmable gates array)的英文简称。是有可编程逻辑模块组成的数字集成电路(IC)。这些逻辑模块之间

8、用可配置的互联资源。设计者可以对这些器件进行编程来完成各种各样的任务 PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。复杂可编程逻辑器件。可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。 在这两类可编程逻辑器件中

9、,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。 现在最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百万系统门(相对逻辑密度)。 这些先进的器件还提供诸如内建的硬连线处理器(如IBM Power PC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。 FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。 第二章 电子钟设计原理2.1组成模块此电子钟系统主要由一下几个模块组成:1. 控制模块 :该模块实现对各个功能模块的整体控制,对时间显示与调整、日期显示

10、与调整,由使用者决定是显示日期还是时间,当使用者不参与控制时,时间和日期每隔一段时间会自动轮流显示。2. 时间及其调整模块 :顾名思义就是对时间进行调整。3. 时间显示动态位选模块 4. 显示控制模块:显示控制模块的功能是控制显示日期还是时间,在设计的过程中由于没有足够的数码管,把日期和时间分成了两个模块,至于显示那一个这由该模块完成任务。5. 日期显示与设置模块6. 译码器模块:在数码管上显示当前时间和日期。7. 分频模块:是为了得到一个周期为秒的脉冲,该脉冲主要用于秒的走到。2.2电子钟的工作原理图图1 流程图 在电脑上通过软件Max+plus2对万年历电路图的引脚进行绑定,编译, 然后与

11、EDA试验箱连接,把文件配置通过JTAG口载入FPGA中,选择实验电路模式进行硬件测试。通过学习,理论上学习了EDA试验箱的原理,对试验箱内部的组件,以及组件之间的链接有了更深的了解.从开始分析电子钟原理,在定义底层文件名称,编写底层文件程序,生成模块分频模块,秒模块,分模块,时模块,年月日模块,控制模块,显示模块,然后链接各个模块组成顶层,到最终完成测试,虽然辛苦但是当画出功能图时,还是很高兴的,以下为各模块组成的功能图图2 功能设计图 第三章 电子钟系统部分程序设计与仿真 3.1时分秒模块代码与仿真 时间及其设置模块主要完成时间的自动正常运行与显示,以及在相应的功能号下,实现时间的调整与设

12、置。计数器秒脉冲信号经过6级计数器,分别得到“秒”个位、十位、“分”个位、十位以及“时”个位、十位的计时。“秒”“分”计数器为六十进制,小时为二十四进制。六十进制计数由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完成一分钟之内秒数目的累加,并达到60秒时产生一个进位信号,所以,选用两片cc40192和一片cc4011组成六十进制计数器,来实现六十进制计数。其中,“秒”十位是六进制,“秒”个位是十进制。二十四进制计数利用异步清零端实现起从2300的翻转,其中“24”为过渡状态不显示。其中,“时”十位是3进制,“时”个位是十进制。以下为其具体的代码。 /秒module sec

13、ond(clrn,clk,jf,qm,enmin);input clrn,clk,jf;output7:0 qm;output enmin;reg7:0 qm;reg3:0 qml;reg7:4 qmh;reg carry1; always(posedge clk or negedge clrn)begin if(clrn) beginqmh,qml=0;endelse if(qmh=5)&qml=9)beginqmh,qml=0;carry1=1;endelse if (qmh=5)&(qml9)begin qmh=qmh;qml=qml+1;carry1=0;endelse if(qmh5

14、)&(qml=9)begin qmh=qmh+1;qml=0;carry1=0;endelse if(qmh5)&(qml9)begin qmh=qmh;qml=qml+1;carry1=0;endqm=qmh,qml;endassign enmin=carry1|jf;Endmodule图3 秒仿真图/分module minute(clrn,clk,jh,qf,enhour);input clrn,clk,jh;output7:0 qf;output enhour;reg7:0 qf;reg3:0 qfl;reg7:4 qfh;reg carry1;always (posedge clk o

15、r negedge clrn)beginif(clrn) beginqfh,qfl=8h00;carry1=0;endelse if(qfh=5)&(qfl=9)begin qfh,qfl=8h00;carry1=1;endelse if(qfh5)&(qfl9) begin qfh=qfh;qfl=qfl+1;carry1=0;endelse if(qfh5)&(qfl=9)begin qfh=qfh+1;qfl=0;carry1=0;endelse begin qfh=qfh;qfl=qfl+1;carry1=0;endqf=qfh,qfl;endassign enhour=carry1|

16、jh;endmodule图4 分仿真图 /时module hour(clrn,clk,qs,cout);input clrn,clk;output 7:0 qs;output cout;reg7:0 qs;reg3:0 qsl;reg7:4 qsh;reg carry1;always(posedge clk or negedge clrn)/miao begin if (clrn) begin qsh,qsl=8h00;carry1=0; end else if(qsh=1)&(qsl=7)begin qsh,qsl=8h00;carry1=1;endelse if(qsh=2)&(qsl3)

17、 begin qsh=qsh;qsl=qsl+1;carry1=0;endelse if(qsl=9)begin qsh=qsh+1;qsl=0;carry1=0;end else begin qsh=qsh;qsl=qsl+1;carry1=0;endqs=qsh,qsl;endassign cout=carry1; endmodule 图5 时仿真图3.2年月日模块代码与仿真 该模块实现的是日期的自动工作功能,/年月日module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr);input clrn,clk,jn,jy,jr;output 15:0 qn;outpu

18、t7:0 qy,qr;reg 15:0 qn;reg7:0 qy,qr;reg clkn,clky;reg7:0 date;reg clkn1,clkn2,clkn3;initial begin clkn1=1;clkn2=1;clkn3=1;endinitial begin qn=h2000;qy=1;qr=1;endalways(posedge (clkjr) or negedge clrn)/日计数begin if(clrn) qr=1;else begin if(qr=date)begin qr=1;clky=1;endelse if(qr7:4=date7:4&qr3:0=date3

19、:0)Begin qr7:4=qr7:4;qr3:0=qr3:0;clky=1;endelse if(qr3:0=9)begin qr7:4=qr7:4+1;qr3:0=0;endelse if(qr7:4date7:4&qr3:0date3:0)Begin qr7:4=qr7:4;qr3:0=qr3:0+1;clky=0;endelse begin qr7:4=qr7:4;qr3:0=qr3:0+1;clky=0;endendendalways (posedge (clkyjy) or negedge clrn )/月计数begin if(clrn) qy=1; else begin if(

20、qy=h12)qy=1;else qy=qy+1;if(qy3:0=ha)Begin qy3:0=0;qy7:4=qr7:4+1;endif(qy=h12)clkn=1;else clkn=0;Endendalways/每月的天数 Begin case(qy)h01:date=h31;h02: if(qn%4=0)&(qn%100!=0)|(qn%400=0) date=h29; else date=h28;h03:date=h31;h04:date=h30;h05:date=h31;h06:date=h31;h07:date=h31;h08:date=h31;h09:date=h30;h10

21、:date=h31;h11:date=h30;h12:date=h31;default:date=h30;endcase endalways(posedge (clknjn) or negedge clrn )/年计数beginif(clrn) qn3:0=0;else begin if(qn3:0=9) qn3:0=0;else qn3:0=qn3:0+1;if(qn3:0=9) clkn1=0;else clkn1=1;endendalways(posedge (clkn1) or negedge clrn)Beginif(clrn) qn7:4=0;else beginif(qn7:4=

22、9) qn7:4=0;else qn7:4=qn7:4+1;if(qn7:4=9)clkn2=0;else clkn2=1;endendalways(posedge (clkn2) or negedge clrn)beginif(clrn) qn11:8=0;else beginif(qn11:8=9) qn11:8=0;else qn11:8=qn11:8+1;if(qn11:8=9) clkn3=0;else clkn3=1;end endalways(posedge (clkn3) or negedge clrn)Begin if(clrn) qn15:12=2;else begin i

23、f(qn15:12=9) qn15:12=0;else qn15:12=qn15:12+1;endendendmodule图5 年月日仿真图 3.3具体的电路图 将时间和日期两个模块连接起来之后,便可得到大体的框架图了。时间和日期两个模块生成封装。用画图的形式将其连接,就组成了顶层模块。其电子钟的模块也就弄好了,其他控制的模块只要在这上面加就可以了。时间和日期的顶层模块如下图。图6 时间和日期连接图图7 时间和日期仿真图第四章 小结 通过这次课设实训,在硬件方面,使我们对EDA试验箱有了很多的了解,弥补了我们的知识的缺陷,同时对EDA试验箱内部的工作原理,以及EDA试验箱各个实验模式的功能很作

24、用有了一定的了解,学习了硬件引脚绑定过程,以及绑定的一些基本常识,并动手完成了绑定,这样不仅拓宽我们的知识面,增强动手能力和实践能力,同时还培养我们的分析和解决实际问题的能力。在软件方面,我们通过分组在软件Max+plus2上独立完成老师给我们的实训题目电子钟。从开始分析点钟原理,在定义底层文件名称,编写底层文件程序,然后链接各个模块,到最终完成测试,并运行成功,这些加强了我们的分析问题的能力,提高了我们编程的能力,同时还培养了我们独立完成任务和查阅资料删选资料的能力,虽然完成的软件在实际运用中还有很多不足,比如软件运行的环境有限,程序的效率不高,在老师的要求上也不能全部到达预期的最好效果,等

25、等一些问题,这都需要我们以后更深层次的加以修改,使其更加简单更加方便更加通俗易懂。电子日历一路编来可谓是坎坎坷坷,但大家都没有放弃,积极主动的找老师、找同学帮忙解决难题。后来,又重新分析原理,重复操作,遇到困难马上向老师提问,及时解决问题,这样的效果很明显。在这次实训中,我深深的感受到上课听讲的重要性,课设中遇到的很多问题都是老师上课讲解的一些难点,自己没有很好的领悟的地方。每个学生对老师课堂上讲的内容的接收都是不一样的,通过向老师请教,同学讨论,最后才得以解决问题,实训才能得以成功。从整体看这次实训是很成功的,让我们都有很大的收获,同时也非常感谢在实训过程中给予我们很大帮助的朱老师和黄老师,

26、在老师耐心细心的指导下,我才能很好的完成实训认务。 谢 辞 在这里我要感谢我的老师朱路,朱老师上课的思路很清晰,很有调理。这样也吸引我对EDA的兴趣,朱老师在上课讲的内容很生动,举的例子也很符合题意,这样更有利于我的学习。当自己有不懂问朱老师时,朱老师很热情的分析给我听,这样有利于我的理解,总之很感谢朱老师。参考文献1 潘松,黄继业.EDA技术实用教程,科学出版社,20022 侯伯亨,顾新. VHDL硬件描述语言修订版,西安技大学出版社,2004.3 赵曙光,郭万有. 可编程逻辑器件原理,西安电子科技大学出版社,2000.4 徐志军,徐光辉. CPLD/FPGA的开发与应用,电子工业出版社,2002.5 夏宇闻. Verilog HDL数字系统设计教程,北京航空航天大学出版社,2003.6 黄智伟. FPGA系统设计与实践,电子工业出版社,2003.7 王金明等.数字系统设计与verilog HDL,电子工业出版社,2002 附录附录一 时间实拍图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1