基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc

上传人:仙人指路1688 文档编号:3938448 上传时间:2023-03-28 格式:DOC 页数:59 大小:1.94MB
返回 下载 相关 举报
基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc_第1页
第1页 / 共59页
基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc_第2页
第2页 / 共59页
基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc_第3页
第3页 / 共59页
基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc_第4页
第4页 / 共59页
基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc》由会员分享,可在线阅读,更多相关《基于FPGA的交通灯控制电路设计毕业设计(论文)1.doc(59页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)设计(论文)题目:基于FPGA的交通灯控制电路设计摘 要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。本文介绍基于FPGA的交通灯控制电路设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。交通灯控制系统可以实现路口红绿灯的自动控制。基于FPGA设计的交通灯控制系统拥有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。本设计采用A

2、ltera公司Cyclone系列的EP2C5Q208C8N芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,根据仿真结果结果显示该系统能够自动控制交通灯转变。【关键词】VHDL 交通灯 EDAABSTRACTWith the development of the economy,microelectronic technology, computer technology and the automatic theory are developed rapidly. It

3、s application is becoming more and more widely. But the traffic light as an important traffic,it also has developed quickly with the improving requirement of the people.On all the system of the traffic light,The system of traffic control which designed based on FPGA is accepted by more and more peop

4、le.The system of traffic control can realize the automatic control of traffic light in a intersection. The system of traffic control which designed based on FPGA has many characteristics such as simple circuit,reliable operation,toerase function quickly with real-time applications,high speed,high re

5、liability,low failure rate,and small volume. By using the platform of software design system Quartus II and the form of the VHDL language,we simulate the system by using EPlC3T1444C8 Mars device and the result show that the download system can automatically control the traffic lights. 【KEY WORDS】: V

6、HDL traffic light EDA目 录前言1第一章 绪论2第一节 课题研究背景及意义2一、课题研究背景2二、课题研究意义3第二节 国内外研究发展概述4一、智能交通系统的发展历史与现状4二、可编程逻辑器件的发展状况5第三节 本文行文安排7第四节 本章小结7第二章 FPGA的简介8第一节 FPGA的设计流程8一、设计输入9二、功能仿真9三、综合及时序仿真9四、实现10五、加载配置与调试10第二节 FPGA的应用10一、电路设计10二、产品设计10三、系统级应用10 第三节 本章小结11第三章 VHDL硬件描述语言12第一节 VHDL程序基本结构12一、实体12二、结构体13三、库14第二

7、节 VHDL语言14一、VHDL文字规则14二、VHDL数据对象14三、VHDL数据类型15四、VHDL 顺序语句15五、VHDL并行语句15第三节 本章小结16第四章 系统设计与仿真17第一节 系统介绍17一、设计任务17二、设计要求17第二节 系统设计仿真18一、顶层框图的设计18二、时序状态图的设计19三、工程设计流程框图:20第三节 各个模块的设计与仿真20一、 模块设计20二、control模块设计21三、daojishi模块设计22四、Main模块设计23五、码模块设计24六、译码显示模块设计25七、顶层文件设计25八、实现平台26第四节 本章小结27第五章 结论与展望28第一节

8、结 论28第二节 展 望28致 谢30参考文献31附录32一、英文原文32二、英文翻译40三、程序代码47 前言当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断进行更新换代,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师更愿意自己设计专业集成电路(ASIC)芯片,而且希望设计周期尽可能短,最好在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程器件(FPLD)、现场可编程门阵列(FPGA),即属其中应用最广泛的一种。随着电子技术的发展,特别是大规模集成电路和计算机技术的研制和发展,让电子产品

9、设计有了更好的应用市场,实现方法也有了更多的选择,而电子电路的设计却变得越来越复杂,使用“语言”进行电子设计已成为一种趋势。现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。基于EDA技术的现场可编程门阵列(FPGA)电路,在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考

