《基于Verilog语言的简单自动售货机.docx》由会员分享,可在线阅读,更多相关《基于Verilog语言的简单自动售货机.docx(27页珍藏版)》请在优知文库上搜索。
1、EDA设计根底实验课程论文题目基于VeriIog语言的简单自动售货机学院通信学院专业班级通信Ul班学生姓名大彬哥指导教师大力会2023年6月12日摘要本设计是以现场可编程逻辑器件(FPGA)为核心的自动售货机,利用QUartUSn软件编写VerilogHDL硬件描述语言程序以实现自动售货功能。本设计主要以程序为主,硬件方面那么使用实验箱,将程序各变量端口与实验箱管脚进行相应的配置,用八个开关分别代表商品价格、所投钱币价格及确认付款找零操作。中选择好商品并投币后,数码管显示所选商品价格及投入钱币价格;按下确认付款开关,数码管显示应该找多少钱,蜂鸣器响,对应商品LED灯亮。假设所投钱币缺乏所选商品
2、价格,对应警告钱币缺乏的LED灯亮。关键字;现场可编程逻辑器件VerilogHDL自动售货机QuartusIIAbstractThisdesignisanauto-vendingmachinebasedonfieldprogrammablelogicdevices(FPGA).WeuseQuartusIItowriteprocedureinverilogHDLwhichisalanguagetodescribehardware.Theprocedurewillrealizethefunctionofauto-vendingmachine.Thisdesignismainlyaboutproce
3、dure.Forthehardware,weuseexperimentalbox.Weallocateallvariablequantitiesintheproceduretothefeetinexperimentalbox.Weuseeightswitchrespectivelyrepresentcommoditypricesandthrowmoneypriceandconfirmpaymentchangeoperation.Whenchoosinggoodcommoditiesandcoin,digitalpipedisplayselectedcommoditypricesandmoney
4、price.Whenpressingconfirmpaymentswitch,digitalpipedisplayshouldfindhowmuchmoney,buzzersounded,correspondingcommodityLEDlights.Ifthrowmoneyshortageselectedcommodityprices,correspondingwarningmoneyshortageofLEDlights.Keywords:FPGAVerilogHDLauto-VendingmachineQuartus11目录摘要错误!未定义书签.Abstract错误!未定义书签。第1章绪
5、论错误!未定义书签。1.1 概述错误!未定义书签。1.2 课题的背景、目的错误!未定义书签。1.3 课题设计环境21.3.1 EDA的应用及开展趋势错误!未定义书签。1.3.2 QuartusII简介31.3.3 FPGA介绍4第2章系统设计52.1 系统设计52.2 系统设计方案比拟52.2.1 总体设计52.2.2 设计方案比拟5第3章详细设计73.1 自动售货机状态描述73.2 设计思路及原理73.2.1 模块描述与实现73.2.2 电路原理图93.3 自动售货机状态描述1134详细状态描述113.4.1 初始状态113.4.2 选商品状态Il3.4.3 投币状态113.4.4 找零状态
6、11第4章软件设计134.1 分析与设计思路134.2 框图144.3 程序总流程图154.4 程序15第5章结果与讨论225.1 实验调试225.1.1 调试步骤错误!未定义书签。25.1.2 实验现象235.2 结果与分析23结论24参考文献25附录26致谢27第1章绪论1.1 概述随着电子技术的开展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子CAD软件,在实验室里就可以设计自己的专用集成电路ASIC器件。这种可编程ASIC不仅使设计的产品到达小型化、集成化和高可靠性,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,
7、降低了设计风险。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件,实现电子设计自动化。其中电子设计自动化(EDA)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。EDA是电子设计自动化(ElectronicDesignAutomation的缩写,在20世纪60年代中期从计算机辅助设计(CAD)计算机辅助制造CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念开展而来的。VerilogHDL是众多EDA软件中的一个,结合我们这学期所学课程,本次设计采用的是Verilog公司推出的Ver
8、ilog硬件描述语言,目的是为了将我们所学应用到实际生活中,同时加深我们对Verilog硬件描述语言,FPGA芯片等等的认识与掌握。1.2 课题的背景、目的二十一世纪是信息化高速开展的世纪,因此在二十一世纪掌握前沿技术是十分有必要的。本次课题是计算机组成原理的课程设计,这次课题旨在通过自己对所需功能芯片的设计与实现来稳固以前所学的计算机硬件根底知识,同时也提高动手实践的能力,还有为将来进行更大规模更复杂的开发积累经验。自动售货是20世纪70年代在日本、欧美开展起来的一种全新的消费方式,自动售货机(VendingMaChineS)商业起源于本世纪的六十年代,由美国的MarS家族创造。自动售货机又
9、被称为24小时营业的微型自助超市,它的售货领域非常广泛,是兴旺国家商品零售的一种主要方式。自动售货机作为一种先进的消费方式,已经成为城市现代文明兴旺程度的重要标志,其新颖、时尚的购物方式,24小时营业的特点给人们生活带来了便利,美化了城市环境,受到消费者的欢送。但是在我国自动售货机的普及还不及兴旺国家,主要原因是我国EDA技术的应用水平长期落后于兴旺国家。1.3 课题设计环境1.4 .1EDA的应用及开展趋势EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的根本概念和根本原理、掌握用HDL
10、语言编写标准、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验并从事简单系统的设计。一般学习电路仿真工具(如EWB、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下根底。科研方面主要利用电路仿真工具(EWB或PSPlCE)进行电路设计与仿真;利用虚拟仪器进行产品测试;将CPLD/FPGA器件实际应用到仪器设备中;从事PCB设计和ASIC设计等。从目前的EDA技术来看,其开展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。中国EDA市场己渐趋成熟,不过大局部设计工程师面向的是PC主板和小型ASIC领域,仅有小局部(约11
11、%)的设计人员研发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。在信息通信领域,要优先开展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息平安技术,积极开拓以数字技术、网络技术为根底的新一代信息产品,开展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP),计算机机辅助制造(CAM),产品数据管理(PDM)、制造资源方案(MRPn)及企业资源管理(ERP)等。有条件的企业可开展“网络制造,便于
12、合作设计、合作制造,参与国内和国际竞争。开展数控化工程和数字化工程。自动化仪表的技术开展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASlC和PLD设计方面,向超高速、高密度、低功耗、低电压方向开展。在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域开展最快的两个市场,年复合增长率分别到达了50%和
13、30%。EDA技术开展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在己涉及到各行各业.EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平很有限,需迎头赶上。1.5 .2Quartus简介本次课题设计方案要用到的开发环境是Altera公司的综合性PLD/FPGA开发软件QuartusII,支持原理图、VHDL、VeriIogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Un
14、iX上使用,除了可以使用TCI脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QuartusII通过和DSPBUilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持AItera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程
15、逻辑设计于一体,是一种综合性的开发平台。MaxplusII作为AItera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera己经停止了对MaXPIUSII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。AItera在QUartUSll中包含了许多诸如SignalTapII,ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCoPy设计流程,并且继承了MaXPlUSII友好的图形界面及简便的使用方法。AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受
16、到数字系统设计者的欢送。QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDLAHDL和VHDL完成电路描述,并将其保存为设计实体文件:芯片(电路)平面布局连线编辑;1.ogiCLOCk增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具:完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创立,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自