您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 基于Verilog-HDL的出租车计费器设计
李明洪基于VerilogHDL的出租车计费器设计第1页共26页基于VerilogHDL的出租车计费器设计学生姓名:李明洪指导老师:肖红光摘要本次课程设计主要是基于FPGA芯片,使用硬件描述语言VerilohHDL,采用“自顶向下”的设计方法,编写一个出租车计费器芯片,并使用Max+PlusII软件仿真平台。本文主要描述了出租车计费器的设计思路与模块划分。把出租车计费器划分为五大模块,共同实现了出租车计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目。最后,使用Max+PlusII仿真平台对每个模块和主程序分别进行了仿真,并对仿真出来的波形作了分析。关键词出租车计费;VerilogHDL;Max+PlusII;仿真基于VerilogHDL的出租车计费器设计第2页共26页ThedesignoftaximeterbasedonVerilogHDLAbstractThecoursedesignismainlybasedonFPGAchip,theuseofhardwaredescriptionlanguageVerilohHDL,usingtopdowndesignmethod,thepreparationofataximeterchip,andusetheMax+PlusIIsoftwaresimulationplatform.Thispaperdescribesthedesignideaofthetaximeterandmoduledivision.Thetaximeterisdividedintofivemodulestogethertoachieveataxiandanalogautobillingandpre-start,stop,pausefunction,anddynamicscanshowedthenumberoffare.Finally,usingMax+PlusIIsimulationplatformandthemainprogramforeachmoduleweresimulated,andthesimulationfromananalysisofthewaveform.KeywordsTaxicharges;VerilogHDL;Max+PlusII;Simulation基于VerilogHDL的出租车计费器设计第3页共26页1引言随着中国城市化的快速发展,人们出行的选择也会越来越多样化,但是出租车作为一种重要的交通工具,也越来越多的被人们所选择,虽然在大中城市,出租车已经相当普及,但是在一些小的城市,出租车行业也因为城市化进程的加快而快速发展。当然,出租车的计费器也由当初的只能显示路程的计费方式变成现在的,能够自主计费以及打印发票和语音提示。根据出租车行业的需求,国内各机械厂家纷纷推出国产计价器,传统的出租车计费器由于发展使用了十几年,在稳定性、成本、以及使用习惯上都具有一定的优势。VerilogHDL和VHDL是目前世界上最流行的两种硬件描述语言(HDL:HardwareDescriptionLanguage),均为IEEE标准,被广泛地应用于基于可编程逻辑器件的项目开发。二者都是在20世纪80年代中期开发出来的,前者由GatewayDesignAutomation公司(该公司于1989年被Cadence公司收购)开发,后者由美国军方研发。HDL语言以文本形式来描述数字系统硬件结构和行为[1],是一种用形式化方法来描述数字电路和系统的语言,可以从上层到下层来逐层描述自己的设计思想。即用一系列分层次的模块来表示复杂的数字系统,并逐层进行验证仿真,再把具体的模块组合由综合工具转化成门级网表,接下去再利用布局布线工具把网表转化为具体电路结构的实现。目前,这种自顶向下的方法已被广泛使用。本文介绍了相关的软件平台Max+PlusII及硬件编程语言----VerilogHDL。主要论述了一个出租车计费器从设计思路到系统仿真的整个设计过程。本次设计的目的就是在掌握计算机组成原理理论的基础上,了解EDA技术,掌握VerilogHDL硬件描述语言的设计方法和思想,通过学习的VerilogHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机实际问题的能力。通过这次EDA方面的课程设计,可以提高我们对EDA领域及通信电路设计领域的认识,有利于培养我们在通信电路EDA方面的设计能力。一人一题特别有利于锻炼我们独立分析问题和解决问题的能力。设计过程的复杂加老师的严格要求有益于培养我们严谨的工作作风。基于VerilogHDL的出租车计费器设计第4页共26页2理论基础2.1VerilogHDL语言的功能和设计方法VerilogHDL语言以文本形式来描述数字系统硬件结构和行为[3],是一种用形式化方法来描述数字电路和系统的语言,可以从上层到下层来逐层描述自己的设计思想。即用一系列分层次的模块来表示复杂的数字系统[4],并逐层进行验证仿真,再把具体的模块组合由综合工具转化成门级网表,接下去再利用布局布线工具把网表转化为具体电路结构的实现。目前,这种自顶向下的方法已被广泛使用。概括地讲,HDL语言包含以下主要特征:(1)HDL语言既包含一些高级程序设计语言的结构形式,同时也兼顾描述硬件线路连接的具体结构。(2)通过使用结构级行为描述,可以在不同的抽象层次描述设计。HDL语言采用自顶向下的数字电路设计方法,主要包括3个领域5个抽象层次。(3)HDL语言是并行处理的,具有同一时刻执行多任务的能力。这和一般高级设计语言(例如C语言等)串行执行的特征是不同的。(4)HDL语言具有时序的概念。一般的高级编程语言是没有时序概念的,但在硬件电路中从输入到输出总是有延时存在的,为了描述这一特征,需要引入时延的概念。HDL语言不仅可以描述硬件电路的功能,还可以描述电路的时序。VerilogHDL的主要能力:VerilogHDL既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互连的结构模块。这意味着利用Verilog语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。下面列出的是Verilog语言的主要功能:(1)可描述顺序执行或并行执行的程序结构;(2)用延迟表示式或事件表达式来明确地控制过程的启动时间;(3)通过命名的事件来触发其他过程里的激活行为或停止行为;(4)提供了条件和循环等程序结构;(5)提供了可带参数且非零延续时间的任务程序结构;基于VerilogHDL的出租车计费器设计第5页共26页(6)提供了可定义新的操作符的函数结构;(7)提供了用于建立表达式的算术运算符、逻辑运算符和位运算符;(8)提供了一套完整的表示组合逻辑基本元件的原语;(9)提供了双向通路和电阻器件的描述;(10)可建立MOS器件的电荷分享和衰减模型;(11)可以通过构造性语句精确地建立信号模型;VerilogHDL设计方法:自下而上的设计方法自下而上的设计是传统的设计方法,是从基本单元出发,对设计进行逐层划分的过程。这种设计方法与用电子元件在模拟实现板上建立一个系统的步骤有密切的关系。优、缺点分别如下:优点,设计人员对这种设计方法比较熟悉;实现各个子模块所需的时间较短。缺点,对系统的整体功能把握不足;由于必须先对多个子模块进行设计,因此实现整个系统的功能所需的时间长;另外,对设计人员之间相互协作也有较高的要求。自上而下的设计方法自上而下的设计是从系统级开始,把系统划分为基本单元,然后再把基本单元划分为下一层次的基本单元,直到可用EDA元件实现为止。这种方法的优、缺点如下。优点,在设计周期开始就做好了系统分析;由于设计的主要仿真和调试过程是在高层完成的,所以能够早期发现结构设计上的错误,避免了设计工作的浪费,方便了系统的划分和整个项目的管理,可减少设计人员劳动,避免了重复设计。缺点,得到的最小单元不标准,且制造成本高。混合的设计方法复杂数字逻辑电路和系统设计过程[5],通常是以上两种设计方法的结合。设计时需要考虑多个目标的综合平衡。在高层系统用自上而下的设计方法实现,而使用自下而上的方法从库元件或以往设计库中调用已有的设计单元。混合设计方法兼有以上两种方法的优点,并且可使用先进的矢量测试方法。基于VerilogHDL的出租车计费器设计第6页共26页2.2Max+PlusII设计流程Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件[2]的供应商之一。Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。设计流程:使用Max+plusⅡ软件设计流程由以下几部分组成。(1)设计输入:可以采用原理图输入、HDL语言描述、EDIF网表输入及波形输入等几种方式。(2)编译:先根据设计要求设定编译参数和编译策略,如器件的选择、逻辑综合方式的选择等。然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合和器件适配,并产生报告文件、延时信息文件及编程文件,供分析仿真和编程使用。(3)仿真:仿真包括功能仿真、时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。(4)编程与验证:用经过仿真确认后的编程文件通过编程器(Programmer)将设计下载到实际芯片中,最后测试芯片在系统中的实际运行性能。在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重复上述过程。基于VerilogHDL的出租车计费器设计第7页共26页3出租车计费器设计随着中国城市化的快速发展,人们出行的选择也会越来越多样化,但是出租车作为一种重要的交通工具,也越来越多的被人们所选择,虽然在大中城市,出租车已经相当普及,但是在一些小的城市,出租车行业也因为城市化进程的加快而快速发展。此次设计采用EDA技术,把出租车计费器划分为五大模块,共同实现了出租车计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目。最后,使用Max+PlusII仿真软件对每个模块和主程序分别进行了结果仿真,并对仿真出来的结果作了分析。3.1整体设计方案根据自己对出租车从启动记费到停止打印发票的整个过程的理解,将整个出租车计费系统主要划分为3大块。计费器按里程收费,每100米开始一次计费。各模块功能如下:(1)车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。(2)里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。(3)计费动态显示模块其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20时数值加1.5元。基于VerilogHDL的出租车计费器设计第8页共26页车速控制模块里程动态显示计费动态显示根据上述要求,绘制出计费器的大致设计构想框图,如图3-1所示。车速选择起/停开关基本速率Rest扫描时钟显示输出显示输出图3-1计费器设计构想框图3.2详细设计思路本次出租车计费器的设计主要是基于FPGA芯片,使用硬件描述语言VerilogHDL,采用“自顶向下”的设计方法,编写一个出租车计费器芯片,并使用Max+PlusII软件仿真结果。把出租车计费器划分为五大模块,共同实现了出租车计费以及预置和模拟汽车启动、停止、暂停等功能
本文标题:基于Verilog-HDL的出租车计费器设计
链接地址:https://www.777doc.com/doc-5741353 .html