10、虑具体的硬件结构。基于EDA技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考虑具体的硬件结构。第一章 绪论第一节 课题研究背景及意义 一、课题研究背景交通信号灯在人们的日常生活中起着至关重要的作用。但是随着国民经济的快速发展,城市化建设规模的不断扩大,人们对交通信号灯在协调交通、管理交通等方面的能力,提出了更高的要求。尤其是在当今社会,城市交通拥堵,城市交通

11、基础设施滞后,常见的交通信号灯不能很好的处理人、车、路三者之间的协调关系,由此带来了很多问题1。常见的问题有以下几个方面:交通事故发生频率居高不下,人民生命财产损失严重。根据统计研究表明:在全世界范围内,每年都有将近一百一十四万人死于交通事故,这个人数可以与战争当中的死亡人数相比。20世纪,由于交通事故,全世界共死亡的人数有两千五百八十五万人,该数字比第一次世界大战中死亡的人数还要多。在长达十年的战争中,美军共死亡五万人,这个数字相当于20世纪70年代美国一年的交通事故死亡人数。而且,20世纪一共生产了大约二十二亿多辆机动车,也就是说,每一百辆机动车平均夺走1.2人的生命。交通拥堵状况日益严重

12、,能源与经济损失惨重,交通问题是困扰城市经济社会发展的诸多原因之一。在世界许多大城市,如纽约、巴黎,其市中心高峰时车速仅在16公里/小时时左右,公共汽车速度更低;在日本东京市内,早晚高峰时车速仅为9公里/小时左右,最低时只有4公里/小时左右,出现了乘车比步行还慢的情况。我国许多城市市区,早晚高峰时车速也仅为10公里/小时。交通问题也给全世界带来了不小的经济损失。根据统计研究表明:在英国一个大约有一百个平面交叉路口的城市内,每年由于车辆的延误而造成的经济损失就达400万英镑。在东京,通过268个主要平面交叉路口的低效率交通流引起的年经济损失约为2亿美元;在巴黎,每天由于交通拥挤引起的损失时间相当

13、于一座拥有十万人口的城市的一个工作日。交通问题引起的空气污染和噪声污染日益加剧,汽车尾气排放以及噪声都是严重的环境污染源。在城市的日常生活当中,由于交通问题所带来的空气污染和噪声污染尤为严重。对于城市中有限的土地资源和能源来说,交通问题还间接的造成了资源的使用率低下,公共运输系统的吸引力降低,运行效率下降,严重影响了人们生活的质量。由这些问题我们可以清楚的认识到,交通控制的意义显得尤为重要。随着计算机技术、通信技术、信息技术、控制技术等一些列高新技术的发展,给智能交通系统的发展带来了突破性的进展,同时也给交通灯控制系统的发展,这一智能交通系统的重要组成部分带来了新的曙光。本课题的研究背景涉及以

14、下几个方面:其一是智能交通系统的研究与应用,其二是EDA技术的研究与实践,第三是可编程逻辑技术的研究与应用。交通控制系统是智能交通系统的重要组成部分。目前,智能交通系统是我国交通运输领域的前沿研究课题。所研究的核心问题是针对日益严重的交通需求以及交通资源压力,采用信息技术、通信技术、计算机技术等,对传统的交通运输系统进行深入的改造,以提高系统资源的使用效率和提升交通企业的服务和管理水平。二、课题研究意义 在城市道路中,交通信号控制是至关重要的,尤其是交叉路口的。因为在不同时刻,交叉路口的机动车流量是不确定和复杂的,而固定时间控制方法的使用常常会导致出现空等现象的产生,使道路有效利用时间被白白浪

