学士学位论文基于vhdl的自动售货机控制电路设计文档格式.docx
《学士学位论文基于vhdl的自动售货机控制电路设计文档格式.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于vhdl的自动售货机控制电路设计文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
给出了各个模块的源程序以及模块之间连接图,并通过仿真验证做出必要的分析。
仿真结果说明本次设计能满足自动售货机所要求的功能,从而实现了电路设计的自动化和智能化。
关键词自动售货机;
VHDL;
EDA;
MAX+plusII
TheVendingMachineCircuit
DesignBasedOnVHDL
QufeifanDirectedbyTA.Lianlian
Abstract
Withtherapiddevelopmentofscienceandtechnologyandmarketprosperitygradually,manycoin-operatedvendingmachineshavebecomehugelypopulararoundtheworlddevelopedcountries.Theuseofmodernelectronictechnologyandmechanicalandelectricaltechnologyautomaticfacilities,forPeople'
sDailylifehasbroughtgreatconvenience.
ThispaperintroducesthecharacteristicsandapplicationsofVHDL,vendingmachines,forexample,theprocessofitsimplementationisdescribedindetail.ThisarticleUSEStheVHDLdescriptionvendingmachinestructure,behaviorandfunctionofeachmoduleandtheinterfacewiththeMAX+plusIIsimulation.Bydefiningeachstateoftheprocessofsalesandthetransformationbetweeneachstatesoastorealizetheautomaticafter-salesmachineselectmultiplecommodities,throwingCOINS,changework,displaystatus,multipletransactions,andotherfunctions.Showsthevariousmodulesofthesourceprogramandconnectiondiagrambetweenmodules,andmakethenecessaryanalysisisvalidatedbycomputersimulation.Thesimulationresultsshowthatthedesigncanmeetthevendingmachinetherequiredfunctions,soastorealizethecircuitdesignofautomationandintellectualization.
KEYWORDSThevendingmachine;
VHDL;
EDA;
MAX+plusII
第1章前言
1.1课题背景
自动售货机是一种在无人状况下通过投入钱币自动售货的机器。
自动售货机不受时间,地点的限制,能够节省人力、空间、方便交易。
自动售货机主要分为三累:
食品自动售货机、饮料自动售货机、综合自动售货机。
现在在机场、地铁、商场、公园等人员密集的场所,很容易发现自动售货机的身影。
顾客只要投入几元的纸币或硬币,就可以方便地买到诸如饮料、口香糖等小商品。
作为一种新型的零售方式,自动售货机已经逐渐引起人们的注意。
自动售货机具有销售方式新、市场潜力大、技术含量高、商品货真价实等优点,因此它具有广阔的市场前景。
由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,由于VHDL具有易读和结构化的特点,所以易于修改和设计。
1.2课题的目的与意义
本设计要实现自动售货机的基本功能,如选择货物,投币,找零,显示,多次交易等功能。
利用软件MAX+plusⅡ平台,采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,与一般的软件开发不同,VHDL编程更需要熟悉一些底层的硬件知识,特别是数字逻辑电路的设计,因此VHDL编程的方法、思路都要更多的与硬件电路联系起来。
完成系统各个功能模块的硬件程序设计后,在软件平台上进行编译和电路仿真。
通过本课题的研究,可以掌握电子控制系统的基本原理与其实现,通过对各个模块的编程及其仿真,对MAX+plusⅡ软件的使用有所了解。
每个波形模块的VHDL实现加深了硬件描述语言的学习。
最终的顶层文件的调试,更是体现了综合知识的运用。
设计综合了本专业所学几门重要专业课程的内容,包括EDA技术、数字电子技术等的学习,较为符合电气工程及其自动化专业的培养要求,有助于实践能力、创新能力、设计能力的提高。
1.3自动售货机的国内外发展及现状
20世纪70年代,自动售货机是在日本,欧洲发展起来的高新科技产品。
它是一种新型的消费方式,被人们夸张的称为24小时工作的售货员,并且销售商品种类繁多。
从原来的单纯销售邮票,现扩大到销售各种饮料,食品,香烟,电话卡,药品,报纸,车票,小百货等种类很多。
目前,自动售货机在40多个国家和地区被广泛使用,美国平均40人拥有1台机器,日本平均18人拥有1台自动售货机,70%份额的罐装饮料在日本是通过自动售货机销售的,甚至在日本流行一种玩笑说如果全日本停电一整天日本将饿着肚子,没地方吃午饭,这也许是一个夸张的玩笑,但是,这一玩笑也说明现实生活当中人们的确已经离不开自动售货机。
自动售货机在中国发展的历史:
1993年,美国、韩国、日本的二手自动售货机进入中国,当时只能识别硬币。
1995年,百事可乐、可口可乐开始小量布放使用硬币的自动售冷饮机。
1997年,南开戈德开发出“GD人民币智能识别系统”。
1998年,南开戈德自行研制成功“GD自动售货机”,
成为我国第一家规模生产同时识别纸硬币自动售货机的公司。
1998年,加拿
图1-1是日常生活中的自动售货机。
大“科汇”公司在广州开始销售、摆放“Vendo”等进口机器。
1998年10月,南开戈德组建“天津戈德微超贸易有限公司”(现“天津戈德移动商务有限公司”前身),成为国内第一家规模经营自动售货机的单位。
2000~2001年,青岛“澳柯玛”、广州“金沙”、长沙“艾博”等相继进入自动售货机行业。
虽然自动售货机在中国的发展缓慢,但是可以预见,自动售货机在中国的市场前景是巨大的。
它在促进人们消费的同时,还能带动经济的发展。
自动售货机正在向市场化的方向迅速发展着。
第2章相关技术与设计工具
2.1EDA技术介绍
2.1.1EDA技术概念与应用
EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
20世纪90年代,国际上电子和计算机技术较为先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。
在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。
主要是让学生了解EDA的基本概念和基本原理、掌握用VHDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。
一般学习电路仿真工具(如Multisim、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础。
科研方面主要利用电路仿真工具(Multisim或PSPICE)进行电路设计与仿真;
利用虚拟仪器进行产品测试;
将CPLD/FPGA器件实际应用到仪器设备中;
从事PCB设计和ASIC设计等。
在产品设计与制造方面,包括计算机仿真,产品开发中的EDA工具应用、系统级模拟及测试环境的仿真,生产流水线的EDA技术应用、产品测试等各个环节。
如PCB的制作、电子设备的研制与生产、电路板的焊接、ASIC的制作过程等。
从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。
另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。
如AutoCAD软件可用于机械及建筑设计,也扩展到建筑装璜及各类效果图、汽车和飞机的模型、电影特技等领域。
2.1.2EDA技术的历史与发展趋势
在电子设计自动化(英语:
Electronicdesignautomation,缩写:
EDA)出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程度远不如现在。
工业界开始使用几何学方法来制造用于电路光绘(photoplotter)的胶带。
到了1970年代中期,开发人尝试将整个设计过程自动化,而不仅仅满足于自动完成掩膜草图。
第一个电路布线、布局工具研发成功。
设计自动化会议(DesignAutomationConference)在这一时期被创立,旨在促进电子设计自动化的发展。
电子设计自动化发展的下一个重要阶段以卡弗尔·
米德(CarverMead)和琳·
康维于1980年发表的论文《超大规模集成电路系统导论》(IntroductiontoVLSISystems)为标志。
这一篇具有重大意义的论文提出了通过编程语言来进行芯片设计的新思想。
如果这一想法得到实现,芯片设计的复杂程度可以得到显著提升。
这主要得益于用来进行集成电路逻辑仿真、功能验证的工具的性能得到相当的改善。
随着计算机仿真技术的发展,设计项目可以在构建实际硬件电路之前进行仿真,芯片布线布局对人工设计的要求降低,而且软件错误率不断降低。
直至今日,尽管所用的语言和工具仍然不断在发展,但是通过编程语言来设计、验证电路预期行为,利用工具软件综合得到低抽象级物理设计的这种途径,仍然是数字集成电路设计的基础。
从1981年开始,电子设计自动化逐渐开始商业化。
1984年的设计自动化会议(DesignAutomationConference)上还举办了第一个以电子设计自动化为主题的销售展览。
Gateway设计自动化在1986年推出了一种硬件描述语言Verilog,这种语言在现在是最流行的高级抽象设计语言。
1987年,在美国国防部的资助下,另一种硬件描述语言VHDL被创造出来。
现代的电子设计自动化设计工具可以识别、读取不同类型的硬件描述。
根据这些语言规范产生的各种仿真系统迅速被推出,使得设计人员可对设计的芯片进行直接仿真。
目前的数字集成电路的设计都比较模块化(参见集成电路设计、设计收敛(Designclosure)和设计流(Designflow(EDA)))。
半导体器件制造工艺需要标准化的设计描述,高抽象级的描述将被编译为信息单元(cell)的形式。
设计人员在进行逻辑设计时尚无需考虑信息单元的具体硬件工艺。
利用特定的集成电路制造工艺来实现硬件电路,信息单元就会实施预定义的逻辑或其他电子功能。
半导体硬件厂商大多会为它们制造的元件提供“元件库”,并提供相应的标准化仿真模型。
相比数字的电子设计自动化工具,模拟系统的电子设计自动化工具大多并非模块化的,这是因为模拟电路的功能更加复杂,而且不同部分的相互影响较强,而且作用规律复杂,电子元件大多没有那么理想。
VerilogAMS就是一种用于模拟电子设计的硬件描述语言。
此文,设计人员可以使用硬件验证语言来完成项目的验证工作目前最新的发展趋势是将集描述语言、验证语言集成为一体,典型的例子有SystemVerilog。
随着集成电路规模的扩大、半导体技术的发展,电子设计自动化的重要性急剧增加。
这些工具的使用者包括半导体器件制造中心的硬件技术人员,他们的工作是操作半导体器件制造设备并管理整个工作车间。
一些以设计为主要业务的公司,也会使用电子设计自动化软件来评估制造部门是否能够适应新的设计任务。
电子设计自动化工具还被用来将设计的功能导入到类似现场可编程逻辑门阵列的半定制可编程逻辑器件,或者生产全定制的专用集成电路。
从目前的EDA技术来看,其发展趋势是使用普及、应用广泛、工具多样、软件功能强大。
中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PCB制板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。
要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。
有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。
开展“数控化”工程和“数字化”工程。
自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。
在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展。
外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。
中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。
在EDA软件开发方面,目前主要集中在美国。
日本、韩国都有ASIC设计工具,但不对外开放。
中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。
相信在不久的将来会有更多更好的设计工具在各地开花并结果。
据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年均增长率分别达到了50%和30%。
2.2VHDL语言介绍
2.2.1VHDL语言概念、特点与优势
VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
与其他硬件描述语言相比,VHDL具有以下特点:
功能强大、设计灵活。
VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
支持广泛、易于修改。
由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广及应用奠定了基础。
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。
强大的系统硬件描述能力。
VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。
而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。
另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。
独立于器件的设计、与工艺无关。
用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。
当设计描述完成后,可以用不同的器件结构来实现其功能。
很强的移植能力。
同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
易于共享和复用。
VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。
这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
与其他硬件描述语言相比,VHDL具有以下优势:
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.2.2VHDL语言结构
在VHDL中,对某个数字系统的硬件抽象称为实体。
实体既可以单独存在,也可以作为另一个更大实体的一部分。
—个VHDL程序设计的基本结构,主要包括5个方面。
实体(Entity):
实体声明定义了一个设计模块的输入和输出端口,即模块对外的特性。
实体声明给出了设计模块与外部的接口。
结构体(Architecture):
结构体描述器件的行为或结构,说明该器件的功能以及如何完成这些功能。
它指定设计实体、输入和输出之间的关系,结构体一定跟在实体之后。
配置(Configuration):
配置语句描述层与层之间的连接关系以及实体与结构体之间的连接关系。
程序包(Package):
程序包用于存放各设计模块都能够共享的常数、数据类型和子程序等。
库(Library):
库是专门用于存放预先编译好的程序包的地方,对应一个文件目录,程序包的文件就放在此目录中。
在VHDL语言程序中,最重要的就是实体和结构体部分。
它们是一个具体设计的核心。
如果说实体是系统和外部交流的桥梁,那么结构体就是处理内外交流的信号加工厂。
在结构体中各种信号协调工作,最后得到所需的输出,传送到输出端口和外部进行交流。
下面具体说明实体和结构体。
实体:
一个VHDL实体指定的实体名称,实体的端口,以及实体相关的信息。
所有设计创建使用一个或多个实体。
让我们来看看一个简单的实体例子:
ENTITYmuxIS
PORT(a,b,c,d:
INBIT;
s0,s1:
x:
OUTBIT);
ENDmux;
关键字“实体”是开始一个实体声明的标志,在整本文的说明中,标准封装中关键字的语言和类型全部用大写字母来显示。
例如,在前面的示例中,关键字是ENTITY,IS,PORT,IN,INOUT,,等等。
如果标准型是少量的。
用户创建像复用一样的姓名,在上面的例子中,将以小写显示。
实体的名称是多路复用,该实体有7个端口和端口条款。
6个端口,一个是输入端口,另一个是输出端口。
4个数据输入端口(a,b,c,d)是位宽类型。
这两个多路选择输入是s0和s1,也都是位宽类型。
输出端口也是位宽类型。
实体描述外界的接口。
它规定了一些端口,端口方向和端口的类型。
比起这里显示的信息,实体可以存放更多的信息,但是这为我们提供了建立更复杂例子的基础。
结构体:
实体是描述接口的VHDL模型。
结构体描述了实体的基本功能,并包含了模拟实体行为的陈述。
结构体始终是涉及实体和描述实体的行为。
计数设备的结构体更早的像这样描述:
ARCHITECTUREdataflowOFmuxISSIGNALselect:
INTEGER;
BEGIN
select<
=0WHENs0=‘0’ANDs1=‘0’ELSE1WHENs0=‘1’ANDs1=‘0’ELSE2WHENs0=‘0’ANDs1=‘1’ELSE3;
x<
=aAFTER0.5NSWHENselect=0ELSEbAFTER0.5NSWHENselect=1ELSEcAFTER0.5NSWHENselect=2ELSEdAFTER0.5NS;
ENDdataflow;
关键字ARCHITECTURE本声明描述了一个实体的构架。
该结构体的名字是数据流。
该实体的构架是一种被称为多路复用的描述。
实体和结构连接之间的原因是一个实体可以有多个结构体来描述实体的行为。
例如,一个构造可能是一个行为描述,另一个可能是结构性的描述。
在关键字ARCHITECTURE和BEGIN的文字区域是本地信号和供日后使用的组件。
在这个例子中的信号选择被宣布为当地的信号。
结构体的申明