毕业论文基于VHDL的计程车计价器设计_第1页
毕业论文基于VHDL的计程车计价器设计_第2页
毕业论文基于VHDL的计程车计价器设计_第3页
毕业论文基于VHDL的计程车计价器设计_第4页
毕业论文基于VHDL的计程车计价器设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计(论文)题目:基于vhdl的出租车计价器的设计在实际生产生活中,出租车计价器系统是非常重要。鉴于出租车计价器系统的实际应用 性,本文设计了一个出租车计价器系统,根据预定的设计要求和设计思路,以max+plusii 软件为平台,使用vhdl硬件描述语言来实现本设计。本文的主要内容是设计系统的电路结 构,编写vhdl程序和仿真实现设计要求。最后使本设计不仅能实现计费和预置以及模拟汽 车启动、停止、暂停等功能,述能够动态扫描显示车费数目。通过仿真模拟,得到了设计结 果以及在max+plus ii软件下的仿真波形。经过对软件仿真波形和硬件调试结果的分析,可 以发现本文设计的出租车计价系统具有实用出

2、租车计价器的基本功能,能够完成模拟计费及 相关任务,如能进一步的改进,在一定范围内是可以实用化和市场化的。【关键词】:岀租车计费器 fpga max+plusii vhdlabstractthe rental car mileage fare meterm system is very important in actual production life. according to the predetermined design requirements and design ideas, this paper uses the platform of max + plus ii soft

3、ware and vhdl hardware description language to design a taximeter system. this paper mainly introduces the structure of the system and circuit design, it not only to achieve, bill, preset and simulate the start, stop, pause and other functions of car, but also to scan the showed fare number dynamica

4、lly. through the experimental simulation, it can get the results of the design and the simulation wareform by maxplus softwave. by the analysis of software simulation waveform and the hardware debugging results, it shows that the system can achieve the basic functions of taximeter, such as simulate

5、the bill and so on. if it can be further improved in other areas, marketization will be true to a certain extent.key words: the rental car costs system fpga max+plus ii vhdl摘要iabstractii目录ih前言1第一章概述2第一节 设计背景2第二节eda发展概况3一、eda系统框架结构6二、系统级设计7第三节eda技术基本特征7一、“自顶向下”的设计方法8二、asic 设计8三、硬件描述语言9四、vhdl的优点9第四节本章

6、小结10第二章出租车计费系统的设计11第一节出租车计费目标11第二节 基本设计思想11第三节设计方案比较12第四节本章小结13第三章 基于vhdl的出租车计费系统的实现15第一节vhdl相关介绍15、fpga 简介15二、部分模块设计15第二节系统框图及各功能模块的实现及主程序16一、程序流程图16二、系统总体框图17三、计费模块的实现18四、十进制转换模块的实现19五、车费路程显示模块的实现20六、八进制选择模块实现21七、显示译码模块实现22第三节本章小结23第四章系统仿真23第一节 软件 altera max+plus 介绍23一、软件功能简介23三、max+plus ii可编程设计流程

7、24四、项目编译(设计处理)25五、仿真和定时分析(项目校验)26六、器件编程下载26七、可编程逻辑常用设计输入法介绍27第二节模块仿真结果27一、十进制转换模块的仿真结果27二、计费模块的仿真结果27三、车费路程显示模块的仿真结果28四、八进制选择模块结果验证28五、显示译码模块结果验证29第三节本章小结29第五章结论30致谢31参考文献32附录33一、英文原文33二、中文翻译39三、源程序代码45计费程序模块程序45十进制转换模块程序46车费路程显示模块程序48八进制选择模块程序49显示译码模块程序50二十世纪后半期,随着集成屯路和计算机技术的飞速发展,数字系统也得 到了飞速发展,其实现方

