地铁站售票系统的控制_第1页
地铁站售票系统的控制_第2页
地铁站售票系统的控制_第3页
地铁站售票系统的控制_第4页
地铁站售票系统的控制_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、 地铁站售票系统的控制摘要 随着公共交通的飞速发展,地铁已经不再是一个新的名词,地铁给城市带来的便捷众所周知,但是如何更好的控制地铁,已经成为很多国家追捧的热点和难题。 本课题就是围绕地铁控制中的售票系统的控制实现,系统阐述了EDA技术的由来和发展前景,VHDL语言的编译,以及在电脑中运用MAXPLUS软件的仿真出课题要求任务。让我们不仅在理论上实现了地铁售票系统的控制语言的编译,而且在软件上也得到仿真。通过图表。让我们看到程序运行数据,流程说明,以及可能产生的问题。这一切都是通过精心的论证。当然本论文也可以让地铁站工作人员对票务的管理具有很好的参考价值关键词:EDA技术 VHDL语言 MAX

2、PLUS仿真软件 Subway station ticket system control AbstractWith the rapid development of public transportation, subway is no longer a new term, subway to the city brought convenient as everyone knows, but how to better control the subway, has become in many countries pursued hot and difficult problem.The

3、 topic is on the subway control in the ticketing system control, the system elaborated the EDA technology of the origin and development prospects, VHDL language compiler, as well as in computer by use of MAXPLUS software simulation to task demands of the task. Let us not only in the theory on the re

4、alization of the subway ticketing system control language compiler, but also in the software has also been simulation. Through the graph. Let us see the program operation data, process description, and possible problems. All this is through careful argumentation. Of course, this thesis also can let

5、subway station staff to the ticket clerk management has very good reference valueKey words: EDA VHDL MAXPLUS language simulation software目录摘要1Abstract2第一章 EDA技术概述61.1 EDA技术的概念61.2 EDA技术的主要内容61.3 EDA常用软件介绍71.4 EDA技术的应用展望8第二章 VHDL编程基础92.1 概述92.2 数字系统的硬件设计概述92.1.2利用硬件描述语言()的硬件电路设计方法92.1.3 VHDL语言设计硬件电路的

6、优点102.2 VHDL语言程序的基本结构102.2.1 VHDL语言设计的基本单元102.2.2构造体(实现)102.2.3语言结构体的子结构描述122.2.4库132.2.5包集合132.2.6配置132.3 VHDL语言的数据类型及运算操作符142.3.1 VHDL语言的客体(或对象)及其分类142.3.2 VHDL语言的数据类型152.3.3用户定义的子类型162.3.4数据类型的转换172.4 VHDL语言的主要描述语句172.5 VHDL语言构造体的描述方式18第三章 MAX+PLUS使用简介193.1 建立一个新项目203.2 建立一新的图形输入文件213.3 编辑图形输入文件2

7、23.4 编译项目文件243.5 创建波形文件并进行功能仿真25第四章 设计284.1 设计要求:294.2 课题分析294.2.1系统流程图:294.2.2系统状态图31第五章 实现32第六章 总结39致谢39参考文献39附录40引言随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也逾益依赖于EDA技术的应用。即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,

8、EDA技术将迅速成为电子设计领域中的极其重要的组成部分。地铁的控制固然离不开这项新的技术,因此我们应该更应该对这项技术有一定的认识!4 第一章 EDA技术概述1.1 EDA技术的概念 即电子设计自动( Electronic DesignAutomation)技术,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门技术。1.2 EDA技术的主要内容 EDA技术涉及面很广,内容丰富,从教学和实用的角度看,主要应掌握如下四个方面的内容:1)

9、大规模可编程逻辑器件;2)硬件描述语言;3)软件开发工具;4)实验开发系统。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。大规模可编程逻辑器件PLD(Programmable Logic Device,可编程逻辑器件)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称,两者的功能基本相同,只是实现原理略有不同,所