15、费,严重影响了道路的通畅。这不仅让司机乘客抱怨,更重要的是这会对人力和物力资源造成极大的浪费。在人多、车多道路少的道路交通拥堵状况已经很明显的情况下,采用有效的方法控制交通信号势在必行。 在数字集成电路设计中,交通信号控制系统2的设计一直是热点研究问题。但是若采用专用集成电路(Application Specific Integrated Circuit,ASIC)进行定制生产不仅成本高昂,而且开发周期长,无法迅速开发出产品投入市场。而现场可编程门阵列(Field-Programmable Gate Array,FPGA)作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制

16、电路的不足,又克服了原有可编程器件门电路数有限的缺点。相对于ASIC设计开发,FPGA的设计开发周期短,定制成本低,FPGA设计流程避免了复杂又耗时的布局和布线、时序分析、掩模以及项目的re-spin等阶段,这是因为设计逻辑已经被综合到特定的,经过验证的FPGA器件上来。在以前FPGA多用于速度、复杂度和容量都比较低的设计中,但是随着技术的进步,现在的FPGA可以轻松突破500MHz的性能障碍,这使得FPGA能够以更高的性价比实现更大的逻辑密度和其它的很多特性(例如嵌入式CPU、DSP模块和高速串行),当今FPGA已经成为绝大多数设计项目,特别是需要快速投放市场并且支持远程升级的小型设计项目的

17、首选3-4。 本文就是在这样的背景下研究基于FPGA的交通灯实时控制系统的设计与实现。在EDA技术的基础上,以FPGA为开发平台,采用Verilog HDL硬件描述语言,设计为了解决上述问题,多年来各国政府都采取了各种手段解决,主要有加强交通规划,加大交通基础设施建设投入,使用行政手段改变交通运行规律。但面对迅猛增长的机动车保有量,这些方法都不能长远地解决问题。而随着环保意识的增强,人们越来越多地从节约能源,谋求社会可持续发展的角度来考虑问题。为此,在长期的摸索解决问题后,随着电子技术,计算机技术以及信息技术的高速发展,将人、车、路三者综合起来,通过系统工程的观点思考,并把计算机,电子,通信以

18、及控制技术的智能交通系统(IntelligentTransportationsystem,简称ITs)5就自然诞生了,并且迅速在世界各国推进。交通信号控制系统作为智能交通系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用,所以交通信号控制系统也成为当前研究发展热点。第二节 国内外研究发展概述一、智能交通系统的发展历史与现状智能交通系统是将先进的计算机处理技术、信息技术、数据通信传输技术、自动控制技术、人工智能及电子技术等有效地综合运用于交通运输管理体系统中,建立一种在大范围内、全方位发挥作用的准时、准确、高效的交道运输管理体系。早期的智能交通研究工作,可以追溯到1

19、970年,当时美国开发出了ERGS电子道路诱导系统(Electronic Route Guidance system)。随后,日本在1973年,开发出了eATes汽车交通综合控制系统(emprehensive Automobile afficeontrol system)。与此同时,德国也在七十年代开发出了ALI驾驶员引导和公路信息系统(Autofahrer Leitund hiformation System)。但是,智能交通系统这一概念的正式提出,应该从1990年美国智能交通学会(当时称美国智能车辆公路学会,HvTS)开始的。对智能交通系统研究和实施的大力开展也是从这个时候步入了飞速发展的

20、阶段。经过了十几年的研究、试行和发展。现已证明,解决目前经济发展所带来交通问题的最理想方案便是智能交通系统。智能交通系统是将信息处理、通讯、计算机和电子技术集成到一起的一项新技术领域。智能交通系统能最佳利用现有宏观交通设施(道路、桥梁、隧道等),有效地缓解交通堵塞,减少交通事故,建立舒适安全的交通环境。迄今为止,在世界范围内都己经有了成功应用的范例。美国于1992年制定了美国智能交通系统战咯规划,规划中将智能交通系统划分为先进交通管理系统(ATMS)、先进出行信息系统(ATIS)、先进车辆控制与安全系统(AVcsS)、车辆操作系统(Cvo)、先进公共交通系统(APTS)、农区交通系统(RTS)