8、法经历了由分立元件、ssl msi到lsi、vlsi以及 uvlsi的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电 路(asic)逐渐取代了通用全硬件lsi电路,而asic以其体积小、重量轻、 功耗低、速度快、成本低、保密性好而脱颖而岀。目前,业界大量可编程逻辑器件(pld),尤其是现场可编程逻辑器件(fpld) 被大量地应用在asic的制作当屮。在可编程集成电路的开发过程屮,以计算 机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电 子设计自动化(eda)技术主要能辅助进行三方面的设计工作:ic设计,电子 电路设计以及pcb设计其屮电子设计技术的核心就是ed

9、a技术,eda是指以计算机为工作台, 融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子cad 通用软件包,主要能辅助进行三方面的设计工作,即ic设计、电子电路设计 和pcb设计。它的基本特征是:设计人员按照“自顶向下叩勺设计方法,对整 个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路 (asic)实现,然后采用硬件描述语言(hdl)完成系统行为级设计,最后通过综 合器和适配器生成最终的目标器件。硬件描述语言(hdlhardware description language)是一种用于设计硬 件电子系统的计算机语言,它用软件编程的方式來描述电子系统的逻辑功能、

10、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设 计。vhdl是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和 逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因 此vhdl几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向 上的电路设计过程都可以用vhdl來完成。第一章概述第一节设计背景随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后 半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展, 其实现方法经历了由分立元件、ssl msi到lsl vlsi以及uvlsi的过程。 同时为了提高系统的可靠性与通用性

11、,微处理器和专业集成电路(asic)逐 渐取代了通用全硬件lsi电路,而asic以其体积小、重量轻、功耗低、速度 快、成木低、保密性好而脱颖而出。目前,业界大量可编程逻辑器件(pld), 尤其是现场可编程逻辑器件(fpld)被大量地应用在asic的制作当中。在可 编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计 算机技术、智能化技术最新成果的电子设计自动化(eda)技术主要能辅助进 行三方面的设计工作:ic设计,电子电路设计以及pcb设计理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构 的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。此外, 一

12、个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择。 altered公司开发的max+plus ii开发系统能充分满足可编程逻辑设计所有要 求。max+plus ii设计环境所提供的灵活性和高效性是无可比拟的。其丰富 的图形界面,辅之以完整的、可及时访问的在线文档,使设计人员能够轻松、 愉快地掌握和使用max+plus 11软件。编程器是一种专门用于对可编程器(如eprom,eeprom,gal,cpld,pal 等)进行编程的专业设备pld器件的逻辑功能描述一般分为原理图描述和硬 件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模 集成电路实现的功能直接用pl

13、d器件来实现,而不必去将现有的电路用语言 来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设 计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在 pld的设计过程中广泛使用。常用的硬件描述语言有abel,vhdl语言等, 其中abel是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等 逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;vhdl语言是一种行为描述语言,其编结构类似于计算机中的c语言,在描述复杂逻 辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言 的主流。vhdl就是超高速集成电路硬件描述语言。覆盖而广

14、,描述能力强,是一 个多层次的硬件描述语言。在vhdl语言中,设计的原始描述可以非常简练, 经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。具有良好 的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺 变化而使描述过时。因为vhdl的硬件描述与工艺无关,当工艺改变时,只 需修改相应程序中的属性参数即可。支持大规模设计的分解和己有设计的再利 用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,vhdl 为设计的分解和设计的再利用提供了有力的支持。第二节eda发展概况电子设计技术的核心就是eda技术,eda是指以计算机为工作台,融合 应用电子技术、计算机技

15、术、智能化技术最新成果而研制成的电子cad通用 软件包,主要能辅助进行三方面的设计工作,即ic设计、电子电路设计和pcb 设计。eda技术已有30年的发展历程,大致可分为三个阶段。70年代为计算 机辅助设计(cad)阶段,人们开始用计算机辅助进行ic版图编辑、pcb布局 布线,取代了手工操作。80年代为计算机辅助工程(cae)阶段。与cad相比, cae除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并口 通过电气连接网络表将两者结合在一起,实现了工程设ihcae的主要功能是: 原理图输入,逻辑仿真,电路分析,自动布局布线,pcb后分析。90年代为 电子系统设计自动化(eda)阶段