10、以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。PLD是电子设计领域中最具活力和发展前途的一项技术,PLD能完成任何数字器件的功能。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统,通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得PLD技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。硬

11、件描述语言(HDL)硬件描述语言(HDL)是相对于一般的计算机软件语言如C、Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。HDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。用HDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。就FPGA/CPLD开发来说,比较常用和流行的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、Sy

12、stemVerilog和SystemC。其中VHDL、Verilog在现在EDA设计中使用最多,也拥有几乎所有的主流EDA工具的支持。而Sys-temVerilog和SystemC这两种HDL语言还处于完善过程中。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL与Verilog HDL语言将承担起大部分的数字系统设计任务。1 1.3 EDA常用软件介绍 EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:multiSIM7(原EWB的最新版本)、PSPICE

13、、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。1.4 EDA技术的应用展望EDA技术将广泛应用于高校电类专业的实践教学和科研工作中与世界各知名高校相比,我国高等院校在EDA及微电子方面的教学和科研工作有着明显的差距,我们的学生现在做的课程实验普遍陈旧,动手能力较差。从某种意义上来说,EDA教学科研情况如何,代表着一个学校电类专业

14、教学及科研水平的高低,而EDA教学科研工作开展起来后,还会对微电子类、计算机类学科产生积极的影响,从而带动各高校相应学科的同步发展。EDA技术将广泛应用于专用集成电路和新产品的开发研制中由于可编程逻辑器件性能价格比的不断提高,开发软件功能的不断完善,而且由于用EDA技术设计电子系统具有用软件的方式设计硬件;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上等特点,使其将广泛应用于专用集成电路和机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域新产品的开发研制中。EDA技术将广泛应用于传统机电设备的升级换代和技术改造传统机电设备的电器控制系统

15、,如果利用EDA技术进行重新设计或进行技术改造,不但设计周期短、设计成本低,而且将提高产品或设备的性能,缩小产品体积,提高产品的技术含量,提高产品的附加值。EDA技术将在国防现代化建设中发挥重要的作用EDA技术是电子设计领域的一场革命,目前正处于高速发展阶段,每年都有新的EDA工具问世,我国EDA技术的应用水平长期落后于发达国家,如果说用于民品的核心集成电路芯片还可以从国外买的到的话,那么军用集成电路就必须依靠自己的力量研制开发,因为用钱是买不到国防现代化的,特别是中国作为一支稳定世界的重要力量,更要走自主开发的道路。强大的现代国防必须建立在自主开发的基础上,因此,广大电子工程技术人员应该尽早

16、掌握这一先进技术,这不仅是提高设计效率和我国电子工业在世界市场上生存、竟争与发展的需要,更是建立强大现代国防的需要。第二章 VHDL编程基础2.1 概述VHDL语言(VHSIC Hardware Description Language,甚高速集成电路硬件描述语言)是一种设计、仿真、综合的标准硬件描述语言,是对可编程逻辑器件进行开发与设计的重要工具,其优点是:支持自上而下和基于库的设计,支持范围广,具有多层次描述系统硬件功能的能力。VHDL语言已成为IEEE的一种工业标准,是实现信息系统硬件开发所必备的知识和技能。2.2 数字系统的硬件设计概述 l 采用自下而上(ottom )的设计方法l 采

17、用通用的逻辑元、器件l 在系统硬件设计的后期进行仿真和调试l 主要设计文件是电原理图2.1.2利用硬件描述语言()的硬件电路设计方法l 硬件描述语言:可以描述硬件电路的功能,信号连接关系和定时关系的语言。利用硬件描述语言编程来表示逻辑器件与系统硬件的功能和行为,是该设计方法的一个重要特征。l 采用自上而下(op Down)的设计方法 就是从系统的总体要求出发,自上而下地逐步将设计内容细化,最后完成系统硬件的总体设计。l 设计的三个层次:第一层次是行为描述。 第二层次是RTL方式描述,又称寄存器传输描述(数据流描述),以实现逻辑综合。第三层次是逻辑综合。l 自上而下硬件设计流程(表2-1)表2-

