EDA课程设计出租车计价器讲解学习_第1页
EDA课程设计出租车计价器讲解学习_第2页
EDA课程设计出租车计价器讲解学习_第3页
EDA课程设计出租车计价器讲解学习_第4页
EDA课程设计出租车计价器讲解学习_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。EDA课程设计出租车计价器-JIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY数字电路课程设计报告出租车计费器学院名称:电气信息工程学院专业:通信工程班级:姓名:学号:指导教师姓名:2009年12月摘要随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLDFPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。利用VHDL语言设计出租车计费系统,使其实现计费以及预置和模拟汽车启动

2、、停止、暂停等功能,并设计动态扫描电路显示车费数目,突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。本文基于FPGA开发系统,在QuartusII9.0软件平台上,完成了出租车自动计费电路的设计和硬件实现。首先,论文介绍了QuartusII9.0软件的基本使用方法和FPGA硬件描述语言的特点,采用VHDL硬件描述语言描述出租车自动计费电路,完成对电路的功能仿真。在设计过程中,重点探讨了出租车自动计费电路的设计思路和功能模块划分。然后,初步探讨了电路逻辑综合的原理,该软件对出租车自动计费电路进行了逻辑综合。最后,使用ED

3、A实验开发系统进行电路的下载和验证。验证结果表明设计的出租车自动计费电路完成了预期的功能。关键词超高速集成电路硬件描述语言,计数器,QuartusII9.0,高速集成电路AbstractWiththerapiddevelopmentofEDAtechnology,electronicsystemdesigntechniquesandtoolshavebeenprofoundchangesinlarge-scaleprogrammablelogicdeviceCPLD/FPGAemergenceofdesignerstobringalotofconvenience.Useitforproduct

4、development,notonlylowcost,shortcycle,highreliabilityandfullintellectualpropertyrights.DesignusingVHDLlanguagetaxibillingsystem,billing,aswellastoachievethepresetandsimulatedvehicletostart,stop,pauseandotherfunctions,andcircuitdesignofdynamicscanshowedthatthenumberoffare,highlightedasahardwaredescri

5、ptionlanguagecanbeagoodReading,theportabilityandreadabilityadvantages.Bydownloadingtheprogramtoaspecificchip,thetaxicanbeappliedtotheactualbillingsystem.BasedonFPGAdevelopmentsystem,intheQuartusII9.0softwareplatform,automaticbillingtaxicompletedthecircuitdesignandhardwareimplementation.Firstofall,th

6、epaperintroducedtheQuartusII9.0thebasicuseofsoftwareandhardwaredescriptionlanguageFPGAfeatures,theuseofVHDLhardwaredescriptionlanguagedescriptionofthetaxicircuitautomaticbilling,completefunctionsimulationofthecircuit.Inthedesignprocess,focusonthetaxiautomaticbillingandcircuitdesigndividedintofunctio

7、nalmodules.Then,apreliminarystudyoftheprinciplesofintegratedcircuitlogic,thesoftwareautomaticallybillingforataxitothelogicintegratedcircuit.Finally,theuseofexperimentaldevelopmentofEDAsystemtodownloadandverifythecircuit.Validationresultsshowthattheautomaticbillingtaxidesignedtocompletethedesiredcirc

8、uitfunction.Keywordsultra-high-speedintegratedcircuithardwaredescriptionlanguage,counters,QuartusII9.0,high-speedintegratedcircuits目录摘要2序言5第一章EDA与QuartusII开发系统介61.1EDA发展况61.2硬件描述语VHDL.71.2.1VHDL的简介.71.2.2VHDL的流程设计.71.3QuartusII软件操作流程8第二章课题概述102.1出租车计费系统的实验任务及求102.2、出租车计费系统的原理和方案计102.3、具体的方案计112.3.1硬

9、件电路方案设计.112.3.2软件方案方计12第三章硬件路133.1时钟电路13555电路133.2下载路143.3按钮电路153.4动态显示路15第四章计费系统的VHDL计154.1分频器164.2标志模块174.3等待模块194.4计程模块214.5计费模块244.6译码模块28第五章总程序的设计及其实现的结果305.1实物图285.2输入、输出信号说明305.3波形仿真315.4设计中需要注意的问题32总结32致谢33参考文献33附录一34附录二35出租车计费器序言随着当代电子信息技术的发展,自动计费器被广泛的用于各个系统,例如上网自动计费系统、电话计费器、出租车计费器等等。可见自动计费

