毕业设计基于fpga的万年历设计Word文档格式.doc

上传人:聆听****声音 文档编号:471742 上传时间:2023-04-29 格式:DOC 页数:48 大小:349.29KB
下载 相关 举报
毕业设计基于fpga的万年历设计Word文档格式.doc_第1页
第1页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第2页
第2页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第3页
第3页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第4页
第4页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第5页
第5页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第6页
第6页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第7页
第7页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第8页
第8页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第9页
第9页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第10页
第10页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第11页
第11页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第12页
第12页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第13页
第13页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第14页
第14页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第15页
第15页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第16页
第16页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第17页
第17页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第18页
第18页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第19页
第19页 / 共48页
毕业设计基于fpga的万年历设计Word文档格式.doc_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计基于fpga的万年历设计Word文档格式.doc

《毕业设计基于fpga的万年历设计Word文档格式.doc》由会员分享,可在线阅读,更多相关《毕业设计基于fpga的万年历设计Word文档格式.doc(48页珍藏版)》请在冰点文库上搜索。

毕业设计基于fpga的万年历设计Word文档格式.doc

参考文献 13

附录一 14

附录二 26

附录三 32

毕业设计(论文)专用纸

摘要

基于FPGA的万年历设计,主要完成的任务是使用Verilog语言,在Quartis2上完成电路设计,程序开发模拟,基本功能是能够显示/修改年月日时分秒。

电路设计模块中分为几个模块:

分频、控制、时间显示调整、时分秒、年月日、显示控制、译码器。

各个模块完成不同的任务,合在一起就构成了万年历的系统电路设计。

至于程序编写,使用Verilog语言,根据各个模块的不用功能和它们之间的控制关系进行编写。

软件模拟直接在Quartis2上进行。

进入信息时代,时间观念越来越重,但是老式的钟表以及日历等时间显示工具已经不太适合。

如钟表易坏,需要经常维修,日历需要每天翻页等。

对此,数字万年的设计就有了用武之地。

基于FPGA的万年历设计,采用软件开发模拟,开发成本低,而且再功能设计上有很大的灵活度,只要在软件上进行简单的修改就能实现不同的功能要求,能够满足不同环境要求。

同时,该设计在精确度上远远超过钟表,并且不需要维修,也不用像日历一样每天翻页,极其方便,且能够添加各种不同功能的要求。

例如:

在万年历上添加闹钟,同时显示阴阳历等。

综上所述本设计具有设计方便、功能多样、电路简洁、成本低廉等优点,符合社会发展趋势,前景广阔。

关键词:

万年历,日历,FPGA,Verilog,Quartus2

BasedonthedesignofthecalendarFPFAcircuit

Abstract

ThecalendarbasedonFPGAdesign,themaintaskistouseVeriloglanguage,intheQuartis2completecircuitdesign,programdevelopment,basicfunctionissimulatedwhenabletodisplaydate/modifyminutes.Circuitdesignmoduleisdividedintoseveralmodules:

pointsfrequency,controlandtimedisplayadjustment,arc,date,displaywhencontrol,decoder.Eachmodulecompletedifferenttasks,togethertheyformacalendarsystemcircuitdesign.Asforprogramming,Veriloglanguage,accordingtousethemoduleswithoutfunctionandtherelationsbetweenthemcontrolcompilation.SoftwaresimulationondirectlyinQuartis2.

Intotheinformationage,theconceptoftimeismoreandmoreheavy,butold-fashionedclockandcalendaretctimedisplaytoolsarenotverygood.

KeyWords:

Calendar,calendar,FPGA,Verilog,Quartus2

I

第页

前言

随着近年来科学技术的迅速发展和普及,我们的工作,生活观念也发生了巨大的改变,人们对各式电子产品的要求也越来越高,使得与生活密切相关的电子万年历逐渐走向智能化、便捷化。

每到新年,人们就会买来一本新的日历,配上绘有图画的日历牌挂在墙上,既是装饰,又能指示年、月、日、星期等信息。

但使用这种纸质日历,必须记得每天按时撕一张,否则反而会记错日期,常常有人因为忘记每天撕掉而记错日期,错过重要事情,造成损失。