18、12.1.3 VHDL语言设计硬件电路的优点l 美国国防部1982年开发VHDL(Very -High-Speed Integrated Circuit Hardware Description Language)语言,是当前广泛使用的HDL语言之一,并被IEEE和美国防部采用为标准的HDL语言。l 设计技术齐全、方法灵活、支持广泛l 系统硬件描述能力强l 可以与工艺无关编程l 语言标准、规范、易于共享和复用 2.2 VHDL语言程序的基本结构2.2.1 VHDL语言设计的基本单元l 一个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置(Config

19、uration)、包集合(Package)和库(Library):l 功能: 实体、构造体、包集合、配置和库 l 基本组成:实体说明和构造体两部分 2.2.2构造体(实现)1 实体说明:规定此实体输入与输出的数目与类型。l 结构: entity 实体名 isgeneric(类属参数说明);port(端口说明);end实体名;l 类属参数说明:generic ( 常数名:数据类型:数值);在端口说明前,用于指定参数。l 端口说明: 在entity语句的实体说明部分,常用port语句描述实体对外界连接的端口(数目、方向和数据类型)。port (端口名:端口方向端口数据类型;端口名:端口方向端口数据

20、类型;);端口方向:in (输入),只能读,用于:时钟输入、控制输入(装入、复位、使能)、单向数据输入;out (输出),只能被赋值,用于不能反馈的输出;inout(输入输出) ,既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。buffer(缓冲),类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。VHDL语言设计的构造体构造体定义实体功能的一种实现。l 构造体的结构:architecture 构造体名of 实体名 is块说明项begin 并发语句end 构造体名;块说明项(或定义语句),位于architecture 和begin之间,对构造体内部的

21、使用信号、常数、数据类型和函数进行说明。l 并行语句处于begin 与end之间,描述构造体的行为与连接关系。l 构造体的描述方法: 行为描述 数据流描述或RTL描述 结构化描述 l 构造体的组织(表2-2)表2-22.2.3语言结构体的子结构描述1. block语句结构l 语句结构:块结构名:block begin . . .end block 块结构名;2. 进程(process)语句结构l 进程语句的结构:进程名:process(信号,信号,) 说明内部变量begin顺序语句 end process;l 功能独立的电路可用进程来描述l 进程中语句的顺序性l 进程的启动l 进程的同步描述同

22、一结构体中有多个进程存在时,进程之间可一边进行通信,一边并行同步执行。子程序(subprogram)语句结构描述 两种类型:过程(procedure) 函数 (function)l 过程语句结构:procedure 过程名(参数1,参数2,) is 定义语句;begin 顺序处理语句;end 过程名;l 函数语句结构:function 函数名(参数1,参数2,) return 数据类型名 is 定义语句;begin 顺序处理语句; return 返回变量名end 函数名;2.2.4库库(Library)是经编译后的数据的集合,库说明总是放在设计单元的最前面。1) 库的种类:l IEEE 库 l

23、 STD库 l ASIC矢量库l WORK 库l 用户定义的库2) 库的使用l 除WORK、STD库外,首先要说明。格式: library 库名; use 库名.包名.项目名;l 库说明的作用范围:从实体开始到其所属构造体、配置为止。2.2.5包集合l 包集合用于封装属于多个设计单元分享的公共信息。l 包集合由包说明(说明数据类型、子程序和常量等)和包体(它含有子程序体与现有的延时常数)所组成。子程序由执行公共操作的过程和函数组成。包集合是分享属于实体数据的一种机制,把子程序、数据类型和元件说明看成建立设计的工具,则包集合可看成工具箱。 1) 包集合的结构: package 包集合名 is 包