21、等研究开发领域。与此同时,大规模的智能交通试验项目在美国地方政府、企业和有关院校的支持下迅速展开。美国在以下几个方面的应用与实践中取得了丰富的经验,比如城市交通监控与管理、智能化交通指挥、交通信息诱导、电子收费、无人管理城市停车、商务车辆的智能化管理与调度、智慧卡与预付卡在公共交通中的应用、505急救电话以及系统互联等等。这些系统的应用面积已经覆盖了美国80%以上的国土。欧洲和日本等一些发达国家,在智能交通系统的研究与应用中也取得了不错的成效。与美国不同的是,日本对于智能交通系统的研究更加侧重于城市交通管理和交通信息系统,取得了很多重要成就,比如都市交通监控与智能交通信号控制、高速公路监控系统

22、、实用城市停车系统、出行信息系统、车辆导航系统、车辆定位系统、公共汽车定位与到站预报系统、电子收费系统、隧道监视及事故检测系统、数字地图系统等等。我国的智能交通系统还处于起步阶段,还没有制定统一的标准。但是智能交通系统的出现给我国的交通运输行业带来了巨大的机遇和挑战,交通设施、交通管理以及交通工具都会发生巨大的变革。交通灯控制系统是城市交通控制系统的重要组成部分,也是智能交通系统的重要组成部分。二、可编程逻辑器件的发展状况 早期的可编程逻辑器件6只有可编程只读存贮器(PROM)、紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字

23、逻辑功能。之后,出现的一类可编程芯片在结构上稍微复杂一些,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“或”门和一个“与”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。 这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“

24、与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑GAL(Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工艺,实现了电可按除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。 为了弥补这一缺陷,上世纪八十年代中期,Xilinx和Altera分别推出了类似于PAL结构的扩展型CP

25、LD(Complex Programmab1e Logic Dvice)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10000件以下)之中。几乎所有应用门阵列、PLD和中小规模

26、通用数字集成电路的场合均可应用FPGA和CPLD器件。 经过25年的发展,制造工艺不断进步,FPGA和CPLD器件受到越来越多的电子系统设计师的关注,其优越性也渐渐显现,主要表现在以下几方面: FPGA的可编程性是与生俱来的,它导致了电子设计的软硬件协调和并行,极大地提高了设计效率并减少了资源占用。 由于掩膜成本、工具成本和开发成本(人年数)居高不下,ASIC设计的NRE(一次性工程费用)又变得难以接受(45纳米工艺ASIC的投片成功率理论上为50%),相反FPGA比ASIC的开发时间平均少55%,所以近3年来电子系统用ASIC的设计下降了50%。 从1990年到2010年,FPGA的价格下降

27、到原来的1/2500,集成度提高了1000倍,功耗降低到原来的1/250,速度提高了200倍。 从只用于原型设计,到代替定制芯片,FPGA市场迅速扩展到ASIC的传统市场,将来很多系统会以FPGA为中心来设计。 随着国家的重视,目前国内研究和开发FPGA的机构逐渐增多,包括学校、科研院所及公司,但真正在市场上能够卖的产品并不多。中国作为一个大国,站在国家的战略层面上看,FPGA是必须发展的,即使没有自主创新的技术,但至少也要做到自主可控。因为FPGA代表了集成电路非常重要的方向,今后有可能像CPU一样。当国内企业的水平离那些发达国家很远的时候,还能够购买到一些产品。但随着国内企业技术水平的逐渐

28、提高,以至于和其越来越接近,这时候,发达国家对核心器件的控制就会很严格,核心技术和产品便不能轻易得到。国内FPGA最有可能突破的领域主要是以下两个:第一是应用在国家核心安全部门的FPGA,如军事及航空航天领域,这些领域会比较强地体现国家意志;第二是用量比较大的嵌入式应用,就是把FPGA嵌入到SoC的电路中。在可编程器件生产及应用方面,国内企业虽然起步晚,但在由中国制造模式转变为中国创造模式的发展趋势下,中国自己的FPGA企业必有崭露头角的一天。第三节 本文行文安排本文行文安排如下:第一章 主要论述本课题的研究意义及背景,表明了本课题研究的重要性。然后回顾了国内外智能交通系统与可编程逻辑器件的发