与传统纸质的万年历相比,数字万年历得到了越来越广泛的应用。

本设计基于FPGA,采用Verilog语言编程,用软件的方式设计,灵活性好,且作为课程设计来说不仅是对以往大学阶段一些知识的应用也不用花费多少成本。

按照系统设计功能的要求,设计一个简单的数字万年历,显示年、月、日、时、分、秒等基本功能。

对此国内外许多设计人员对其进行了大量的设计,有用单片机开发的,有用FPGA开发的。

由于使用FPGA设计、简便,成本低廉,所以本课程设计采用基于FPGA开发。

在设计过程中要完成年月日时分秒等基本功能,同时还要设计闹钟功能以及阴阳历显示功能(这个是国外设计爱好者未考虑的)。

采用FPGA设计的万年历由于成本低,精度高,可靠性好等优点,使它有了非常广阔的使用之处。

第1章万年历的发展及FPGA简介

1.1万年历的发展

钟表、日历等的数字化大大方便了现代人的生活,同时也大大的扩展了钟表的功能,例如自动报警、打铃、控制其他电子产品等。

而这些功能的实现,均是以钟表的数字化为基础的。

因此,研究数字万年历及扩大其应用,有非常现实的意义。

数字万年历是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和灵活性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

数字万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

此次设计与制做数字万年历就是为了了解数字钟的原理,从而学会制作数字钟。

而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

1.2FPGA简介

FPGA是现场可编程门阵列(Fieldprogrammablegatesarray)的英文简称,是由可编程逻辑模块组成的数字集成电路(IC),这些逻辑模块之间用可配置的互联资源。

设计者可以对这些器件进行编程来完成各种各样的任务。

由于实现方式的不同,有些FPGA只能编程一次,而有些则可以重复进行多次编写。

在FPGA名称中的“现场可编程”是指“在现场”进行。

与那些内部功能已被制造者固化的器件相反。

由于FPGA的设计成本低廉,修改方便,从而催生了的、许多富有创新意识的公司,这就意味着设计人员可以在基于FPGA的测试平台上实现他们的软件开发,而不需要承担数额巨大的不可重现工程的成本或昂贵的开发工具。

第2章设计原理

2.1组成模块

万年年来设计要完成的基本功能是显示年月日时分秒以及时间修改功能,对此需要把系统分为以下几个模块:

分频模块(fenpin)、控制模块(contr)、时间显示调整模块(mux_4)、时分秒模块(timeve)、年月日模块(nyr2009)、显示控制模块(mux_16)、译码器模块(yimaqi)。

分频模块是为了得到一个周期为秒的脉冲,该脉冲主要用于秒的走动;

控制模块要完成的功能是由使用者决定显示年月日还是时分秒,当使用者不参与控制时,时分秒和年月日每隔一小段时间会自动轮流显示,当使用者参与控制时则需要由改模块完成;

时间显示调整模块,顾名思义就是对时间进行调整修改;

时分秒模块和年月日模块分别控制时分秒和年月日;

显示控制模块的功能是控制显示时分秒还是年月日,在设计过程中为了节省器材,减少数码管的个数,把年月日和时分秒分成两个模块,至于显示哪一个则有该模块完成任务;

译码器则是在数码管上显示当前时间。

2.2系统设计图

图1流程图

图2功能设计图

第3章各功能模块介绍

3.1分频模块(fenpin)

该模块的主要功能是想得到一个时钟频率为1Hz的一个脉冲,也就是说想得到周期为1秒的一个脉冲。

设计思路是:

用一个模10计数器,该计数器每秒有10个脉冲波形,如图3所示:

图3模10计数器波形

然后对该计数器每秒计数一次,也就是说在一秒内有10个脉冲,但是只要最后的一个脉冲,这样就得到了一个周期为1s的脉冲,如图4所示:

图41Hz脉冲

3.2控制模块(countr)

该模块的主要功能是对时间显示调整模块(mux_4)进行控制,并且参与外部控制。

设计思路:

在没有按下外部控制按键时,每8秒轮流控制年月日和时分秒模块,就是说在前8秒内令rc为0,下一个8秒内令其为1,然后轮流交换。

rc的作用就是相当于个脉冲,这个脉冲决定了该模块的输出电平。

当按下外部按键的时候,也就意味着使用者参与控制了,该模块有2个外置按键可供使用者使用,按下第一个按键则显示时分秒,按下第二个按键显示年月日,当两个按键都按下的时候默认按键无效。

3.3时间显示调整模块(mux_4)

该模块的功能是控制显示器,决定显示年月日还是时分秒。

[为了节省数码管,该设计把年月日和时分秒的显示分开],当该模块接受到低电平时显示当前的时分秒,当接受到的是高电平时则显示年月日。

3.4时分秒模块(timeve)

秒(second):

秒信号qm[7:

0],低四位qml[3:

0],高四位qmh[7:

4],秒进位信号enmin。

给予秒信号和进位信号一个初始值,令{qmh,qml}=0,carry1=0。

当秒信号计数到59时,则要把秒信号计为0,同时进位信号carry1=1。

当秒信号计数小于59时,如果十位qmh==5,个位qml<

9则十位不变,个位每秒加1,carry1=0;

如果qmh<

5而qml==9,则令qmh=qmh+1,qml=0,carry1=0;

5且qml<

9,则qmh=qmh,qml=qml+1,carry1=0。

最终秒信号qm={qmh,qml},秒进位信号enmin

=carry|jf(jf是外部按键信号)。

分(minute):

分信号qf[7:

0],低四位qfl[3:

0],高四位qfh[7:

0],分进位信号enhour。

给予初始值:

{qfh,qfl}=8’h00,进位信号carry1=0。

当分信号计数到59时,则令{qfh,qfl}=8’h00,carry1=1。

如果qfh==5,qfl<

9,则qfh=qfh,qfl=qfl+1,carry1=0。

如果qfh<

5,qfl==9,则qfh=qfh+1,qfl=0,carry1=0;

5,qfl<

最终分信号qf={qfh,qfl},分进位信号enhour

=carry1|jh(jh同秒信号中的jf,一样是外部按键信号)。

时(hour):

时信号qs[7:

0],低四位qsl[3:

0],高四位qsh[7:

0],时进位信号cout。

初始赋值令{qsh,qsl}=8’h00,进位信号carry1=0。

则当时信号计数到23(qsh==2&

&

qsl=3),则{qsh.qsl}=8’h00,carry1=1;

如果qsh=2,qsl<

3,则qsh=qsh,qsl=qsl+1,carry1=0;

如果qsh<

2,qsl=9,则qsh=qsh+1,qsl=0,carry1=0;

2,qsl<

9则qsh=qsh,qsl=qsl+1,carry1=0。

最终时信号qs={qsh,qsl},cout=carry1。

3.5年月日模块(nyr2009)

日计数:

日信号qr[7:

0],日进位信号clky,以及每月天数date。

date:

一年又十二个月,而且每个月的天数不完全相同,需要对date做不同的取值判断。

给一个月计数qy,由月计数的不同给予date不同取值。

如:

当qy=3,则date=31。

这里有个需要注意的是2月,一般年份2月有28天,但是闰年则有29天。

对于日信号,当qr=date时,则令qr=1,clky=1;

否则若日信号的十位与date的十位相同且个位小于date的个位,则十位不变,个位每个脉冲加1(这里的秒冲有外界和内部两种,内部脉冲来自时分秒模块的输出cout);

若日信号十位小于date的十位,但是个位相等,则令十位加1,个位计为0;

若日信号十位和个位均小于date则令日信号十位不变,个位加1。

.

月计数和年计数大致计算方法和日的差不多,只不过月计数的时钟脉冲来自日计数的进位信号,而年计数的脉冲来自于月计数的进位信号。

需要注意的是日和月都是两位十进制数表示,故需要用8位二进制数表示,而年是四位十进制信号,需要16位表示。

这里不再多说。

3.6显示控制模块(mux_16)

该模块的主要功能是控制是显示时分秒还是年月日。

根据控制模块(contr)的输出k的高低电平决定。