24、集合说明语句; end 包集合名; package body 包集合名 is 包集合体说明语句; end 包集合名;注:包集合体为可选项。3) 包集合的使用: use work.包集合名.all;l 用于其他使用此包集合的程序: 2.2.6配置描述层与层之间的连接关系以及实体与构造体之间的连接关系。在仿真时利用配置选择不同的构造体。格式:CONFIGURATION 配置名 OF 实体名 ISFOR 构造体名END FOR; END 配置名;2.3 VHDL语言的数据类型及运算操作符 2.3.1 VHDL语言的客体(或对象)及其分类l 可以赋予一个值的对象成为客体(object)。l 客体包括:

25、 信号、变量、常数l 客体的含义与说明:(表2-3)客体说明 含 义 说 明 场 合 信号 全局量architecture, package, entity 变量 局部量process, function, procedure 常数全局量、 局部量 包括上面两种场合表2-3l 客体说明格式:客体类别 客体名 数据类型:=初始值1)常数(constant)l 格式: constant 常数名:数据类型:=初始值;2)变量l 格式: Variable变量名:数据类型 约束条件 :=表达式;l 格式:l signal变量名:数据类型约束条件:=初始值;l 进程中向信号赋值的时刻和信号得到该值的时刻之

26、间有延迟;l 当向信号赋值时未给定延迟,但有一隐含延迟,称延迟;l 延迟是一个无穷小的时间量;3)信号与变量的区别l 变量赋值立即发生,无延迟;信号赋值至少有延迟,在进程中仅当碰到wait语句或进程结束赋值才生效。l 进程只对信号敏感,而对变量不敏感。l 信号除当前值外还有许多相关信息,而变量只有当前值。l 信号是全局量,变量为局部量。l 信号在电路中的功能是保存变化的数值和连接子元件;变量在电路中无类似的对应关系,用于计算。2.3.2 VHDL语言的数据类型1.标准数据类型(表2-4) 数据类型 含 义 整 数(integer) 自然数(natural) 正整数(positive) -214

27、7483647-2147483647 0 - 2147483647 1- 2147483647 实 数浮点数,-1。0E+38-+1。0E+38 位逻辑“0”或“1” 位矢量位矢量 布尔量逻辑“假”或“真” 字 符ASCII字符 时 间时间单位fs,ps,ns,us,ms,sec,min,hr 错误等级NOTE,WARNING,ERROR,FAILURE 字符串字符矢量表2-4l VHDL中的预定义类型,用户不必明显地说明就可直接使用,在STANDARD 程序包中。l 整数(integer)l 整数类型的行为和算术中整数相似 *范围: -2147483647-2147483647l 自然数(n

28、atural) *范围: 0-2147483647l 正整数(positive) *范围: 1-2147483647l 布尔类型: 实际是一个两值(false和true)的枚举型;无数值含义,不能进行算术运算,能进行关系运算。l 位(bit): 表示:或.l 位矢量(bit_vector)用双引号括起来的一组位数据,例:00110,X00BB。l 字符(character) 用单引号括起; 大、小写含义不同; 包括:到中的字母、到中的数字、空白及特殊字符。l 字符串(string)用双引号括起;l 时间: 物理型数据(物理类型表示如距离、电流和时间一类的物理量),包含整数与单位两部分,例如:5

29、5 sec,2 min.l 错误等级:表征系统状态,共四种:(Note,Warning,Error,Failure),编译与仿真时用。2 用户定义的数据类型l 格式:type 数据类型名,数据类型名 数据类型定义;不能进行逻辑综合*枚举(enumerated)类型*整数(integer)类型*实数(real)(float)类型*数组(array)类型*存取(access)类型*文件(file)类型*时间(time)类型*记录(recorde)类型l 枚举(enumerated)类型 枚举类型是抽象数据类型,它描述用户定义的操作并使模块更可读,此类型通过列出(或枚举)该类型中所有元素来定义。*格

30、式: TYPE 数据类型名 IS (元素,元素,);*“数据类型名”可用字母、下划线和数组成的序列,且必须以字母开头,也不能用VHDL保留字。元素是单字符或字符串。若为单字符则外加单引号。l 整数(integer)类型l 实数(real)(float)类型l 实型类型行为和算术中的实数类似l 数组(array)类型 l 时间(time)类型l 记录(recorde)类型 2.3.3用户定义的子类型l 子类型能对基本类型的范围加限制。l 格式:SUBTYPE 子类型名 IS 数据类型名范围;l 是对原数据类型指定范围而形成,或与原类型范围一致。2.3.4数据类型的转换l 不同类型的数据必须在类型

