基于FPGA出租车计费系统的设计(21页).doc
《基于FPGA出租车计费系统的设计(21页).doc》由会员分享,可在线阅读,更多相关《基于FPGA出租车计费系统的设计(21页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于FPGA出租车计费系统的设计-第 18 页南 京 大 学 金 陵 学 院 本 科 毕 业 论 文院 系 信息科学与工程系 专 业 电子信息科学与技术 题 目 基于FPGA出租车计费系统的设计 论文提交日期 2010年6月3 日 摘 要通过出租车计费系统的设计,详细介绍了如何使用硬件描述语言Verilog HDL设计复杂逻辑电路的步骤和过程,以及应用美国ALTERA公司的Quartus II 9.0软件进行系统设计、仿真和下载实现的方法。通过设计,可以看到在EDA平台上用CPLD器件构成该数字系统的设计思想和实现过程。论述了计费模块、时钟模块、动态显示模块、计费形式判断模块、控制模块等的设
2、计方法和技巧。 关键词:CPLD/FPGA; 电子自动化设计; Verilog HDL硬件描述语言; 出租车计费器; Quartus II 9.0软件ABSTRACTTaxi billing system through the design, details how to use the hardware des-cription language Verilog HDL design complexity and the process logic and the applicatio-n of the U.S. companys Quartus II 9.0 ALTERA softwar
3、e system design, simulation, anddownload the realization of the method. By design, you can see in the EDA platform usi-ng CPLD devices constitute the digital system design and implementation process. Discuss-es the billing module, clock module, dynamic display module, billing forms to judge mod-ule,
4、 control module and other design methods and techniques.Keywords: CPLD/FPGA; EDA; Verilog HDL; Taxi Billing Machine; Quartus II 9.0目 录第一章引言1第二章Verilog HDL硬件语言简介12.1 Verilog HDL语言的特点22.2 Verilog HDL语言的基本结构22.3 CPLD/FPGA的设计流程3第三章Quartus II 9.0软件的简介53.1 主要功能53.2 使用方法5第四章出租车计费系统174.1计费器系统的工作过程简介174.1.1
5、计费器的功能描述174.1.2 计费器系统分析174.1.3 实现计费系统所用器材和设备184.2 计费器系统各模块194.2.1 时钟模块194.2.2 计费模块214.2.3 显示模块244.3 计费系统顶层电路图及SCH、PCB图274.4 管脚分配294.5 程序下载及占用硬件资源分析29结束语30致谢31参考资料32第一章 引言随着科技日新月异的发展,科技带来的改变无处不在。尤其是计算机技术带来了人类科技的许多重大的飞跃,特别是集成电路的应用已经渗透到生产和生活中的各个方面,有力的推动了社会的发展。近几年,中国集成电路产业取得了飞速发展。中国集成电路产业已经成为全球半导体产业关注的焦
6、点,即使在全球半导体产业陷入有史以来程度最严重的低迷阶段时,中国集成电路市场仍保持了两位数的年增长率,凭借巨大的市场需求、较低的生产成本、丰富的人力资源,以及经济的稳定发展和宽松的政策环境等众多优势条件,以京津唐地区、长江三角洲地区和珠江三角洲地区为代表的产业基地迅速发展壮大,制造业、设计业和封装业等集成电路产业各环节逐步完善。采用FPGA设计ASIC(Application Specific Integrated Circuit,集成电路界被认为是一种为专门目的而设计的集成电路)电路,用户不需要投片生产,就能得到合用的芯片,FPGA内部有丰富的触发器和I/O引脚,FPGA是ASIC电路中设计
7、周期最短、开发费用最低、风险最小的器件之一, FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。其性能和效率不断提高,应用范围越来越广,在计算机应用领域已占日益重要的地位。它的应用程度已经成为衡量一个国家科学技术水平的一项重要指标。出租车计费器就是FPGA的一个可行的应用。现在市面上的出租车计价器品种繁多,功能强大。作为一个毕业设计的课题,我本着从大处着眼,从小处入手的原则,对FPGA的应用做了一些初步的尝试和探讨。我利用FPGA芯片、32.768KHz晶振、七段LED数码管,初步实现了市面上的出租车计费器的一些基本功能。第二章 Verilog HDL硬件语言简介Veri
8、log HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。Verilog HDL就是在使用广泛的C语言的基础上发展起来的一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。它是GDA(Gateway Design Automation)公司的Phil
9、Moorby在1983年提出,经过不断的完善和发展,直至1995年才成为IEEE标准,即IEEE Standard 1364-1995。IEEE 2001年重新修订了Verilog HDL的IEEE标准。此前硬件描述语言通过IEEE标准的只有VHDL(1987)。2.1 Verilog HDL语言的特点1.Verilog HDL最大特点是易学易用。只要有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握。2.Verilog HDL设计与工艺无关。可以使其设计好的模块重复使用,大大方便复杂电子系统的设计,缩短了设计的周期。3.VerilogHDL简单而优美。描述硬件单元的结构简单且易读。相
10、比较而言,VHDL的描述长度是VerilogHDL的两倍。2.2 Verilog HDL语言的基本结构一个电子系统或电路,通常要对输入的信号进行处理得到输出信号,Verilog HDL就是用语言来描述输入和输出的借口和内部处理功能的实现。一个设计部论是简单还是复杂,都用Verilog HDL模块来表示。模块的基本结构如下:module 模块名(端口列表);endmodule其中是模块唯一的标识符;列出端口名称,指明端口是属于输入、输出还是双向端口,这些端口用来与其它模块进行连接。是模块设计中最重要的部分,可使用不同形式的过程块来实现。下面看个简单的例子。例1.1 上升沿触发D触发器(时序电路)
11、module dff(q,clk,data);input clk,data;output q;reg q;always(posedge clk)beginq=data;endendmodule从上面的例子可以看出:(1) Verilog HDL程序是由模块构成的,每个模块的内同都是嵌在module和endmodule两个语句之间,每个模块实现特定的功能,模块可以进行层次嵌套;(2) 每个模块要进行端口定义,说明输入输出或双向端口,这些端口用与其他模块进行连接;(3) Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句可以分多行写;(4) 除了endmodule语句为,每个语
12、句和数据定义的最后必须有分号;(5) 可以用/*/或/对Verilong HDL程序的任何部分作注释;(6) Verilog HDL对大小写敏感,空格很重要,是用来界定各个标志的,关键字都是以小写形式表示。2.3 CPLD/FPGA的设计流程总体方案设计编程软件仿真综合网表硬件仿真用HDL语言开发CPLD/FPGA的完整流程为:图1.2 1. 文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。2. 功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确。3. 逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和型号的连接关系。4. 布局布
13、线:将.edf文件调入CPLD/FPGA厂家提供的软件中进行布线,即把设计好的逻辑安放到CPLD/FPGA内。5. 时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。6. 编程下载:确认仿真无误后,将文件下载到芯片中通常以上过程可以都在CPLD/FPGA厂家提供的开发工具(如QuartusII,ISE中完成。下面我们以Altera公司的QuartusII 9.0软件来简单说明一下CPLD/FPGA的开发流程。下图是一个典型的基于QuartusII的CPLD/FPGA开发流程。建立工程尽量采用ALTERA提供的LPM功能模块用户自己建立功能模块,并建立Symbol建立顶层图
14、将顶层图的各个功能模块连起来选择芯片型号、分配管脚、配置编译选项编译下载到目标器件图1.2 基于QuartusII的典型CPLD/FPGA设计流程(1) 建立工程是每个开发过程的开始,QuartusII(QII)以工程为单元对设计过程进行管理。(2) 建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里面编译的时候就将这些模块整合在一起。(3) 采用ALTERA公司提供的LPM宏功能模块。QII软件环境里包含了大量的常用功能模块,例如计数器、累加器、比较强、译码器等等;在充分利用已有模块的基础上,通过,一个设计中一般只有极少部分的模块需要自己从零设计。(4) 自己建立功能模
15、块。可以用硬件描述语言也可以用原理图的输入方法。可以把它们独立的当做一个工程来设计,并生产模块符号(Symbol),然后再顶层图中使用这个模块的符号,并将源文件(实现该模块的原理图或HDL文件)拷到顶层图所在的工程目录下。(5) 将顶层图的各个功能模块用两线连起来。这个过程类似电路图设计,把各个芯片连接起来,组成电路系统。(6) 系统的功能原理图至此已经基本出炉了,下一步要为该设计选择芯片载体,才能真正在物理上实现系统的功能。这一步的主要工作是:(1)选择芯片型号;(2)为顶层图的各个输入输出信号分配芯片管脚;(3)设置编译选项,目的是让编译器知道更多的信息。(7) 编译。这个过程类似软件开发
16、里的编译,在类似QII这样的集成环境里面,这些过程都是一气呵成,集成环境自动完成了几个步骤的工作。(8) 编译后生成*.sof或*.pof文件,前者可以通过JTAG下载到CPLD/FPGA内部,设计无误的话技能实现预期的功能,但断电后CPLD/FPGA里的这些信息会丢失;后者可以下载到CPLD/FPGA的配置芯片(EEPROM或FLASH芯片),掉电后这些配置信息不会丢失,重新上电以后通过该配置芯片对CPLD/FPGA的内部RAM进行配置.(9) 对于复杂的设计,工程编译了以后可以采用QII的仿真功能或者其他仿真软件(ModelSim)对设计反复进行仿真和验证,知道满足要求。第三章 Quart
17、us II 9.0软件的简介3.1 主要功能Quartus II 9.0 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II 9.0可以在Windows、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II 9.0支持ALTERA 公
18、司全系列器件CPLD:MAX3000、MAX7000、MAX9000 和MAXII 等;FPGA:Stratix、StratixII、StratxIII、Cyclone、CycloneII、CycloneIII、ACEX1K、APEX20K和FLEX10K等。3.2 使用方法下面以一个十进制计数器的设计为例,详细介绍原理图输入的设计方法及仿真步骤。一 设计文档的输入1. 建立工程一个设计对应一个工程项目文件,该工程项目下可包含多个设计模块文件。运行Quartus II 9.0软件,出现如下界面:建立工程,FileNew Project Wizad 如下图:点击New Project Wizar
19、d 后弹出指定工程名的对话框,在Diectory,Name,Top-Level Entity中如下图填写:直接按Next进行下一步,选择FPGA器件的型号:在Family下拉框中,我们选择FLEX10K系列,注意在Filters一栏选上Show Advanced Devices以显示所有的型号。执行下一步出现对话框:这里是选择其他EDA工具的对话框,我们用QII的集成环境进行开发,因此这里不作任何改变。按Next进入工程的信息总概对话框:按Finish按钮即建立一个空项目。2. 建立顶层图执行FileNew,弹出新建文件对话框:选择Block Diagram Schematic File按OK
20、 即建立以个空的顶层图,缺省名为Block1.bdf,如下图:原理图输入工具栏3. 添加逻辑元件(Symbol)双击顶层图图纸的空白处,弹出添加元件的对话框,在Libraries里寻找需要的逻辑元件,如果知道逻辑元件的名称的话,也可以直接在Name一栏敲入名字,右边的预览图即可显示元件的外观,按OK后鼠标旁边即拖着一个元件符号,在图纸上点击左键,元件即安放在图纸上。在图纸上分别添加74161、与非门(NAND2)、输入(input)、输出(output)等几个symbol。从上图可以看出,基于原理图的设计输入类似于再protel软件中绘制电路图,上如中粗线属于总线类型,它的宽度必须与原件端口的
21、宽度一致,网络标号相同的线表示相互连接。我们也可把它另存为(FileSave as)其它名称,也可接受默认的文件名,并将“Add file to current project”选项选上,以使该文件添加到工程中去。如图所示:二编译1.按主工具栏上的编译按钮即开始编译:QuartusII 下面的Message窗口会显示一些编译信息,最后编译成功提示:2.创建元件模块执行FileCreate/UpdateCreat Symbol files for current file,建立该文件的元件符号,可被其它模块调用。三仿真1.创建仿真波形文件,进行时序仿真,选择FileNewOther FilesV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 出租车 计费 系统 设计 21
限制150内