10、系统在我们的生活中是越来越重要,本次课程设计是围绕出租车计费器来深入了解计费器是怎样实现计费的。本课题是利用VHDL语言来实现计费功能的,VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力,因此选用VHDL语言进行编程。本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决计算机技术实际问题的独立工作能力,通过对一个出租车计费器的设计,进一步加深了对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。进一步了解了计算

11、机组成原理与系统结构,使自己对EDA技术的学习更深入,学会用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。出租车计费器就是对车轮传感器送来的脉冲进行计数(每转一圈送一个脉冲),本课程设计利用555触发电路产生的脉冲代替车轮传感器送来的脉冲。当计费系统接收到一个脉冲信号,它将会实现计数的功能,并且通过外围的电路把所实现的功能实现出来。本论文共分5章和2个附录,第1章介绍了EDA与QuartusII开发系统。第2章介绍出租车计费系统的原理和方案设计第3章介绍了软件设计。第4章介绍了硬件设计。第5章介绍了总的设计以及其结果。本课题的主要设计工作内容是能够显示出租车的车费和里程并完成安装与调

12、试。第一章EDA与QuartusII开发系统简介1.1EDA发展概况电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起

13、,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开

14、花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。1.2硬件描述语言VHDL1.2.1VHDL简介是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用来完成。还具有以下优点:()的宽

15、范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。()的设计不依赖于特定的器件,方便了工艺的转换。()是一个标准语言,为众多的厂商支持,因此移植性好。1.2.2VHDL的设计流程从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始

16、阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要求。第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。也就是说,系统采用RTL方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。第三层次是逻辑综合。即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件

17、表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。应用逻辑综合工具产生的门网络表,将其转换成PLD的编程码,即可利用PLD实现硬件电路的设计。由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计周期。1.3Quartus的软件操作流程双击桌面上,打开Quartus软件。新建VHDL文件,开始编写VHDL程序。保存VHDL文件,文件取名要与程序实体名要一致。创建新工程按下“保存”按纽后会出现如下提示。提示是否为

18、此文件建立一个工程,这很重要。然后点击“是”,出现以下窗口,点“Next”。SKIPIF1”。然后选择FPGA或CPLD的有关参数,这些参数都是根据目标芯片来选择的。一直到“Finish”完成器件选择编译编译:选择processing菜单中的startcompilation命令。编译完成的提示如下,点击确定即可。仿真这时可以进行仿真,首先要建立波形文件,点“File-New-”,出现如下窗口:SKIPIF10选择“OtherFiles”最下面的“VectorwaveformFile”点“OK”。出现以下窗口。SKIPIF10双击左边的空白处,设定输入输出信号。设定好波形后,保存波形。之后点进行

19、仿真。锁定引脚引脚锁定,如下图操作:引脚的锁定是根据不同的电路和不同功能来确定的,不是一层不变的。选择Assignments菜单下的Pins命令,出现以下窗口,SKIPIF10如果是下载到实验箱上则需连续按“模式选择”按钮选择模式5,再按“系统复位”按钮。进行引脚锁定,查阅附表,分别点“location”选择引脚号。引脚锁定后再编译。如同此前进行过的。编译成功后点确定。下载选择Tools菜单下的Programmer命令,然后在Program/Configure下打上钩选中,点“start”按钮开始下载,“Progress”进度条显示下载进度。成功下载后如图所示:SKIPIF10下载完后就可以在

20、实验箱查看结果。通过上面的步骤分别下载到实验箱中和FPGA中,验证了在仿真中的结果是正确的。第二章课题概述2.1出租车计费系统的实验任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,分为白天和黑夜。白天收费标准:起步费为9.00元,超过3公里按3元/公里,车暂停超过三分钟按2元/分钟计算。黑夜收费标准:起步费为12.00元,超过3公里按4元/公里,车暂停超过三分钟按1元/分钟计算。2.实现预置功能:能预置起步费、每公里收费、车行加费里程、等待加费时间。3.实现模拟功能:能模拟汽车启动、停止/白天、黑夜/等待、行驶状态。4.设计动态扫描电路:将车费、里程、等待时间动态的显示出来。5.用V

21、HDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。2.2、出租车计费系统的原理和方案设计系统的顶层框图:动态显示模块控制芯片信号输入信号输入:各种控制信号经输入端给控制芯片。控制芯片:采用的有CPLD或者FPGA等。动态显示电路:采用的是数码管来实现功能的输出。2.3、具体的方案设计2.3.1、硬件电路方案设计以下为硬件电路的结构简图:CPLD模块动态显示电路时钟控制模块PC机开关电路下载电路各模块的组成和原理:(1)时钟控制模块此模块是555电路所构成的。(2)下载电路模块此模块主要由下