16、。中国eda市场已渐趋成熟,不过大部分设计工程师面向的是pc主板和 小型asic领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。 为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购 入一些最新的eda技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型 元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术, 积极开拓以数字技术、网络技术为基础的新-代信息产品,发展新兴产业,培 育新的经济増长点。要大力推进制造业信息化,积极开展计算机辅助设计(cad)、计算机辅助工程(cae)、计算机辅助工艺(capp)、计算机机辅助 制造(ca

17、m)、产品数据管理(pdm)、制造资源计划(mrpii)及企业资源管 理(erp)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造, 参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术 发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测 量、控制、通信与计算机(m3c)结构。在asic和pld设计方而,向超高速、 高密度、低功耗、低电压方向发展。外设技术与eda工程相结合的市场前景 看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推 动系列设计活动以应对亚太地区其它eda市场

18、的竞争。在eda软件开发方而,目前主要集中在美国。但各国也正在努力开发相 应的工具。日本、韩国都有asic设计工具,但不对外开放。中国华大集成 电路设计中心,也提供ic设计软件,但性能不是很强。相信在不久的将来会 有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在 成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了 50% 和 30% oeda技术发展迅猛,完全可以用日新月异来描述oeda技术的应用广泛, 现在已涉及到各行各业。eda水平不断提高,设计工具趋于完美的地步。eda 市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。可编程逻辑器件自70年代以来经历

19、了 pal, galcpld,fpga几个发展阶 段,其中cpld/fpga高密度可编程逻辑器件,fi前集成度已高达200万门/ 片,它将各模块asc集成度高的优点和可编程逻辑器件设计生产方便的特点 结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快速度上 市,而当市场扩大时,他可以很容易的转换掩膜asic实现,因此开发风险也 大为降低。硬件描述语言(hdl)是一种用于设计硬件电子系统的计算机语言,他 用软件编程的方式来描述电子系统的逻辑功能、电路结构和链接形式,与传统 的门级描述方式相比,他更适合于大规模系统的设计。例如一个32位的加法 器,利用图形输入软件需要输入500至100

20、0个门,而利用vhdl语言只需要 书写一行a二b+c即可。而且vhdl语言可读性强,易于修改和发现错误。早 期的硕件描述语言如abel,hdl,ahdl,由不同的eda厂商开发,互不兼容, 而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足, 1985年,美国国防部正式推出了告诉集成电路硬件描述语言vhdl, 1987年ieee采纳vhdl为硬件描述语言标准(ieee std-1076)。vhdl是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级 和逻辑门多个设计层次,支持结构、数据流和行为三屮描述形式的混合描述, 因此vhdl几乎覆盖了以往各种硬件语言的功能,整个自顶向

21、下或由下向上 的电路设计过程都可以用vhdl来完成。vhdl还具有以下特点:1 vhdl的 宽范围描述能力是他成为高层设计的核心,将设计人员的工作重心提高到了系 统功能的实现与调试,而花较少的精力于物理实现。vhdl可以用简洁明确的 代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、 保存和重用o3.vhdl的设计不依赖于特定的器件,方便了工艺的转换o4.vhdl 是一个标准语言,为众多的eda厂商支持,因此移植性好。传统的硬件电路 设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技 术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系 统

22、的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进 行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功 能模块的硬件电路连接起來再进行系统的调试,最后完成整个系统的硬件设 计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须 具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸 多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发 周期,各asic研制和生产厂家相继开发了具有自己特色的电路硕件描述语言(hardware description language,简称hdl)。但这些硬件描述语言差异很大, 各自只能