31、转换后才能进行运算或操作。l 类型转换函数表:(表2-5) 函 数 名 功 能l std_logic_1164包集合TO_STDLOGICVECTOR(A)TO_BITVECTOR(A)TO_STDLOGIC(A)TO_BIT(A) 由 BIT_VECTOR转换成 STD_LOGIC_VECTOR 由 STD_LOGIC_VECTOR转换成 BIT_VECTOR 由 BIT转换成 STD_LOGIC 由 STD_LOGIC 转换成 BIT l std_logic_arith包集合CONV_STD_LOGIC_VECTOR(A,位长 )CONV_INTEGER(A)由INTEGER ,UNSIG

32、NED,SIGNED转换成 STD_LOGOC_VECTOR由UNSIGNED,SIGNED转换成 INTEGERl std_logic_unsigned包集合CONV_INTEGER(A)由STD_LOGOC_VECTOR转换成 INTEGER表2-5 2.4 VHDL语言的主要描述语句l 顺序语句和并发语句顺序描述语句l WAIT语句l 断言语句l 信号赋值语句l 变量赋值语句l IF语句l CASE语句l LOOP语句 l NEXT 语句l 过程调用语句l NULL语句(只占位置的空操作,对信号赋空值,表示关闭)2.5 VHDL语言构造体的描述方式1.体的行为描述方式l 可并行信号赋值是

33、VHDL的特点。 2延时语句l 惯性延时l 传输延时3GENERIC 语句l 用于不同层次之间的信息传送构造体的寄存器传输描述方式1.描述方式的特点l 寄存器描述方法: 与硬件一一对应的描述或寄存器之间的功能描述 (p56-57)l VHDL语言的限制2.描述方式应注意的问题l X状态传递l 寄存器RTL描述的限制:*在一个进程中不能有多于一个寄存器的描述*IF语句中不能有ELSEl 关联性强的信号应放在一个进程中构造体的结构描述方式l 多层次设计,高层次设计调用低层次设计模块 COMPONENT 语句l 元件说明COMPONENT 元件名 GENERIC(类属说明) PORT(端口说明)EN

34、D COMPONENT;l 可以在结构体、包集合和BLOCK的说明中使用l 元件例化语句*将现成元件的端口信号映射成高层次设计电路中的信号;*格式: 例化名:元件名 generic map (类属名=表达式,类属名=表达式) port map (端口信号名=信号,端口信号名= 信号)*类属映射为可选项,类属名与元件说明语句中的相同,每个表达式要计算出一个值。*端口信号名与元件说明语句中的相同,信号为高层实际信号。端口映射方法: 位置映射:把实际信号按元件端口说明的顺序列在端口映射表; 名称映射:将元件端口说明中的端口名赋给实际信号。 第三章 MAX+PLUS使用简介 完成组合逻辑电路的设计与仿

35、真过程,可以使用EDA数字系统开发软件MAX+PLUS,主要用到以下操作,而且有顺序规定,在编译前需对图形编辑文件保存,并且项目文件必须与图形文件名称一致、保存在同一文件夹,只是后缀不同。编译正确后才能创建波形文件,波形文件保存后,才能进行仿真,最后进行时序分析。如中途进行修改,从修改开始的操作步骤要重做一边。1、 建立一个新项目;2、 建立一个新的图形输入文件;3、 进行图形输入文件的编辑;4、 进行项目文件的编译;5、 创建波形文件并进行功能仿真;6、 进行时序分析。3.1 建立一个新项目 启动MAX+plusII:在WINDOWS界面下,单击开始程序 AlteraMAX+plusII9.