22、载线组成。作用:使PC机中编写的VHDL语言的程序下载到CPLD芯片中,使电路实现所需的功能。(3)开关模块:该模块的作用是用于电路的输入的信号。主要有三个开关以及三个限流电阻,电源构成。(4)动态显示模块:此模块由六个数码管和三个二极管所构成,三个二极管起到限制电流的作用,使得流到数码管的电流适当,防止数码管中的电流过大,而使得数码管损坏。数码管将计费、等待时间和里程动态的显示出来。2.3.2软件方案设计以下为软件结构简图:输入信号分频器里程计数模块车费计数模块车行驶状态译码模块各模块的功能:1)由555触发电路产生时钟信号并输入。2)分频器:将时钟信号进行分频。3)标志模块:将按钮产生的脉

23、冲转化为一种标志信号。4)计程模块:在等待信号未作用时,来一个时钟脉冲信号,里程值加1。该模块还包含一个路程计费标志的小模块,输出一个路程计费的信号。5)等待状态模块:等待信号作用时,该模块可以记录等待的时间,并产生等待计费的信号。6)车费计数模块:按行驶里程收费,分为白天和黑夜。白天收费标准:起步费为9.00元,超过3公里按3元/公里,车暂停超过三分钟按2元/分钟计算。黑夜收费标准:起步费为12.00元,超过3公里按4元/公里,车暂停超过三分钟按1元/分钟计算。7)译码模块:实现将车费计数模块、等待状态模块和里程计数模块输出的BCD码转换成七段码输出。第三章硬件电路根据前面第一章所提到的硬件

24、电路的方案设计,这章介绍各模块的具体设计。3.1时钟电路555电路在数字系统中,为了使各部分在时间上协调动作,需要有一个统一的时间基准。用来产生时间基准信号的电路称为时基电路。时基集成电路555就是其中的一种。它是一种由模拟电路与数字电路组合而成的多功能的中规模集成组件,只要配少量的外部器件,便可很方便的组成触发器、振荡器等多种功能电路。因此其获得迅速发展和广泛应用。下图为由555定时器所构成的多谐振荡器,该电路可以用于脉冲输出、音响告警、家电控制、电子玩具、检测仪器、电源变换、定时器等。图3.1.2555电路的接法该电路的特点是“RA7RB6.2C”,RA与VCC相连。公式是:T1=0.69

25、3(RA+RB)*C,T2=0.693RB*C,F=1.443/(RA+2RB)*C为了满足我的设计要求,因此取RA=RB其阻值为10K,取电容C的取值为10uf,电容C1的取值0.01uF。3.2下载电路PC机和CPLD之间采用的是并行接口的通信方法,如图3-2所示。ByteBlaster与PC机并口相连的一端是25针插座头,与CPLD板插座相连的是10针插座头。SKIPIF10图3-2电缆3.3按钮电路它的作用是提供输入信号。拨码开关的3个引脚CPLD芯片的引脚上。根据拨码开关的高低电平来实现模拟汽车的相应的转态,如清零、停止。SS:开始、停止开关。当按下SS按钮时,计费器开始工作,再次按

26、下后清零等待时间、路程和费用。DN:白天、黑夜开关。初始状态为白天的计费规则,当按下DN后变为黑夜的计费规则,再次按下重复以上规则。WR:等待、行驶开关。当按下WR按钮后,进入等待状态,再次按下,计费器又恢复行驶状态,重复按此按钮,重复以上功能。3.4动态显示电路该电路用六个数码管所组成,其中两个数码管实现将车费动态的显示出来。其动态的显示范围为0到99元;还有两个数码管实现将汽车行驶的里程动态的显示出来,其动态的显示范围为0到99公里;最后两个数码管讲汽车的等待时间显示出来,其动态显示范围为0到99公里。第四章计费系统的VHDL设计在本设计中采用的是自顶向下的设计方法,首先从系统功能设计开始

