FPGA数字跑表课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本设课程设计是基于FPGA的数字跑表的设计,利用Verilog HDL 语言和Quartus II软件以及FPGA实验操作平台来实现的。本论文的重点是用硬件语言Verilog HDL 来描述数字跑表,偏重于软件设计。大致内容是首先简单介绍了EDA的现状和前景, Verilog HDL 语言特点,应用平台FPGA,之后阐述了数字跑表的设计思想和大体的设计流程,最后进入本设计的核心设计部分,用Verilog HDL 语言设计数字跑表电路,着重对各个模块进行了详细的分析和说明。
【关键词】Verilog HDL 语言;Quartus II 软件;数字秒表
目录
1 绪论 (2)
1.1 EDA的现状和发展及FPGA简介 (2)
1.2 Verilog HDL语言及QuartusⅡ软件简介 (2)
1.3 基于FPGA实现数字跑表运行的方案设计基本原则 (3)
1.4 论文主要完成的工作 (3)
2 系统的硬件设计 (4)
2.1数字跑表概述 (4)
2.2整体方案设计和功能分割 (4)
2.3各功能模块的设计和实现 (6)
2.4 控制系统的实现 (8)
3 系统的软件设计 (8)
3.1 软件整体设计 (8)
3.2主要模块软件设计(主要模块流程图和仿真波形图) (9)
4 总结 (12)
参考文献 (13)
1.绪论
1.1 EDA简介及FPGA简介
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20
世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。而电子设计自动化(EDA)的实现是与
CPLD/FPGA技术的迅速发展息息相关的,利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现了系统的集成。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。随着计数的进步,自动化设计工具(从CAD到EDA及ESDA:Electronic System Design Automation)已成为电子信息设计人员所必需熟悉和掌握的一门技术。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。自1985年Xilinx公司推出第一片现场可编程逻辑器件至今,FPGA已经历了十几年的历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。它之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入"片上可编程系统"(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
1.2Verilog HDL语言及QuartusⅡ软件简介
Verilog HDL语言是1983年GDA公司的Phil Moorby首创的,之后Moorby 有设计了Verilog-XL仿真器获得很大成功,也使得Verilog HDL语言得到发展和推广。Verilog HDL语言是在C语言的基础上发展而来的。从语法结构上看,Verilog HDL继承和借鉴了C语言的很多语法,两者有许多的相似之处,但Verilog HDL作为一种硬件描述语言,还是有本质的区别。即可适于可综合的电路设计,也可胜任电路和系统的仿真;能在多层次上对所设计的系统加以描述,从开关级、门级,寄存器传输级到行为级等都可以担任,而且没规模限制;灵活多变的电路描述风格,可进行行为描述,也可进行结构描述等;应用十分的广泛。
QuartusⅡ软件是Atlera的CPLD/FPGA集成开发软件,具有完善的可视化设计环境,并具有标准的EDA工具接口,基于QuartusⅡ进行EDA设计开发需要以下步骤:设计输入、编译、仿真、编程与验证等。
1.3 基于FPGA实现数字跑表运行的方案设计基本原则
首先,要注意FPGA的逻辑设计所采用的硬件描述语言Veri-log HDL与软件语言C和C++有本质区别,在使用硬件描述语言进行设计时,不应片面追求代码的简洁。
其次,要采用正确的编码方法对所需实现的硬件电路的结构和相互连接有清晰的理解和构想,然后再用适当的Veri-log HDL语言表达出来。实际上综合软件对所写的代码在进行推论的时候,得到的硬件结果会因编码方式的不同而不同,直接影响硬件的现实。
FPGA作为硬件系统设计,应该对设计全局进行宏观上的合理安排,包括控制系统逻辑功能模块划分,时钟域信号的产生和驱动,模块复用,时序或引脚约束等。模块化设计时系统原则的一个很好体现,它是自顶向下模块划分,分工协作设计思路的集中体现,是大型复杂系统的推荐设计方法。
在设计电路时,可以有异步电路和同步电路两种方法。异步电路使用逻辑电路实现,没有统一的时钟信号,容易产生毛刺和竞争冒险:同步时序电路使用组合逻辑和触发器实现电路功能,主要信号和输出信号由时钟驱动触发器产生,能够避免毛刺,信号稳定。
基于FPGA实现数字跑表运行的方案设计如下图所示: