FPGA数字跑表课程设计
更新时间:2023-12-18 00:17:01 阅读量: 教育文库 文档下载
基于FPGA的数字跑表的设计
摘 要
本设课程设计是基于FPGA的数字跑表的设计,利用Verilog HDL语言和Quartus II软件以及FPGA实验操作平台来实现的。本论文的重点是用硬件语言Verilog HDL 来描述数字跑表,偏重于软件设计。大致内容是首先简单介绍了EDA的现状和前景, Verilog HDL 语言特点,应用平台FPGA,之后阐述了数字跑表的设计思想和大体的设计流程,最后进入本设计的核心设计部分,用Verilog HDL 语言设计数字跑表电路,着重对各个模块进行了详细的分析和说明。
【关键词】Verilog HDL 语言;Quartus II 软件;数字秒表
- 1 -
基于FPGA的数字跑表的设计
目 录
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
- 2 -
基于FPGA的数字跑表的设计
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动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
- 3 -
基于FPGA的数字跑表的设计
1.2 Verilog 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实现数字跑表运行的方案设计如下图所示:
电源系统 FPGA 数码管显示 开关按钮 - 4 -
基于FPGA的数字跑表的设计
1.4论文主要完成的工作
(1) 阐述了数字跑表的设计思想和大体的设计流程;
(2) 用Verilog HDL 语言设计数字跑表电路,着重对各个模块进行了详
细的分析和说明;
(3) 功能仿真图及程序流程图; (4) 结论及心得体会。
2.系统的硬件设计
2.1数字跑表概述
设计题目:数字跑表电路设计
设计要求:数字跑表是生活中常见的一种电子产品,特别应用与体育比赛中。 本数字跑表是通过按键来控制计时的起点和终点,一个是复位控制按键,用于设计跑表为初始零状态;另一个则是开始/停止控制按键,在复位控制无效的情况下,按一下开始/停止键则计时器开始计时,再按一下则暂停计时,再按一下则继续计时。
具体性能如下:
(1) 跑表的计时范围为0.01s~59min59.99s,计时精度为10ms; (2) 具有异步复位清零、启动、计时和暂停功能; (3) 输入时钟频率为100Hz;
(4) 要求数字跑表的输出能够直接驱动共阴极7段数码管显示.
设计工作:
(1) 分析功能要求,划分功能模块;
(2) 编写各模块的VerilogHDL语言的设计程序; (3) 在QuartusⅡ软件上完成设计和仿真;
(4) 根据实验室FPGA芯片,将设计生成配置文件,然后将配置文件
下载到实验装置上运行,操作设定的功能按键,验证设计效果。
2.2整体方案设计和功能分割
根据设计要求,对数字跑表进行结构和功能的划分。计数器部分设三个输入端,分别为时钟输入(CLK),复位(CLR)和启动/暂停(PAUSE)按键。复位信号高电平有效,可对跑表异步清零;当启动/暂停键为低电平时,跑表开始计时,
- 5 -
基于FPGA的数字跑表的设计
开始 Y CLR=1? N Y ML=9? 分钟计数进程程序流程图 清零显示 N Y MH=5? ML=0 N MH=MH+1 MH=0 结束
- 11 -
基于FPGA的数字跑表的设计
开始 Y CLR=1N Y SL=9? 秒计数进程程序流程图 清零显示 N Y SH=5? N SL=0 SH=SH+1 MH=0,cn2=1 结束
开始 分钟计数进程程序流程图 Y CLR=1? N Y ML=9? 清零显示 N MH=5? Y N MH=MH+1 MH=0 ML=0 结束 - 12 -
基于FPGA的数字跑表的设计
4.总 结
写到这里为期一周的EDA课程设计就要结束了,通过近段时间的学习实践,我初步掌握了Verilog HDL这种目前应用最广泛的硬件描述语言的编写方法以及联机验证的整个流程,圆满完成了期末设计。具体来讲,我的思路时这样的:
1:复习、自学。复习课本《数字系统设计与Verilog HDL》以及老师的课件,重点掌握了VerilogHDL语言的程序设计;QuartusⅡ软件的一些应用,比如原理图的设计、波形仿真等;FPGA芯片的下载和运行等。
2:设计。利用自己已有的知识认真分析数字跑表的功能,对整个流程有了初步了解;依照自己的思路在图书馆借阅书籍和网上的资料进行了深入分析;完成了此设计中最关键的编程工作,这是一个比较艰难的过程,写了又改,改了再改,循环好几次后终于QuartusⅡ软件编译通过,仿真的波形达到了理想的结果。最后是下载到FPGA,连接硬件电路,验证设计效果。
3:撰写论文。本以为这是最简单的一个环节,其实不然,要把自己想的东西和那些都是字母和数字的程序用语言表达出来,也是任重而道远。基本格式是什么?要求又是什么?如何做到即简洁又含金量高呢?根据老师的建议,带着一个个问题看了很多优秀的作品,从中找到一些技巧,反复修改和完善,完成了论文的撰写工作。
以上三个步骤时是密不可分的,它们相互协调,相互影响。在我心里,始终以大局为重,三项工作齐头并进,在实践的过程中不断地摸索和积累,寻找更好的设计方法,及时完善不足、改正错误和,才有了课程设计的顺利完成。
最后对这门课设提出如下一些意见:
1、课程设计过程中感到我校的实验指导书的指导价值并不大,对于一些模块的编写指导不够详细。可以适当的很详细地编写一些常见重要的模块,如顶层模块、显示模块、计数模块等,因为这些在绝大部分书本上以貌似简单而很少涉及,造成了同学们对设计的整体意识不高。
2 、提高实验的次数和要求,在本学期的实验中,很大部分同学都没有真正掌握,仅仅是知道一些理论,真正能够做出来的少之又少。但是通过此次课程设计,同学们有了很大的提高,可是只有些后悔之心,为什么之就前不懂呢?
在此次课程设计过程中,我提升了自己的自学能力和动手能力,得到了老师和同学们的悉心指导,使我受益匪浅,很多思路和方法都是在讨论过程中逐渐形成和完善的,在此表示衷心的感谢。在完成自己的设计后,我还帮助其他同学解决了一些问题,拓展了自己的思路,享受了合作的快乐,增进了友谊,这也是一笔很大的收获。
- 13 -
基于FPGA的数字跑表的设计
参考文献
[1] 朱如琪. FPGA设计实践教程[M].北京: 科学出版社,2009.
[2] 王金明. 数字系统设计与Verilog HDL[M]. 北京:电子工业出版社,2010. [3] 黄智伟. FPGA系统设计与实践[M]. 北京: 电子工业出版社,2008. [4] 李宥谋. 基于Verilog的FPGA设计基础[M]. 西安: 西安电子科技大学出版社,2009 .
- 14 -
正在阅读:
FPGA数字跑表课程设计12-18
幼儿园大班语言教案《秋天的雨》含反思05-05
济南市2022版高二上学期化学期中考试试卷(I)卷04-12
大学生职业生涯人物访谈03-11
那一缕洁白的芬芳作文500字06-28
高一物理加速度练习题08-29
德化陶瓷文化12-08
电网对称故障下基于active crowbar双馈发电机控制08-05
中华人民共和国第十届运动会06-07
,三分药七分养11-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 跑表
- 课程
- 数字
- 设计
- FPGA
- 租车合同带司机
- 分数的巧算(A)六年级奥数题之专题串讲试题(附答案)2013
- 趣味国学专题知识讲座(练习题)(240)
- 房地产市场营销试题及答案A卷
- 宝洁并购吉列案例分析
- 小学语文一年级下册第三单元备课
- 模拟法庭 - 民事案件
- 四年级奥数应用题
- 关于采光板的技术问题回答
- 某附属医院三甲复评相关问题
- 《建设项目环境影响报告表》(试行)和《环境影响登记表》(试行)内容及格式
- 2009年十大宪法事件
- 吉林省普通高中2016-2017学年高三毕业第三次调研测试试卷理科数学Word版含答案
- 《应用文写作》说课稿
- 外聘教师管理系统毕业论文
- 永宏PLC与埃斯顿伺服MODBUS通讯
- 等潜水位线
- OCCI Demonstration Programs
- 顽危犯的心理矫治
- 第一章第三节优化知能演练