当k是高电平时,该模块的输出端输出的是当前的时分秒信号,即:

令q0=0、q1=0,q2、q3显示秒信号的十位与个位,q4、q5显示分信号的十位与个位,q6、q7显示时信号的十位与个位。

当k是低电平时,该模块的输出端输出的是年月日,即:

令q0、q1、q2、q3显示年信号的千位、百位、十位、个位,q4、q5显示月信号的十位与个位,q6、q7显示日信号的十位与个位。

3.7译码器(yimaqi)

译码器可以将输入代码的状态翻译成相应的输出信号,以高、低电平的形式在各自的输出端口送出,以表示其意愿。

译码器有多个输入端和多个输出端。

假如输入的端个数为,每个输出端只能有两个状态,则输出端个数最多有2n个本设计采用的是3线-8线译码器,输入端为年月日的信号或者是时分秒的信号,输出的8位二进制数对应译码器的真值表。

第4章模拟仿真

4.1年月日模块仿真

该仿真图显示的是09年5月分的,由图可以看出5月分有31天,当月份进入到下一个月的时候,日期day则变为1号,仿真结果无误。

4.2时分秒模块仿真

上图显示的是时分秒模块的运行仿真结果图,秒针每到60个计数时分针才走动一次,秒针的走动需要由分频模块输出的1HZ的脉冲来带动,秒带分走,分带时走。

秒计数最大到59时分计数加1,分也是到59时计数加1。

结论

但使用这种纸质日历,必须记得每天按时撕一张,否则反而会记错日期,常常有人因为忘记每天撕掉而记错日期,错过重要事情,造成损麻烦。

本文是一篇基于FPGA的数字万年历的论文,在设计过程中我通过在网上和图书馆查阅资料,收集了大量相关方面的资料,通过对这些资料的学习,我了解了FPGA的相关知识并认真复习了Verilog语言。

本次毕业设计除了让我回顾以前学过的知识外,也使我学习到了新的东西。

这次毕业设计可以说是对四年的大学学习的总结。

本次毕业设计完成的主要工作和任务如下:

对设计方案的理论研究,电路原理的设计制作,软件的编写和调试以及毕业论文的制作。

通过对本课题的研究我有以下几个方面的收获:

(1)学习与掌握了FPGA的基本原理及其各种应用,对它的软件设计方法有较深入的认识。

(2)通过对电路原理图设计绘制,对数字电路有了更加清晰的了解,学到了以前没注意到的知识。

(3)本设计重点在于软件的设计,因此在设计过程中使自己在大学学到的Verilog语言知识得到了巩固,同时提高了解决实际问题的能力

总结与体会

通过几个月的努力,万年历设计基本完成了所要实现的功能,完成了毕业设计。

在这次的设计过程中主要是在Quartus2上使用Verilog语言完成代码的编写与模拟仿真,在设计过程中出现了不少的问题,一些问题是因为自己的粗心大意,也有一些问题则是对相关知识的认识不够彻底。

通过对这些问题的解决处理,我感觉到不仅所学知识有了较全面的了解,同时也是对我自身的一个进步。

比如开始我没能认真书写导致出现不少错误字符,没能及时保存导致文档丢失等,这些问题的发现解决我相信对我以后进入社会,参加工作是一个很好的锻炼。

当然在设计过程中也遇见了不少自己解决不了的问题,对此我很感谢我的老师、同学们的帮助。

他们的帮助不仅使我顺利解决问题,同时也使我感受到了温暖,给了我强大的动力,使我和同学们的关系更加紧密,使我更加深入明白了团结就是力量。

我相信在以后的人生道路上,我将不会迷茫,因为我知道我不能解决的问题不一定是不能解决的问题,这一点我坚信。

最后我想说的是我又一次感受到了书到用时方恨少。

在大学期间学院给我们专业开了不少课程,自己没怎么认真学习,这一点在平时没怎么感受,但是在这次的毕业设计中我我却感受到了。

毕业设计是对大学以往知识的综合运用,但是由于学习的不够认真,导致这设计过程中遇见了很多看似简单却没法自我完成的问题。

谢辞