29、展历史与现状,并对本文做了安排,给读者一个清晰的论文框架。第二章 对FPGA做了系统描述,其中主要包括FPGA的概述、应用,为下文奠定了理论基础。第三章主要详细描述了VHDL语言程序基本结构,包括实体、结构体、库,接着论述了VHDL的文字规则、数据对象、数据类型、顺序语句、并行语句,给了读者清晰的概念,为下文的程序设计奠定了基础。第四章主要叙述了本课题的系统介绍,包括设计任务和要求,然后主要介绍了系统设计仿真,包括顶层框图的设计、时序状态图的设计、工程设计流程框图、芯片的选择、最后是各个模块的设计与仿真,基本完成了实验的各部分设计,实现了系统要求。第五章总结了全文所做的研究,并对未来的研究做出

30、了展望。第四节 本章小结本章对论文的研究意义及研究背景进行了阐述,明确了论文的工作重点。回顾了国内外智能交通系统以及可编程逻辑器件的发展历史与现状,最后讲述了论文的基本框架,明确了每个章节的主要内容和重点,对论文的主要工作有个清楚的认识。第二章 FPGA的简介FPGA(Field Programmable Gates Array,现场可编程门阵列)7是可编程逻辑器件,他们的规模比较大,适合于时序、组合等逻辑电路的应用。它可以替代几十甚至上百块通用IC芯片。这种芯片具有可编程和实现方案容易改动等特点。由于芯片内部硬件连接关系的描述可以存放在磁盘、ROM、PROM或E2PROM中,因而在可编程门阵

31、列芯片及外围电路保持不动的情况下,换一块EPROM芯片,就能实现一种新的功能。它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此可广泛应用于产品的原型设计和产品生产之中。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。第一节 FPGA的设计流程FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程,开发流程图如图所示: 图

32、2.1 FPGA开发一般流程示意图FPGA的设计流程一般包括以下几个步骤:电路功能设计、设计输入、功能仿真、综合及时序分析、实现、加载配置和测试几个阶段8,开发流程图如上图所示。各个阶段都可以用不同的方法和工具实现,论文主要介绍一些最基本的流程,其他流程只是根据实际的项目作了少量的修改,在本质上没有变化。FPGA设计的最基本流程包括:设计输入、编写VHDL语言和仿真、综合及时序分析、实现、加载配置和调试。以下对每一步作简要的解释。一、设计输入设计输入就是将所设计的系统或者电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的输入方法有硬件描述语言(verilog或者VHDL等)

33、、原理图输入方式以及波形图输入方式。由于采用硬件描述语言具有可移植性好、易维护、效率高等特点,目前大部分设计都采用这种方式。硬件描述语言输入的方式在实质上可以理解为编写具有RTL风格的代码,把所要实现的电路描述出来。二、功能仿真代码编写完成以后就进入了功能仿真阶段,这一阶段的主要任务就是Quartus II仿真。Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整

34、PLD设计流程。Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑。功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具等。三、综合及时序仿真综合是这样一个过程,将较高级抽象层次的描述转化为较低层次的描述。即将设计输入编译成由与门、或门、非门、RAM、触发器等基本门逻辑单元组成的逻辑连接网表,并非是真是的门级电路。真实的门级电路需要利用FPGA制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。四、

