基于FPGA的多功能电子万年历第1页共33页目录一、多功能电子万年历及FPGA简介.....................................................................................11.1电子万年历的发展.....................................................................................................11.2FPGA简介...................................................................................................................11.3电子万年历的工作原理..........................................................................................2二、多功能电子万年历各功能模块实现...............................................................................42.1时钟问题..................................................................................................................42.1.1全局时钟.......................................................................................................42.1.2门控时钟.......................................................................................................42.1.3多级逻辑时钟...............................................................................................52.1.4波动式时钟...................................................................................................52.2电子万年历的控制系统..........................................................................................62.3主控制模块maincontrol.......................................................................................72.4时间及其设置模块time_auto_and_set................................................................82.2.1时间模块timepiece_main..........................................................................82.2.2时间设置模块timeset.................................................................................92.2.3时间数据与时间设置数据多路选择模块time_mux..............................112.3时间显示动态位选模块time_disp_select..........................................................132.4显示模块disp_data_mux....................................................................................142.5秒表模块stopwatch............................................................................................152.6日期显示与设置模块date_main........................................................................162.6.1日期自动工作模块autodate....................................................................162.6.2日期设置模块setdate...............................................................................172.7闹钟模块alarmclock............................................................................................172.8分频模块fdiv.......................................................................................................192.9顶层模块图............................................................................................................20三、附录.................................................................................................................................22电子万年历系统的VerilogHDL语言程序设计部分代码.........................................223.1主控制模块......................................................................................................223.2秒自动计时子模块..........................................................................................243.3时间自动工作控制..........................................................................................243.4时间数据与时间设置数据多路选择模块......................................................253.5时间及其设置模块..........................................................................................263.6时间显示动态位选模块..................................................................................273.7秒表模块..........................................................................................................283.8分频模块..........................................................................................................28参考文献.........................................................................................................................30基于FPGA的多功能电子万年历第1页共33页一、多功能电子万年历及FPGA简介1.1电子万年历的发展钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。所有这些,都是以钟表数字化为基础的。因此,研究电子万年历及扩大其应用,有非常现实的意义。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。1.2FPGA简介PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据ICInsights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局基于FPGA的多功能电子万年历第2页共33页面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。复杂可编程逻辑器件。可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。现在最新的FPGA器件,如XilinxVirtex系列中的部分器件,可提供八百万系统门(相对逻辑密度)。这些先进的器件还提供诸如内建的硬连线处理器(如IBMPowerPC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。1.3电子万年历的工作原理功能键用来选择不同的工作模式:按键消抖可编功能键程调整键1逻调整键2辑器件CPLD/FPGALED显示模块基于FPGA的多功能电子万年历第3页共33页时间正常显示功能、时间调整与显示、秒表功能、闹钟设置与查看、日期显示、日期调整与设置。调整键1:主要用于闹钟设置、日期显示与调整、秒表、时间调整与设置中的位置选择按钮,与功能键配合使用。2号键功能模式,即时间调整与设置时,用作时、分、秒的移位,按一下,将会实现“时-分-秒”的依次移位,便于在特定位置进行调整;4号键功能模式,即闹钟设置与查看时,同样用作时、分、秒的移位,按