36、5,进入MAX+plusII9.5管理器窗口,见图3.1 用 MAX+plusII编译一个设计文件之前,必须先指定一个项目文件,选中FileProjectName,显示对话框图3.2 在Project Name框中,键入项目名,如test1,若改变test1所属子目录,用户可在Directories窗口中修改。 选择OK,则MAX+plusII9.5窗口标题会变成新的项目名称:MAX+plusII Manager-d:Max2worktest1。 如已打开一个图形文件,可用菜单FileProjectSet Project To Current File将项目设为与当前图形文件相对应。注意:换一

37、个电路图,必须重新定义项目名,项目名与文件名必须一致。图3.1 图3.23.2 建立一新的图形输入文件 在文件菜单中,选中FileNew,出现图对话框New如图3.3,New的对话框供读者选择输入方法:l 图形文件l 符号文件l 文本文件 l 波形文件下面介绍的是使用图形输入法。 图3.3 图3.4 选择Graphic Editor file图形输入文件,选择OK,则出现一个无名称的图形编辑窗口,如图3.4中标明了每个按钮的功能,这些按钮在今后的设中会经常用到。 选择工具 正交线工具 弧线工具 放大按钮与窗口适配 打开橡皮筋 连接功能文本工具对角线工具圆形工具缩小按钮连接点接断关闭橡皮筋连接功

38、能 在无名称的编辑窗口中,选Filesave或save as,出现save as 窗口, 在File Name中,输入test1.gdf文件名,“.gdf”是缺省扩展名不能改。 选择OK,即被保存到当前项目子目录下。3.3 编辑图形输入文件MAX+plusII为实现不同的逻辑功能提供了大量的图元和宏功能符号提供设计人员在图表编辑器文件中直接使用。其中,Prim(Altera图元库)包括基本的逻辑块电路,mf(宏功能库)包括所有74系列逻辑。输入图元或宏功能块的步骤如下: 图3.5 选择工具有效时,在图形编辑器窗口的空白处单击鼠标以确定输入位置。图1-5输入符号 选择Enter Symbol或双

39、击鼠标就会出现一个Enter Symbol对话框,在Symbol Libraries对话框中选择“maxplusmax2libprim ” 路径,所有的Altera图元就会以列表的方式显示出来,选中所需的输入图元,然后选择OK,所选的图元就会出现在图形编辑器中,如图3.5只要重复上述两步,就可连续选取图元。74系列符号的输入方法和图元的输入方法相似,只要在Symbol Libraries框中选择“maxplusmax2libmf ” 路径即可。图元的符号表示采用美国标准,与我国标准有所不同。 输入图元时也可以在Enter Symbol对话框中的Symbol Name框上直接写入图元的名称,常用

40、图元名称见附录二。 放置输入、输出引脚,放置方法与放置图元相似,即在图形编辑器窗口的空白处双击鼠标左键,就可显示Enter Symbol对话框。只要在Symbol Name框中键入INPUT,然后选择OK,符号INPUT就会显示在图形编辑器中。若在Enter Symbol对话框中键入OUTPUT,则OUTPUT也就会显示出来。在引脚的PIN_NAME处双击鼠标左键,可以对引脚进行命名。如图1-6所示。 需输入高电平、低电平时,可用电源(Vcc)和地(GND),输入方法同。 如果需要连接两个端口,可将鼠标移到其中一个端口上,这时鼠标指示符自动变为“+”形状,然后一直按住鼠标左键并将鼠标拖到第二个

41、端口,放开左键,则一条连线被画好了。如图3.6所示。如果需要删除一根连线,可单击此线使其成高亮线,然后手按Del键即可。当两条线相交时,可以用“连接点接断”工具选择通断 图3.6 如果要重复放置同一个符号,可用复制符号的方法,这样可以提高图形输入的速度,复制符号的具体方法是将鼠标放在所要复制的符号上,按下Ctrl键和鼠标左键不放,同时拖住鼠标,并把它放在指定位置,这样就可以复制符号了。另外还可以用copy和paste命令进行。 右键菜单和工具中有旋转、翻转工具,可对符号、引脚或引线进行水平或垂直翻转,或旋转90、180、270。 除了引脚以外,对引线也可以进行命名。方法是选中需命名的引线,然后