35、实现实现是将综合生成的逻辑网表配置到具体的FPGA芯片当中。综合工具输出的网表包括了各种基本门电路以及它们之间的连接关系,但是FPGA内部并不存在这些门电路的物理结构,只有查找表、触发器等物理单元,因此需要把综合输出的网表配置到FPGA上,这个过程就是实现。FPGA的实现具体包含了翻译、映射以及布局布线这三个步骤。实现之后,有的清况下需要进行后仿真(也可以叫做功能仿真),具体验证实现后的逻辑是否正确,延时会不会导致功能错误等等。五、加载配置与调试布局布线完成以后,将生成的配置文件通过集成开发环境配置到FPGA当中,就可以实际测试了。如果期间出现了问题,可以使用逻辑分析仪、在线逻辑分析仪或者示波

36、器等工具进行调试。第二节 FPGA的应用 FPGA的应用可分为三个层面:电路设计、产品设计、系统设计。一、电路设计连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石。事实上在电路设计中应用FPGA要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。 二、产品设计把相对成熟的技术应用到某些特定领域开发出满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,重点在性能, FPGA技术在这个领域是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计。三、系

37、统级应用系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用Xilinx V-4,V-5系列的FPGA,实现内嵌POWER PC CPU,然后再配合各种外围功能,这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口了,这对于快速构成FPGA大型系统来讲是很有帮助的。第三节 本章小结本章主要简要介绍了FPGA,其中主要包括FPGA的概述、应用,为下文奠定了理论基础。第三章 VHDL硬件描述语言第一节 VHDL程序基本结构 在一个比较完整的VHDL程序基本上包括五部分:实体、配置、结构体、库和程序包9。程序模板如下:LIBRARY library name

38、; USE library name.package name.all;ENTITY entity name IS GENERIC ( parameter name :string:=default value; parameter name :integer:=default value); PORT ( input name,input name: IN STD-LOGIC; Input vector name:IN STD_LOGIC_VECTOR( high DOWNTO low); output name,output name:OUT STD_LOGIC);END entity n

39、ame; ARCHITECTURE a OF entity name IS SIGNAL signal name:STD_LOGIC;BEGIN -process statement (optional): -generate statement (optional) END a; 一、实体VHDL实体是一个设计实体(独立的电路功能结构)的结构之一,它的作用是对这个设计实体与外部电路进行接口描述。实体是设计实体的表层设计单元,实体说明部分规定了设计单元的输入输出接口信号或引脚,它是设计实体对外的一个通信界面。端口名是赋予每个系统引脚的名称。一个实体通常有一个或多个端口,端口类似于原理图部件符合

40、上的管脚。实体与外界交流的信息必须通过端口通道流入或流出。VHDL要求只有相同的数据类型的端口信号和操作数才能相互作用。二、结构体 图2.1 结构体构造图在这里块语句是一连串平行语句组成的组合体,它的作用是把结构体中的并行语句组成一个或着多个子模块;进程语句:定义顺序语句模块,用于将从外面获取的信号值或内部演算数据向其余的信号进行赋值10;信号赋值语句:将设计的实体内的处理结果向之前定义的信号或界面端口进行赋值;子程序调用语句:用以调用过程或函数,并将获得的结果赋值与信号;元件例化语句:就是将提前设定好的设计实体作为一个元件,然后运用映射语句把该元件与另外的一个设计实体中的指定端口,继而实现层

41、次化的设计。结构体是实体所定义的设计实体中一个构成部分。结构体描述的设计实体的内部结构和外部设计实体端口间的逻辑关系。结构体的组成部分是:对数据类型的、常数、信号、子程序和元件等元素的说明部分11。描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句。以例化语句为特征的外部元件端口间的连接。每个实体可以拥有多个结构体,但是综合器只能够接受一个结构体。并且每个结构体对应的实体不同的结构和算法实现方案,其间的各结构体的位置是平等的。三、库 库是可以看成是一种用来储存预先完成的程序包、数据集合体和元件的仓库。一般的,库中放置不同的程序包、而程序包中又可以放置不同数量的子程序;子程序中又含有函数