27、,对系统高层模块进行行为描述和功能仿真.系统的功能验证完成后,将抽象的高层设计自顶向下逐级细化,直到与所用可编程逻辑器件相对应的逻辑描述。在本设计中,具有5个模块:1)分频器:将时钟信号进行分频。2)标志模块:将按钮产生的脉冲转化为一种标志信号。3)计程模块:在等待信号未作用时,来一个时钟脉冲信号,里程值加1。该模块还包含一个路程计费标志的小模块,输出一个路程计费的信号。4)等待状态模块:等待信号作用时,该模块可以记录等待的时间,并产生等待计费的信号。5)车费计数模块:按行驶里程收费,分为白天和黑夜。白天收费标准:起步费为9.00元,超过3公里按3元/公里,车暂停超过三分钟按2元/分钟计算。黑

28、夜收费标准:起步费为12.00元,超过3公里按4元/公里,车暂停超过三分钟按1元/分钟计算。6)译码模块:实现将车费计数模块、等待状态模块和里程计数模块输出的BCD码转换成七段码输出。下面具体介绍各个部分的设计。4.1分频器(1)实物图图4.1分频器的实体图CLK0:输入555脉冲信号FOUT:输出脉冲(2)分频器的VHDL设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPULSEISPORT(CLK0:INSTD_LOGIC;FOUT:OUTSTD_LOGIC);ENDPULSE;AR

29、CHITECTUREONEOFPULSEISBEGINPROCESS(CLK0)VARIABLECNT:STD_LOGIC_VECTOR(2DOWNTO0);VARIABLEFULL:STD_LOGIC;BEGINIFCLK0EVENTANDCLK0=1THENIFCNT=100THENCNT:=000;FULL:=1;ELSECNT:=CNT+1;FULL:=0;ENDIF;ENDIF;FOUT=FULL;ENDPROCESS;ENDONE;(3)波形仿真从该波形图可以看出输入脉冲的频率是输出脉冲的频率的五倍。4.2标志模块(1)实物图图4.2标志模块的实体图AJ:输入的按键信号BZ:输出的

30、标志信号(2)标志模块的VHDL设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYBZISPORT(AJ:INSTD_LOGIC;BZ:OUTSTD_LOGIC);ENDBZ;ARCHITECTURETWOOFBZISBEGINPROCESS(AJ)VARIABLECNT:STD_LOGIC_VECTOR(9DOWNTO0);BEGINIFAJ=0ANDAJEVENTTHENIFCNT=1111111111THENCNT:=0000000000;ELSECNT:=CNT+1;ENDIF;E

31、NDIF;BZ=CNT(0);ENDPROCESS;ENDTWO;(3)波形仿真从该波形图可以看出在输入的按键信号下降沿来临时输出的标志信号取反,且刚开始为低电平。4.3等待状态模块(1)实物图图4.3等待状态模块的实体图(2)等待状态模块的VHDL设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDDZTISPORT(CLK,SS:INSTD_LOGIC;DDBZ:INSTD_LOGIC;DDJFBZ:OUTSTD_LOGIC;DDSJ:OUTSTD_LOGIC_VECTOR(7DOWN

32、TO0);ENDENTITYDDZT;ARCHITECTUREONEOFDDZTISBEGINPROCESS(CLK,SS,DDBZ)VARIABLEQ1,Q0:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFSS=0THENQ1:=0000;Q0:=0000;DDJFBZ0ORQ03)THENDDJFBZ=1;ENDIF;ENDIF;ENDIF;DDSJ(7DOWNTO4)=Q1;DDSJ(3DOWNTO0)=Q0;ENDPROCESS;ENDONE;(3)波形仿真等待标志有效时,等待时间开始计数。等待时间超过3时等待计费标志置高电平。由于设计时只用两个数码管显示,所以只