42、输入名字。对于n位宽的总线A命名,可以采用An1.0形式,其中单个信号可用A0、A1、A2,An形式。同一名称的引线即使在图形中不相连,它们在逻辑上也是相连的。因此对较长或较难连通的连接线只要将它们命名为同一名称即可相连。注:如果引线与引脚同名,则表示这条引线与引脚是相连的。但不能存在相同名称的引脚。 图形编辑器选项:在图形编辑窗口的Options菜单中列出了编辑图形时的一些选项,包括文本的字型和大小控制、线型、显示任务、网络控制等,读者可以根据需要进行选择。注意:1 连线需要与元件相连时,必须打开“橡皮筋连接”工具,连线后可以用移动元件的方法来验证,连线是否真的连上。2 交叉线的交接处有黑点

43、时为相通,无黑点时不通,可用“连接点接断”工具选择“通”或“断”。3 保存图形文件时文件名必须与项目文件名一致,后缀用默认的“.gdf”。3.4 编译项目文件MAX+plusII编译器可以检查项目中的错误并进行逻辑综合,将项目最终设计结果加载到Altera器件中去,并为模拟和编程产生输出文件。我们将利用编译器检查输入图形文件的错误并对编译后的结果进行功能仿真和时序仿真。3.7 打开编译器窗口:在MAX+plusII菜单内选择Compiler菜单项,则出现编译器窗口,如图3.7所示。 选择Start即可开始对所要编译的项目文件进行处理。在编译项目期间,所有信息、错误和警告将会在自动打开的信息处理

44、窗口中显示出来。如果有错误发生,选中该错误信息,然后按下Locate按钮,就会找到该错误在设计文件中的位置。如图3.8所示。3.8 如果输入图形文件有错误,可修改错误后,重复、。编译通过后,编译器会将项目的设计结果加载到一个Altera器件中。同时产生报告文件、编程文件和用于仿真的输出文件。3.5 创建波形文件并进行功能仿真设计输入和编译仅仅是整个设计过程的一部分,成功的编译只能保证为项目创建一个编程文件,而不能保证该项目将按期望的那样运行。因此需要通过模拟来证明项目的功能是否正确。在模拟过程中,需要给MAX+plusII模拟器提供输入变量,模拟器将利用这此输入信号来产生输出信号(与可编程器件

45、在同一条件下产生的信号相同)。根据所需的信息种类,设计人员可用MAX+plusII进行功能或时序模拟。功能模拟仅是测试项目的逻辑功能,而时序模拟不仅测试逻辑功能,还可测试目标器件最差情况下的时间关系。创建模拟文件和功能模拟的方法如下: 从File菜单中选择New,然后选择Waveform Editor File,从下拉列表中选择.scf扩展名,并按OK,即可创建一个新的无标题文件,如图3.8所示。图3.8 从File菜单中选择End Time,键入1ms,按OK键,则设置了模拟的时间长度为1ms。 在Options菜单中选择Grid Size,键入40ns,按OK键,则网络间距变成了40ns,

46、建议取值40ns或以上,取值太小会引起正常逻辑和延时相混淆,太大时需要的仿真时间长,第中的仿真模拟时间长度,需结合所需仿真的逻辑组合个数或时序长度和网格间距时间,太短不能仿真全部逻辑或时序,太长所需计算时间长。 在图3.8中选择Node菜单中的Enter Nodes from SNF菜单项或在窗口内的空白处单击鼠标右键,则Enter Nodes From SNF对话框将出现在屏幕上。如图所示。仅选中Type框中input和output项,Node Group对话框为“*”,选择list,可列出所有的input和output。单击可使用节点或组窗口中的所需项,选择右键头,把选中的节点或组送到右窗