42、、过程、设计实体(元件)等基础设计单元。VHDL语言的库分为两类:一类是设计库,如在具体设计项目中用户设定的文件目录所对应的work库;另一类是资源库,资源库是常规元件盒标准模块存放的库。VHDL程序设计中常用的库有IEEE库,STD库,WORK库及VITAL库。在平时的FPGA/CPLD的实验和开发,IEEE库中的四个程序包STD-LOGIC-ARITH、STD-LOGIC-1164、STD-LOGIC-SIGNED和STD-LOGIC-UNSIGNED 足够工程师使用。但是也要注意在使用库之前,一定要进行库说明,库的说明总是放在设计单元的前面。 第二节 VHDL语言一、VHDL文字规则 V

43、HDL文字主要有数值型文字和字符串型文字以及标识符。数值型文字主要整数(十进制),实数(十进制,小数点),数制(进制基数#数值#指数,各部全为十进制)同时指数为零可以省略,物理数字。字符串型文字包括文字字符串以及数字字符串。标识符:用于常变量、信号、端口、子程序或参数的名字;有效字符;必须以英文字母开头;下划线必须单一,前后必须有字母或数字;不区别字母大小写。二、VHDL数据对象在VHDL中,数据对象相当于传递信息的载体,根据不同的数据类型赋予不同的值。在VHDL数据对象的中包含三中类型:常量,变量,信号。常量:顾名思义是规定的值,不能在程序中被改变。变量:用于对暂时数据的局部储存,变量值是在

44、进程内部是可实现的,没有物理意义。它只能在Process和Function中定义,必须在进程和子程序的说明性区域说明,并只在其内部有效。信号是描述硬件系统的基本数据对象,代表连接线,Port也是一种信号。三、VHDL数据类型VHDL对运算关系与赋值关系中各量(操作数)的数据类型有严格的要求,一个新的数据类型必须先建立一个类型说明。类型说明规定说明部分、结构体说明部分、子程序说明部分和进程说明部分中都中允许有类型说明。VHDL 的基本类型有:bit(位)、bit-Vector(位矢量)、Boolean、time、character、string、integer 、real。 四、VHDL 顺序语

45、句VHDL有包括六类基本顺序语句 :赋值语句、返回语句、等待语句、流程控制语句、子程序调用语句、空操作语句。赋值语句有两种赋值语句:信号赋值语句以及变量赋值语句。流程控制语句共有五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句。根据if语句判断顺序语句的对或者错,当条件满足时,执行顺序语句A;当当条件不成立是,执行顺序语句B;在用VHDL语言进行逻辑设计时,有些操作室根据某表达式的值来进行的,这时常常会用到case语句。 在满足的条件下用case 语句直接选择多项顺序语句中的某一项进行执行。其中空操作语句不进行任何操作,它通常出现在CASE语句中,利用它来表示剩下的无效条

46、件下的操作行为满足所有可能的条件。但是必须注意:条件句中的选择值必在表达式的取值范围内。 除非所有条件句中的选择值能完全覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用“OTHER”表示。 CASE语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。 CSAE语句执行中必须选中且只能选中所列条件语句中的一条。五、VHDL并行语句在VHDL中,并行语句有多种语句结构格式,各种并行语句在结构体中的执行时同步执行的。更严格的说,并行语句在执行顺序的地位上是平等的,在执行顺序与书写的顺序无关。在执行中,并行语句之间可以有信息往来,也可以是互为独立,互不相关。每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式和顺序执行方式。在结构体中的可综合的并行语句主要有七种:并行信号赋值语句;进程语句;快语句;条件信号赋值语句;元件例化语句;生成语句;并行语句在结构体中的使用格式。第三节 本章小结本章主要详细描述了VHDL语言程序基本结构,包括实体、结构体、库,接着论述了VHDL的文字规则,数据对象,数据类型,顺序语句,并行语句,给了读者清晰的概念,为下文的程序设计奠定了基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号