中北大学2012届毕业设计说明书
VHDL 语言作为设计输入,可以在数字钟设计的各个阶段、各个层次进行计算机模拟仿真,保证设计过程的正确性,从而大大降低设计成本,缩短设计周期,不承担投片风险。数字钟采用纯硬件系统,可靠性高,可移植性强。因此,基于FPGA的数字时钟必将受到社会的认可。
1.2 国内外发展状况
自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门。新世纪之初,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。
纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。近年来,FPGA的开发生产和销售规模以惊人的速度增长。发展集成电路事业是我国制定的新世纪的重要发展目标,也是经济全球化新形势下的科技挑战[6]。
目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入“片上可编程系统”的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。综上所述,我们可以看到在新世纪,以FPGA为代表的数字系统现场集成技术正朝着以下几个方向发展:
1、随着便携式设备需求的增长,对现场可编程器件的低压、低功耗的要求日益迫切。
2、芯片向大规模系统芯片挺进,力求在大规模应用中取代ASIC。 3、为增强市场竞争力,各大厂商都在积极推广其知识产权IP库。 4、动态可重构技术的发展,将带来系统设计方法的转变。
近年来,PGGA的应用是极为广泛的,例如,FPGA技术在电动叉车交流调速系统中的
2
中北大学2012届毕业设计说明书
应用[7]、基于FPGA技术的16位数字分频器的设计[8]、基于FPGA技术的同步同步通信卡的设计与实现[9]、基于FPGA技术的混沌数字图像加密与硬件实现[10]等。在现代电子技术领域,在很多地方都可见到FPGA的身影。FPGA凭借其优异的性能特点,已越来越受到科研工作者的青睐。
说到FPGA我们不得不提一下它的竞争者CPLD。现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)都是近年来发展迅速的大规模可编程专用集成电路(ASIC)。CPLD 是由GAL 发展起来的,其主体结构仍是与或阵列,自从992 年Lattice 公司高性能的具有在系统编程(ISP)功能的CPLD 出现以来,CPLD发展迅速。具有ISP 功能的CPLD 器件由于具有同FPGA 器件相似的集成度和同样的易用性,在速度上还有一定的优势,使其在可编程逻辑器件技术的竞争中与FPGA 并驾齐驱,成为两支领导可编程器件技术发展的重要力量[11]。
随着FPGA技术的逐渐成熟,基于FPGA的数字时钟必将得到广泛的应用。目前市场上各式各样的数字电子钟大多是用全硬件电路实现,存在电路结构复杂、功损耗大等缺点,而由FPGA开发的数字钟则弥补了上述缺点,它体积小、集成度高、功耗低[12]。因此,基于FPGA的数字时钟凭借其自身优点必将受到人们的广泛欢迎。
目前,数字钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机或FPGA来实现电子钟等[13]。其中,基于FPGA的数字钟具有功能强、功耗低、工作可靠、使用方便等优点。因此,随着大规模集成电路的发展以及人们需求的不断提高,基于FPGA的数字钟必将脱颖而出迅速占领市场。基于FPGA的数字时钟的设计,体现了现代数字电路设计芯片化的思想,而且这种设计方法缩短了产品的设计周期和调试周期,提高了设计的可靠性和成功率,充分体现了可编程逻辑器件在数字电路设计中的优越性[14]。鉴于基于FPGA开发数字钟的众多优点,我们拟开发一款基于FPGA的数字钟。
1.3 论文研究的主要内容
论文研究的主要内容分2个部分,分别简述如下:
⑴ 本系统所涉及的基本原理和知识。主要包括FPGA的基本原理,VHDL的基本语法,Quartus ii的基本操作等。
3
中北大学2012届毕业设计说明书
⑵ 基于FPGA数字时钟的实现。利用VHDL语言编写各数字模块,对各模块进行编译和仿真,将各模块组合成数字钟电路,对数字钟电路进行编译和仿真并将编译后生成的代码下载到FPGA器件上进行验证。
1.4 论文特色
本论文的特色之处在于设计了一个可靠性高、具有实际应用价值的数字时钟,该数字中以FPGA为载体,功耗低,计时精确,可以说是FPGA理论运用到实践的一次尝试。
4
中北大学2012届毕业设计说明书
2方案介绍
数字钟涵盖了数字电路中组合逻辑电路和时序逻辑电路两大部分及脉冲发生电路部分。数字钟的基本结构框图如下:
脉冲电路 计数电路
脉冲电路包括一个5万分频电路和一个1千分频电路。我们采用的芯片为EPM240T100C5,其系统时钟频率为50MHZ。系统时钟经5万分频后作为显示电路的时钟,经5万分频再经1千分频后作为计数电路的时钟。
计数电路包括两个六十进制计数器和一个二十四进制计数器。两个六十进制计数器分别用于分和秒的计时,二十四进制计数器用于时的计时。时、分、秒三个计数器采用同步计数方式,其时钟脉冲端均接经5千万分频的时钟信号。en为计数使能端,高电平有效。每来一个秒脉冲,秒计数器计一个数,当秒计数器计到60时,其进位输出端co输出高电平产生进位,使分计数器en使能有效,每来一个计数脉冲,分计数器计一个数,这就意味着满60s进min;当秒计数器和分计数器都计到60,其相应的秒计数器的co和分计数器的进位co同时输出高电平使小时的计数器的使能端en有效时,每来一个计数脉冲,小时计数器计一个数,因此应将分、秒计数器的co端相与后接到计数器的en端[1]。当三个计数器的复位端reset同时送入低电平时,三个计数器同时归零。
扫描电路由六进制计数器、3线8线译码器、24选4数据选择器组成。扫描电路主要负责将计数电路输出的计时信号进行转码并送入显示电路,同时该电路还要将相应的的数码管的选通,以此来配合显示电路完成时间的显示。
显示电路主要负责时间的显示,其输出端接六个七段数码管。
以上所涉及的电路模块,如六十进制计数器、二十四进制计数器、三线八线译码器等均由VHDL通过Quartus ii实现。之后再将各电路模块用导线连接起来,完成整个电路的设计。将电路进行编译、仿真、下载到FPGA中即可。
5
扫描电路 显示电路 图2.1 数字钟的基本结构框图
中北大学2012届毕业设计说明书
3 脉冲电路实现
计数电路所需时钟信号为1HZ,扫描电路所需时钟信号为1KHZ,而系统时钟为50MHZ,所以要对系统时钟进行分频以来满足电路的需要。
3.1 五万分频器电路实现
在这里我们设计了五万分频器电路模块。其对应的VHDL代码、模块符号及功能仿真波形分别如下:
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;
ENTITY FP50000 is
port(fh:in std_logic; fl:buffer std_logic); end;
architecture one of FP50000 is
signal m0,m1,m2,m3,m4:std_logic_vector(3 downto 0);
begin process(fh) begin
if fh'event and fh='1' then if m0<\
elsif m1<\
elsif m2<\
elsif m3<\elsif m4<\
then m4<=m4+1;m3<=\
else m1<=\”0000”;fl<=NOT fl ;
6