33、能显示到99,在程序中设置了让等待时间到达99后变为0。从上面的说明可以看出程序达到了所设计的功能。4.4计程模块(1)实物图图4.4.1计程模块的实体图图4.4.2路程计费标志的实物图(2)计程模块的VHDL设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityJCisport(clks,SS,WR:instd_logic;LC:BUFFERstd_logic_vector(7downto0);endentityJC;architectureoneofJCisSIGNALQ1,Q0:std_

34、logic_vector(3downto0);beginprocess(clks,SS,WR,LC)VARIABLESW:STD_LOGIC_VECTOR(1DOWNTO0);beginSW:=SS≀IFSW=00ORSW=01THENQ1=0000;Q0=0000;ELSIFSW=11THENQ1=Q1;Q0=Q0;ELSIFCLKSEVENTANDCLKS=1THENIFQ1=9ANDQ0=9THENQ1=0000;Q0=0000;ELSIFQ0=9THENQ1=Q1+1;Q0=0000;ELSEQ1=Q1;Q0=Q0+1;ENDIF;ENDIF;ENDPROCESS;LC(7DOW

35、NTO4)=Q1;LC(3DOWNTO0)=Q0;ENDone;路程计费标志模块的VHDL设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityLCJFBZisport(SS:instd_logic;LC:INSTD_LOGIC_VECTOR(7DOWNTO0);LCJFBZ:OUTstd_logic);endentityLCJFBZ;architectureTWOofLCJFBZisBEGINPROCESS(SS,LC)BEGINIFSS=0OR(LC(7DOWNTO4)=0000ANDLC

36、(3DOWNTO0)4)THENLCJFBZ=0;ELSELCJFBZ0);SOUT:=(others=0);foriin0to1loopSA(i):=(0&AIN(i*4+3downtoi*4)+(0&BIN(i*4+3downtoi*4)+(0000&CI(i);if(SA(i)(4)=1)or(SA(i)(3downto0)9)thenSB(i):=SA(i)+00110;elseSB(i):=SA(i);endif;CI(i+1):=SB(i)(4);SOUT(i*4+4downtoi*4):=SB(i);endloop;RETURNSOUT;ENDFUNCTIONbcd_add8;E

37、ND;libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;USEWORK.PACKEXP1.ALL;ENTITYJFisPORT(SS:INSTD_LOGIC;DN:INSTD_LOGIC;LC:INstd_logic_vector(7downto0);DDSJ:INSTD_LOGIC_VECTOR(7DOWNTO0);LCJFBZ:INSTD_LOGIC;DDJFBZ:INSTD_LOGIC;FY:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDENTITYJF;architecture

38、ONEofJFisBEGINPROCESS(SS,DN,LC,DDSJ,DDJFBZ,LCJFBZ)VARIABLEFY1:STD_LOGIC_VECTOR(11DOWNTO0);BEGINIFSS=0THENFY1:=000000000000;ELSIFDN=0THENIFLCJFBZ=0THENFY1(11DOWNTO4):=(OTHERS=0);FY1(3DOWNTO0):=1001;ELSEFY1:=bcd_add8(LC,LC);FY1:=bcd_add8(FY1,LC);ENDIF;ELSIFLCJFBZ=0THENFY1(11DOWNTO5):=(OTHERS=0);FY1(4D

39、OWNTO0):=10010;ELSEFY1:=bcd_add8(LC,LC);FY1:=bcd_add8(FY1,LC);FY1:=bcd_add8(FY1,LC);ENDIF;IFDN=0THENIFDDJFBZ=0THENFY1:=FY1;ELSEFY1:=bcd_add8(FY1,DDSJ);FY1:=bcd_add8(FY1,DDSJ);ENDIF;ELSIFDDJFBZ=0THENFY1:=FY1;ELSEFY1:=bcd_add8(FY1,DDSJ);ENDIF;FYdout1dout1dout1dout1dout1dout1dout1dout1dout1dout1dout1do

40、ut0dout0dout0dout0dout0dout0dout0dout0dout0dout0dout0=ZZZZZZZ;endcase;endprocess;endone;(3)波形仿真符合七段显示。总程序的设计及其实现的结果5.1实体图上图为带译码器的电路,下图为不带译码器的电路。5.2输入、输出信号说明输入:DN:dayORnight控制;SS:StartORstop控制;WR:waitORrun控制;CLK:输入时钟信号,模拟时间和路程。输出:DNPB:用于判别白天还是黑夜的输出信号,接至发光二极管,白天不发光,黑夜的时候发光。FY1:费用的十位FY0:费用的个位DDSJ1:等待时间

41、的十位DDSJ0:等待时间的个位LC1:路程的十位LC0:路程的个位输出的为七段码5.3波形仿真考虑到仿真结果的明了,这里只给出未加译码器时的仿真,输出为BCD码。可以清晰的看出程序的运算规则。5.4设计中需注意的问题(1)在一个进程中只允许一个信号上升沿作为触发条件。(2)信号值改变后,要经过一个小的延时才能生效,同一个信号不能在多个进程中赋值(因多个信号源不能同时对同一个信号驱动)。(3)时序电路与组合电路最好不要在同一个进程以免浪费资源。(4)一个功能模块最好按上升沿信号分多个进程完成,各进程间用信号联系。(5)同一个信号在进程中的值改变后,要注意该值改变前后,该进程中其他变量的变化,避免逻辑死锁。(6)在顺序语句中,信号赋值后需一定的延时才能改变而变量不需要延时。总结EDA技术已经成为电子设计

温馨提示

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

评论

0/150

提交评论