23、在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极 大的困难。因此,开发一种强大的、标准化的硕件描述语言作为可相互交流的 设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的hdl, 称之为 vhsic (very high speed integrated circuit) hardware description language,简称vhdl。这是一种用形式化方法来描述数字电路和设计数字逻 辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电 子设计自动化工具进行仿真,再自动综合到门电路,最后用pld实现其功能。 覆盖面广,描述能力强,是一个多层次

24、的硕件描述语言。在vhdl语言中, 设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的 电路或版图参数描述。具有良好的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为vhdl的硬件描述与工艺无 关,当工艺改变时,只需修改相应程序中的屈性参数即可。支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一 个人独立完成,必须由多人共同承担,vhdl为设计的分解和设计的再利用提 供了有力的支持。当电路系统采用vhdl语言设计其硬件时,与传统的电路设计方法相比 较,具有如下的特点:即从系统总体要求出发,自上而下地逐步将设计的内容 细化

25、,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型 的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段, 通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不 真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工 作的过程是否能到达系统设计的要求。第二层次是rtl方式描述。这一层次称为寄存器传输描述(又称数据流 描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很 难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方

26、式描述的vhdl语言程序改写为rtl方式描述的vhdl语言程序。也就是说, 系统采用rtl方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。第三层次是逻辑综合。即利用逻辑综合工具,将rtl方式描述的程序转 换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑 综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行 仿真,并检查其时序关系。应用逻辑综合工具产生的门网络表,将其转换成 pld的编程码,即可利用pld实现硬件电路的设计。由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每 一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以

27、大 大缩短系统的设计周期。由于目前众多制造pld芯片的厂家,其工具软件均支持vhdl语言的编 程。所以利用vhdl语言设计数字系统时,可以根据硬件电路的设计需要, 自行利用pld设计自用的asic芯片,而无须受通用元器件的限制。一、eda系统框架结构eda系统框架结构(framework)是一套配置和使用eda软件包的 规范。目前主要的eda系统都建立了框架结构,女u cadence公司的design framework, mentor公司的falcon framework,而且这些框架结构都遵守国际cf i组织制定的统一技术标准。框架结构能将来自不同eda厂商的工具软 件进行优化组合,集成在

28、一个易于管理的统一的环境之下,而且还支持任务之 间、设计师z间以及整个产品开发过程屮的信息传输与共享,是并行工程和自 顶向下设计施的实现基础。eda技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次 上分,70年代为物理级设计(cad), 80年代为电路级设计(cae), 9 0年 代进入到系统级设计(eda)。物理级设计主要指ic版图设计,一般由半导体 厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系 统级设计。仿真通过后,根据原理图产生的电气连接网络表进行pcb板的自动布局 布线。在制作pcb板之前还可以进行pcb后分析,其中包括热分析、噪声及 窜扰分析、电磁兼

29、容分析、可靠性分析等,并可将分析后的结果参数反标回电 路图,进行第二次仿真,也称为后仿真。后仿真主要是检验pcb板在实际工 作环境中的可行性。由此可见,电路级的eda技术使电子工程师在实际的电 子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风 险消灭在设计阶段,缩短了开发时间,降低了开发成本。二、系统级设计进入90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品 复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级 描述的单层次设计,设计的所有工作(包括设计输入、仿真和分析、设计修改 等)都是在基木逻辑门这一层次上进行的,显然这种设计方法不能适应新的

30、形 势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。高层次设 计是一种“概念驱动式"设计,设计人员无须通过原理图描述电路,而是针对设 计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中 于创造性的方案与概念的构思上,而且这些概念构思以高层次描述的形式输人 计算机,eda系统就能以规则驱动的方式自动完成整个设计。这样,新的概 念就能迅速有效地成为产品,大大缩短了,产品的研制周期。不仅如此,高层 次设计只是定义系统的行为特性,可以不涉及实现工艺,因此还可以在厂家综 合库的支持下,利用综合优化工。第三节eda技术基本特征eda代表了当今电子设计技术的最新发展方

31、向,它的基本特征是:设计 人员按照洎顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统 的关键屯路用一片或几片专用集成屯路(asic)实现,然后采用硬件描述语言 (hdl)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。 这样的设计方法被称为高层次的电子设计方法。下面介绍与esda基本特征有 关的几个概念。一、“自顶向下”的设计方法10年前,电子设计的基本思路还是选择标准集成电路“自底向上”的构造出 一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成 本咼而且容易出错。高层次设计给我们提供了 一种“自顶向下”(top-down)的全新设计方法,这 种设计

32、方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。 在方框图一级进行仿真、纠错,并用硕件描述语言对高层次的系统行为进行描 述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对 应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调 试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的错误,避 免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次 成功率。二、asic设计现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集 成屯路构成,这就带来了体积人、功耗大、可靠性差的问题,解决这一问题的 有效方法就是采用 aslc

33、(application specific integrated circuits)芯片进行设计。 asic按照设计方法的不同可分为:全定制asic,半定制as1c,可编程asic(也 称为可编程逻辑器件)。设计全定制as1c芯片吋,设计师要定义芯片上所有晶体管的几何图形和 工艺规则,最后将设计结果交由ic厂家掩膜制造完成。优点是:芯片可以获 得最优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费 用高,只适合大批量产品开发。半定制as1c芯片的版图设计方法有所不同,分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以 牺牲芯片性能为代价来

34、缩短开发时间。可编程逻辑芯片与上述掩膜asic的不同之处在于:设计人员完成版图设 计后,在实验室内就可以烧制出自己的芯片,无须ic厂家的参与,大大缩短了 开发周期。可编程逻辑器件自七十年代以来,经历了 pal、gal、cpld、fpga几 个发展阶段,其中cpld/fpga属高密度可编程逻辑器件,目前集成度已高达 200万门/片,它将掩膜asic集成度高的优点和可编程逻辑器件设计生产方便 的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快 的速度上市,而当市场扩大时,它可以很容易的转由掩膜asic实现,因此开 发风险也大为降低。上述asic芯片,尤其是cpld/fpga器件,

35、已成为现代高层次电子设计 方法的实现载体。三、硬件描述语言硬件描述语言(hdlhardware description language)是一种用于设计硬件 电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电 路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。 例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利 用vhdl语言只需要书写一行a二b+c即可,而且vhdl语言可读性强,易于 修改和发现错误。早期的硬件描述语言,女n abel-hdl. ahdl,由不同的 eda厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由

36、人 工完成。为了克服以上不足,1985年美国国防部正式推j vhdl(very high speed ic hardware description language)语言,1987 年 ieee 采纳 vhdl 为硬 件描述语言标准(ieee std-1076)ovhdl是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和 逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因 此vhdl几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向 上的电路设计过程都可以用vhdl来完成。!1!vhdl的优点(l) vhdl的宽范围描述能力使它成为高层次设计的核心,将设计

37、人员的工作重心提高到了系统功能的实现与调试,而化较少的精力于物理实现。(2) vhdl可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且 方便,而且也便于设计结果的交流、保存和重用。(3) vhdl的设计不依赖于特定的器件,方便了工艺的转换。(4) vhdl是一个标准语言,为众多的eda厂商支持,因此移植性好。五、系统框架结构eda系统框架结构(framework)是一套配置和使用eda软件包的规范,目 前主要的eda系统都建立了框架结构,如cadence公司的design framework, mentor公司的falcon framework,而且这些框架结构都遵守国际cfi组织(c

38、ad framework initiative)制定的统一技术标准。framework能将来自不同eda厂商 的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支 持任务之间、设计师之间以及整个产品开发过程中信息的传输与共享,是并行 工程和top-down设计方法的实现基础。第四节本章小结本章主要介绍了整个论文设计的一些背景,包括eda本身的一些特点以 及在eda目前的大致发展情况,相对于后面的设计内容,本章算是介绍了一 些要可能涉及到得基本知识。第二章出租车计费系统的设计第一节出租车计费目标本文中岀租车的计费工作原理一般分成3个阶段: 车起步开始计费。首先显示起步价(本次设计

39、起步费为7.00元),车在 行驶3 km以内,只收起步价7.00元。 车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km 车费加2.2元),车费依次累加。 行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费, 车费变成按每公里3.3元开始计费。车暂吋停止(行驶中遇红灯或中途暂吋停 车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。第二节基本设计思想一、根据生租车计费原理,将出租车计费部分由5个计数器来完成分别为 counter a, counterb, counterc, counterd, countereo 计数器 a 完成车费

40、百 位计数。计数器b完成车费十位和个位计数器c完成车费角和分。计 数器d完成计数到30 (完成车费的起步价)。计数器e完成模拟实现车行驶 100m的功能。二、行驶过程中车费附加50%的功能:由比较器实现。三、车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据 的输入即动态数据的显示。四、通过分析可以设计出系统的顶层框图如图2.1所示:图2.1系统的顶层框图第三节设计方案比较方案一:采用数字电路控制。其原理方框图如图2.2所示。采用传感器件, 输出脉冲信号,经过放犬整形作为移位寄存器的脉冲,实现计价,但是考虑到 这种电路过于简单,性能不够稳定,而口不能调节单价,也不能根据天气调节 计费

41、标准,电路不够实用,所以我们不予采用。图2.2方案二:采用单片机控制。利用单片机丰富的io端口,及其控制的灵活性, 实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图2.3所示。单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。缺点在于实现起来相对比较复杂,因此暂不考虑这种方法。图2.3方案三:采用vhdl语言vhdl具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的 逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级 描述。而且它述支持各种设计方法,既支持自底向上的设计,又支持自顶向下 的设计;既

42、支持模块化设计,乂支持层次化设计。vhdl采用基于库(library) 的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用 以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行 复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。 除此之外,采用vhdl耗费资源比较小,速度比较快,效率比较高,且易于 共享和复用。故综合以上儿点我们选择vhdl语言来设计计程车计价器。第四节本章小结本章主要阐述了我对于出租车计价器这个设计的基本的思路,以及参考多 种方案并进行对比,最终选定采用vhdl语言进行设计。第三章 基于vhdl的出租车计费系统的实现第一节v

43、hdl相关介绍一、fpga简介现场可编程门阵列fpga (fieldprogrammable gate array)是美国x ilinx公司于1984年首先开发的一种通用型用户可编程器件。fpga既具 有门阵列器件的高集成度和通用性,又有可编程逻辑器件用户可编程的灵 活性。fpga由可编程逻辑单元阵列、布线资源和可编程的i/o单元阵列 构成,一个fpga包含丰富的逻辑门、寄存器和i/o资源。一片fpga 芯片就可以实现数百片甚至更多个标准数字集成电路所实现的系统。fpga的结构灵活,其逻辑单元、可编程内部连线和i/o单元都可 以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快, 功

44、耗低,通用性强,特别适用于复杂系统的设计。使用fpga还可以实现 动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路 的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件 硕化等功能。二、部分模块设计fpga 部分可划分成两个模块,其中正弦波发生器模块乂可细分成几 个小模块。 锁存器设计锁存器用来将单片机送来的频率数据锁存稳定在fpga中,可以用片 内的锁存器资源(或用触发器)来构成。 运算器设计运算器是用来将频率数据转换成正弦波点与点之间的定时数据。该运 算器实际上最终可转换成一除法器。该除法器描述如下:vector (width r-l downto 0);end

45、 component;上述描述实际上是调用了 altera公司的参数化模块库(lpm)中的一 个元件。元件描述后,只要在程序中用generic map和port map语句映 射该元件即可。所要注意的是,上述口信号remainder是numerator和de nominator模运算的结果,所以应将remainder与denominator / 2相比较, 实际结果应在比较的基础上决定加1还是不加lo 定时器设计定时器根据运算器传来的定时数据定时。它可以通过对基准时钟计数 来实现,当定时时间一到,就触发波形的输岀。设计中采用了两个计数模块来同时计数,一个模块计数时钟的上边 沿,而另一模块则计数

46、时钟的下边沿。这样相当于使系统时钟频率提高了 一倍,充分利用了系统资源。 波形输出波形输出是当定时器满足定时要求触发后就输岀此时的正弦值,多个 点的触发输出就形成了一个正弦波。为节省芯片资源,这部分求某时止弦值的功能不采用构造运算器来算 出正弦值,而是利用查表结构。彖xilinx公司fpga芯片则可以利用cl b块来配置ram或直接利用logiblox来生成。还有彖altera公司的fie xlok系列就用查找表结构(lut)来构建片内rom或ram。在工程文 件中创建ram或rom块以后,可以通过将齐时刻的正弦值(以ascii 字符表示)写进mif文件(初始化文件)中,从而存储在ram或ro

47、m 块中。在定时器触发后生成该时的地址,通过查询该ram或rom块就 可输出该时得正弦值。第二节系统框图及各功能模块的实现及主程序程序流程图图3.1程序流程图二、系统总体框图下图所示为系统的总体框图,该系统主要由负责汽车启动,停止,暂停, 加速等功能的计费模块,负责把车费和路程转化为4位10进制数的转换模块, 负责显示车费和路程的显示模块,以及复位模块和显示译码模块等5个模块组 成。图3.2系统总体框图三. 计费模块的实现计费模块如图3.2所示,输入端口 start、stop、pause. js分别为汽 车起动、停止、暂停、加速按键。luc、chefei分别表示汽车行驶的路程及 相应的车费。图

48、3.2if(clk'event and elk二t)thenif(stop=*0,)thenchf:=o;num:=o;b:二 t;aa:=o;lc:=o;elsif(start=,o,)thenb:二 o;chf:=700;lc:=0;elsif(start=' 1 * and js-land pause二t)then if(b=o)then num:二 num+1;end if;四、十进制转换模块的实现如图3. 3所示,该模块把车费和路程转化为4位十进制数,daclk的频率 要比elk快得多4utdaclkagep.oiascore12.0ashi3.obscore12.0

49、abai3.oaqianp.o3bgep.o二bship.obbaip.obqianp.oinstpr图3.3if(combla=9 and comb 1 b=9 and comblc=9)then combla:=hoooon; comblbhoooo”; comblc:=”0000”; comb 1 d:=comb ld+1; combi :=comb 1 + 1;elsif(combla=9 and comblb=9)then combi a:=noooon; comblbhoooo”; combi :=combl + l;comb 1 c:=comb lc+1;end if;else五

50、、车费路程显示模块的实现如图3.5所示,通过该八进制模块,车费和路程将被显示出来图3.5车费路程显示模块begin comb:=c; case comb iswhert00(f=>d v=a 1;dp<=©wheir001"=>d<=a2;dp<='0'when,010,=>d<=a3;dp<=t;wheit011''=>dv=a4; when others=>null; end case;end process;end rtl;六. 八进制选择模块实现模块如图3.6所示,该模块主要

51、负责对不同时刻的车费路程的数值显示进行 选择。-se2ljl 匚elk3 r-o严n图3.6八进制选择模块beginif(clk,event and clk=,l jthen if(b=”lll”)thenb:="00(f;elseb:二 b+1;end if;end if;a<=b;end process;end rtl;七、显示译码模块实现模块如图3.7七iutd3.oq6.o一3c图3.7显示译码模块begin case d is when,0000,=>q<=,0111111m; wheif'ooo l,=>q<=,000011 (t;

52、whenoo 10"=>q <='t 011011 wheif'001'=>q<1001111”;wheif'010(t'=>q v 1100110,; wheno 101 "=>q <=" 1101101" when,0110,=>q<=,111110r,; when''0111''=>qv=''0100111" when" 1000"=>q <=" 11

53、01111" when others二q<='t 101111" end case;end process;end rtl;第三节本章小结本章首先对于主要使用的软件maxplus进行了一个简单的介绍,然后交代 了总设计的框图以及流程图,给阅读者以一个大体的印象。从3.4节开始,分 5个模块详细介绍了主要程序,一个出租车计费系统的程序在本章全部交待完 毕。第四章系统仿真第节 软件altera max+plus介绍一、软件功能简介max+plus ii (multiple array and programming logic user system)开发工 具是

54、美国altera公司推出的一种eda工具,具有灵活高效,使用便捷,易学 易用的特点。altera公司在推出各种cpld和fpga的同时也在不断地升级 相应的开发工具软件,已从早期的第一代a+plus、第二代max+plus发展到 目前的第三代max+plus ii和第四代quartuso使用max+plus ii软件,设计 者无需精通器件内部的复杂结构,只需熟悉所用的设计输入工具,如硬件描述 语言、原理图等进行输入,max+plusii自动将设计转换成目标文件下载到器 件中去。max+plus ii开发系统具有以下特点。 多平台系统max-f-plusii的设计输入、处理与校验功能一起提供了全

55、集 成化的可编程开发工具,可以加快动态调试,缩短开发周期。 开放的界面max+plus ii可与其它工业标准的设计输入、综合和校验工 具链接。具有edif, vhdl, verilog hdl以及其他的网表接口,便于与许多公司的 eda 工具接口,包括 cadence, mentor, synopsys, synplicity, viewlogic等公司提供的eda工具的接口。 模块组合式工具软件max+plus ii具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验仿真和下载编程四个模块,设计者可 以按设计流程选择工作模块。 与结构无关 max+plus ii 支持 alte

56、ra 的 classic. max5000. max7000> flex8000. flex1ok等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻辑设计环境。 硬件描述语言max+plusii支持各种hdl硬件设计输入语言,包括 vhdl、veriloghdl 和 altera 的硬件描述语言 ahdl。二、可编程逻辑器件设计流程简介可编程逻辑器件cpld/fpga的设计是指利用开发软件和编程工具对器 件进行开发的过程。可编程逻辑器件的设计流程包括设计准备、设计输入、设 计处理(项目编译)、仿真和定时分析、器件编程下载(设计实现)四个步骤。三、max+plus ii可编程设计流

57、程 设计准备在对可编程逻辑器件的芯片进行设计z前,首先要进行方案论 证、系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系 统所完成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可 布通性等方面进行权衡,选择合适的设计方案。在前面已经介绍过,数字系统 的设计方法通常采用从顶向下的设计方法,也是基于芯片的系统设计的主要方 法,它首先从系统设计入手,在顶层进行功能划分和结构设计,采用硬件描述 语言对高层次的系统进行描述,并在系统级采用仿真手段,验证设计的正确性, 然后再逐级设计在低层的结构。由于高层次的设计与器件及工艺无关,而且在 芯片设计前就可以用软件仿真手段验证系统方案的可行性,因此自顶向下的设 计方法,有利于在早期发现结构设计屮的错误,避免不必要的重复设计,提高设 计的一次成功率。自顶向下的设计采用功能分割的方法从顶向下逐次进行划 分,这种层次化设计的另一个优点是支持模块化,从而可以提高设计效率。 设计输入设计者将所设计的系统或电路以开发软件要求的某种形式表 现出來,并送入计算机的过程称为设计输入。设计输入通常有以下几种方式。1).原理图输入方式2)硬件描述语言输入方式3).波形输入方式4)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论