基于FPGA的数字钟设计说明.doc
《基于FPGA的数字钟设计说明.doc》由会员分享,可在线阅读,更多相关《基于FPGA的数字钟设计说明.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. 摘 要 伴随着集成电路技术的发展, 电子设计自动化(EDA)技术逐渐成为数字电路设计的重要手段。基于FPGA的EDA技术的发展和应用领域的扩大与深入,使得EDA技术在电子信息,通信,自动控制,计算机等领域的重要性日益突出。 本设计给出了一种基于FPGA的多功能数字钟方法,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,QuartusII作为运行程序的平台,编写的程序经过调试运行,波形仿真验证,下载到EDA实验箱的FPGA芯片,实现了设计目标。系统主芯片采用CycloneII系列EP2C35F672C8。采用自顶向下的设计思想,将系统分为五个模块:分频模块、计时模块、报时模块、
2、显示模块、顶层模块。用VHDL语言实现各个功能模块, 图形输入法生成顶层模块. 最后用QuartusII软件进行功能仿真, 验证数字钟设计的正确性。测试结果表明本设计实现了一个多功能的数字钟功能,具有时、分、秒计时显示功能,以24小时循环计时;具有校正小时和分钟的功能;以与清零,整点报时功能。关键词:EDA技术;FPGA;数字钟;VHDL语言;自顶向下AbstractAccompanied by the development of integrated circuit technology, electronic design automation (EDA) technology is b
3、ecoming an important means of digital circuit design. FPGA EDA technology development and expansion of application fields and in-depth, the importance of EDA technology in the field ofelectronic information, communication, automatic control, computer, etc. have become increasingly prominent. This de
4、sign gives a FPGA-based multifunctional digital clock using EDA as a development tool, VHDL language and graphical input hardware description language, the QuartusII as a platform for running the program, written procedures debugging and running, the waveform simulation downloaded to the FPGA chip t
5、o achieve the design goals. The main system chip CycloneII series EP2C35F672C8. Adopted a topdwn design ideas, the system is divided into five modules: frequency module, timing module, timer module, display module, the top-level module. With VHDL various functional modules, graphical input method to
6、 generate the top-levelmodule. Last QuartusII under simulation, to verify the correctness of the digital clock design.The test results show that the design of a multifunctional digital clock, with seconds time display, 24-hourcycle timing; has a school, cleared, and the whole point timekeeping funct
7、ions.Key words: EDA technology; FPGA; VHDL language; top-down; digital clock目录1 绪论41.1 研究背景41.2 研究目的51.3 研究方法和容52 本软件开发环境52.1 FPGA简介52.1 .1 FPGA概述62.1.2 FPGA基本结构6图2-1 CLB基本结构82.1.3 FPGA系统设计流程82.1.4 FPGA开发编程原理102.2 QuartusII设计平台102.2.1 软件开发环境与基本流程102.2.2 软件的具体设计流程113总体设计方案123.1 数字钟的硬件构成原理123.2 软件设计的功
8、能框图和流程框图134 软件设计与功能实现154.1 分频模块功能的软件设计与实现154.2 计时校时模块功能的软件设计与实现164.3 整点报时模块功能的软件设计与实现174.4 扫描译码显示模块功能的软件设计与实现174.5 顶层模块功能的软件设计与实现185 系统功能调试与分析186 结论与展望196.1 结论196.2 展望20参考文献22附录23 基于FPGA的数字钟设计1 绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技
9、术为代表,而后者的代表就是电子设计自动化(electronic design automatic,EDA)技术。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以与可实时在线检测等优点。本设计采用的VHDL语言是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。数字化的钟表给人们带来了极大的方便。
10、近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。而基于FPGA的数字钟设计能极大的扩展其功能。1.1 研究背景当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低。同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。 EDA是电子设计自动化(Elcct
11、ronic Design Automation)的缩写,是90年代初从CAD(计算机辅助设备),CAM(计算机辅助制造),CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言VHDL完成设计文件,自动的完成逻辑编译,化简,分割,综合与优化,布局布线,仿真以与对特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器, 综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的VHDL原理图或状态图形描述,针对给定的硬件系统组件,进行编译,优化,转换和综合,最终获得我们将实现的功能的描述文
12、件。综合器在工作前,必须给定要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来,也就是说综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与目标器件CPLD相映射的网表文件。适配器的功能是将由综合器产生的网表文件配置与指定的目标器件中,产生最终的下载文件。适配器所选的目标器件(CPLD芯片)必须包含于在综合器中已指定的目标器件系列。本次数字钟设计利用VHDL硬件描述语言和图形输入相结合的编程方式,并通过可编程逻辑器件FPGA进行硬件设计,用LED数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等。利用可编程逻辑器件具有
13、其他方式没有的特点,它具有成功率高,理论与实践结合紧密,体积小,容量大,I/O口丰富,易编程和加密等特点,并且它还具有开放的界面,丰富的设计库,模块化的工具等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件FPGA来实现。1.2 研究目的现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数
14、字化为基础的。因此,研究数字钟与扩大其应用,有着非常现实的意义。1.3 研究方法和容本设计主要研究基于FPGA的数字钟,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,采用自顶向下的设计思想,QuartusII软件作为运行程序的平台。设计的数字钟时间以24小时为一个周期,用LED数码管动态显示时、分、秒。具有清零和整点报时功能,可以对小时,分钟进行单独校对,使其校正到标准时间。校对时间由按键进行控制,为了保证计时的稳定与准确,须由晶体振荡器提供时间基准信号并经分频得到。2 本软件开发环境2.1 FPGA简介2.1 .1 FPGA概述FPGA是现场可编程门阵列(Field Prog
15、rammable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件CPLD/FPGA。CPLD/FPGA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLD/FPGA
16、开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLD/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言VHDL的进步。2.1.2 FPGA基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnec
17、t Resource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以与IOB之间连接起来,构成特定功能的电路。1. CLB是FPGA的主要组成部分。图1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G、F和H。G有4个输入变量G1、G2、G3和G4;F也有4个输入变量F1
18、、F2、F3和F4。这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合起来,可实现多达9变量的逻辑函数。CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以与输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。CLB中的
19、逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。另外,逻辑函数发生器F和G还可以作为器件高速RAM或小的可读写存储器使用,它由信号变换电路控制。2. 输入/输出模块IOB。IOB提供了器件引脚和部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路:一路可以直接送到MUX,另一路延时几个纳秒(或者没有延时
20、)后送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力。3. 可编程互连资源IR。可编程互连资源IR可以将FPGA部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由
21、许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。可编程开关矩CLBCLBCLBCLBCLBBCLBCLBCLBCLB矩CLBCLBCLB块CLBCLBBCLBCLBCLBCLBCLBCLB输入输出模块互连资源图2-1 CLB基本结构2.1.3 FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是自顶向下的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉与实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高
22、层次描述转换为针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图2.2所示。流程说明:1.工程师按照“自顶向下”的设计方法进行系统划分。2.输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式,这种输入方式具有直观、容易理解的优点。3.将以上的设计输入编译成标准的VHDL文件。4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字 设计 说明
限制150内