47、口。选择OK,出现波形编辑器。放大工具缩小工具窗口适配改写波形为0改写波形为1改写波形为不定态改写波形为高阻态翻转波形设置周期状态工具设置计数状态工具设置组状态工具设置状态机状态工具图3.9工具 此时output为不定态,可根据需要来编辑input的状态来观察输出波形,可以利用左边给出的快捷按钮进行波形编辑,快捷按钮主要功能见图。 是选择工具,可以用来选择一段波形。按下选择工具,在波形编辑区拖动鼠标即可选中一段波形,或单击Name区选中整个波形。 是字符输入工具。 是波形编辑工具,按下编辑工具,在波形编辑区拖动鼠标即可修改一段波形。波形的最小变化,不会超过网络间距,可以改变网络间距设定波形最小

48、变化。 这里我们输入input的所有状态(ABCD:0000、0001、0010,),如图3.10所示。 图3.10 选择File Save As,在File Name框中会自动出现test1.scf,然后选择OK,存盘,仿真前波形文件必须手工保存,系统不会提示保存对话框。图3.11 仿真:在MAX+plusII菜单中,选择Simulator,出现图3.11,单击start后,若无错误,则显示零错误零警告框,单击OK后,出现波形框,这时可根据输入波形来观察对应的输出波形是否正确。 通过光标键移动参考线,可观察此时参考线位置显示的数据,数据值显示在第一行第二列的Time框中。 利用右侧的放大工具

49、将波形放大,会发现输出波形并没有完全对应于输入波形,如图3.12所示,这是由于延时产生的。图3.12 根据仿真结果,核对输出与输入之间的逻辑关系及时序与设计要求是否一致。第四章 设计4.1 设计要求:功能描述:用于模仿地铁售票的自动售票,完成地铁售票的核心控制功能。功能要求:售票机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是5角和1 元的硬币,纸币的识别范围是1 元、5 元,1 元,20 元,50元,100元。乘客可以连续多次投入钱币。乘客可以选择的种类为2元和3元和4元,乘客一次只能选择一个出站口。购买车票时,乘客先选择出站名,然后选择所需的票数,再进行投币,投入的钱币达到

50、所需金额时,售票机自动出票,并找出余额,本次交易结束,等待下一次的交易。在投币期间,乘客可以按取消键取消本次操作,钱币自动退出。4.2 课题分析1 买车票时,乘客按“开始选择”按钮,接着选择出站口接着 选择购票数量(根据提示,一次购票数限制在3张以内);然后按“开始投币”按钮,投入钱币;当投入的钱币达到所需金额时,售票机自动出票,并找出余额。考虑到控制整个售票机的物理体积,余额将全部采用5角硬币的形式找出。2 选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”,则售票机直接回到初始状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,

51、再回到初始状态。3 客一次只能选择一个出站口,根据乘坐的站数确定票价。假设乘客购票所在站到终点站共有15站。若乘坐1-8站,则票价为2元张;若乘坐9-16站,则票价为4元张。16个站用长度位4的二进制向量编码表示,即0001表示乘坐1站,0010表示乘坐2站,依次类推,1111表示乘坐15站(到终点站)。4 票机有2个进币端口。硬币口可识别5角和1元2种硬币,拟用长度为2的一比特热位(one-hot)编码方式表示,即01表示5角,10表示1元。纸币口类似,用长度为4的一比特热位编码方式表示。乘客可以连续多次投入钱币,并且可以以任意顺序投入硬币和纸币。5 票机设有钱币“暂存杆”,其有3个状态:退币状态、等待状态、进币状态,分别用00、01、10表示。退币状态下,“暂存杆”将乘客投入的钱币推出;等待状态下,投入的钱币被“暂存杆”挡住暂存;进币状态下,“暂存杆”将乘客投入的钱币推入售票机内部。4.2.1系统流程图:初始状态按“开始选择”选择出站口按“开始投币”投入钱币钱币足够找零口找零出票口出票按“取消”按“

温馨提示

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

评论

0/150

提交评论