该毕业设计在一定程度上代表了我大学四年所学,也是我大学生活的一个结束,为此我想在这里感谢学院为我带来的一切,没有学院为我提供的这个平台,我想将会很难顺利地完成大学四年的学习和本次毕业设计。

该论文是在我的毕业设计指导老师x老师的亲切、热心的指导下完成的。

x老师的热心给予的完成毕业设计的动力,x老师的帮助使我客服了诸多困难,最终在老师的指导下我完成了毕业设计,再次我要深深的感谢她。

同时,我还要感谢x老师,在做毕业设计的过程中我深深的感到了在去年和x老师一起学习Quartus2对于我的毕业设计是多么的有用。

所以我要感谢x老师。

在设计之初,我的迷茫曾一度让我烦闷,不知道该怎么写,不知道怎么下手,在这个困难时期,各位老师和同学给了我很大的帮助,使他们的帮助使我一步步的完成了毕业设计。

在这里请接受我真诚的谢意!

参考文献

[1]刘建清,刘汉文,高光海,等,从零开始学CPLD和VerilogHDL编程技术[M],北京:

国防工业出版社,2006;

[2]杨春玲,朱敏,等,可编程逻辑器件应用实践[M],哈尔滨:

哈尔滨工业大学出版社,2008

[3]冯涛,王程,等,可编程逻辑器件开发技术——MAX+plus2入门与提高[M],北京:

人民邮电出版社,2002

[4]杜海生,邢文等,FPG设计指南器件、工具和流程[M],北京:

人民邮电出版社,2007

[5]王辉,殷颖,陈婷,俞一鸣,等,MAX+plus2和Quattur2应用于技巧开发[M],北京:

机械工业出版社,2007

[6]张志刚,等,FPGA于SOPC设计教程——DE2实践,西安:

西安电子科技大学出版社,2007

[7]夏宇闻,等,Verilog数字系统设计教程(第2版)[M],北京:

北京航空航天大学出版社,2008

[8]郑利浩,王荃,陈华锋,等,FPGA数字逻辑设计教程——Verilog[M],北京:

电子工业出版社,2010

[9]夏宇闻,甘伟,等,VerilogHDL入门(第3版)[M],北京:

[10]吴厚航,等,深入浅出玩转FPGA[M],北京:

北京航空航天大学出版社,2005

[11]吴继华,王诚,等,AlteraFPGA/CPLD设计(基础篇),北京:

人民邮电出版社,2011

[12]EDA先锋工作室,吴继华,蔡海宁,王诚,等,AlteraFPGA/CPLD设计(高级篇)(第2版),北京:

[13](美)沃尔夫(Wolr,W.),等,基于FPGA的系统设计[M],北京:

机械工业出版社,2005

[14]姚远,李辰,等,FPGA应用开发入门与典型实例(修订版)[M],北京:

人民邮电出版社,2010

[15]侯伯亨,等,VHDL硬件描述语言与数字逻辑电路设计(第三版)[M],西安:

西安电子科技大学出版社,2009

附录一

Atpresentbythehardwaredescriptionlanguage(VerilogorVHDL)hasdonebyasimplecircuitdesign,canthecomprehensiveandlayout,rapidreplicationtotest,isontheFPGAdesignverificationofmodernICtechnicalmainstream.Thesecaneditcomponentcanbeusedtoachievesomebasiclogicgate(suchasAND,OR,XOR,NOT)ORabitmorecomplicatedcombinationfunctionsuchasdecoderORmathematicalequations.InmostoftheFPGAinside,theseeditablecomponentsarecontainsmemorycomponentssuchasflip-flopFlipflop)-(orothermorecompletememoryblocks.

SystemaccordingtoneedstylistcanbeconnectedbyeditabletheFPGAinternallogic,likeconnectingblockacircuittestplateisplacedonachip.AaftertheyleavethefinishedproductFPGAlogicblocksandconnectioncanbechangedaccordingtothedesigners,sotheFPGAcancompleteneedlogicalfunctions.

TheFPGAingeneralthanASIC(specialintegratedchips)speedwillslow,unabletoperformcomplexdesigns,andconsumemorepower.Buttheyalsohavemanyadva

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2