基于Verilog语言的简单自动售货机及引力波的实验探测给我们的启示_第1页
基于Verilog语言的简单自动售货机及引力波的实验探测给我们的启示_第2页
基于Verilog语言的简单自动售货机及引力波的实验探测给我们的启示_第3页
基于Verilog语言的简单自动售货机及引力波的实验探测给我们的启示_第4页
基于Verilog语言的简单自动售货机及引力波的实验探测给我们的启示_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

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

1.FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、FPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。FPGA采用了逻辑单元阵列LCA这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有以下几点:一、FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。二、FPGA可做其它全定制或半定制ASIC电路中的试样片。三、FPGA内部有丰富的触发器和I/O引脚。四、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程即可。当需要修改FPGA功能时,只须换一块EPROM第8页即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA的配置模式非常灵活,它可以有多种配置方式:平行主模式为一片FPGA加一片EPROM的方式;主从模式为多片FPGA加一片PROM;串行模式可以采用串行PROM编程FPGA外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。第2章系统设计2.1系统设计(1)用四个发光二极管分别模拟售出价值为5角、1元、1.5元和2元的小商品,购买者可以通过开关选择任意一种标价中的小商品。(2)灯亮时表示该小商品售出。(3)用开关分别模拟5角、1元硬币和5元纸币投入,可以用几只发光二极管(或数码管)分别代表找回剩余的硬币。(4)每次只能售出一种小商品,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态;(5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。2.2系统设计方案比较2.2.1总体设计总体设计采用FPGA来设计的原理图如图1-1所示它由控制输入电路、FPGA显示电路和电机驱动组成。图1-1采用FPGA设计的自动售货机原理方框图控制输入电路主要是为用户设计的,起到一个输入控制的作用。FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现自动售货机运作的主要控制模块。将编写好的HDL程序烧制到现场可编程逻辑器件FPGA中,然后通过控制输入电路把信号输入到FPGA,由八个开关控制输入信号即消费者选择商品和消费者投币及确认消费,动态数码管显示输出信号即找零环节和所选择的商品、消费者投币。2.2.2本设计可以通过多种方案来实现,下面就主要的三种方案进行阐述和比较。方案一:采用数字逻辑电路制作,用IC器件连接焊接外围电路实现,这种电路很直观,简单方便。但应用数字逻辑电路制作,使用的器件较多,连接复杂,体积大,功耗大。电路中焊点和线路较多会,使成品的稳定度和精度大大降低。方案二:使用现场可编程逻辑器件(FPGA)制作,利用VerilogHDL硬件描述语言编程进行控制,然后烧写实现。方案三:单片机现在已经达到很成熟的阶段了,它的应用也十分广泛。采用单片机来实现自动售货机,它的原理方框图与用FPGA来实现的原理方框图类似,如图1.2所示。图1-2采用单片机实现自动售货机的原理方框图图1-1和图1-2的基本原理都相同,唯一不同的是一个是用FPGA来制作,一个是用单片机来实现。采用单片机来实现自动售货机,主要的核心是单片机程序的设计。方案比较:对于自动售货机的设计,三个方案均可以实现,但是第一个方案中采用的是数字逻辑电路来制作,该电路硬件所需的器材多,体积庞大,比较复杂,而且精度和稳定度都不是很高。第二个方案采用的是现场可编程逻辑器件来实现,它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。还可以用软件QuartusⅡ软件进行仿真和调试等。可以充分利用HDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活调试方便,修改容易.方案三也有它的优点,但同时也存在缺点。它对设计者的要求比较高,设计者对软硬件必须十分熟悉。和方案二来比它的实验仿真没有方案二简单直观,调试也有一定的难度。在外界环境相同的条件下,方案三设计出来的产品精度和稳定度要比方案二稍微差一些。因此,自动售货机的设计我们选择方案二来实现。第3章详细设计3.1自动售货机主要功能自动售货机控制要求对机内商品信息进行识别,对投入的货币进行运算,并根据所投入的货币数值判断是否能够购买某种商品,并做出相应的反应。本文设计的自动售货机控制系统主要可以实现投币处理、计算投币总额、输出商品,输出找零等功能,系统工作流程如图3-1所示图3-1自动售货机系统工作流程图设计思路及原理3.2.1自动售货机的问题实际上就是状态转换的问题,不同的状态对应不同的输出,具体的来说就是输入不同币值的钱后对应着不同的作用结果。因此将此问题分为两部分来考虑,即输入和输出。输入部分包括时钟信号、投币信号、商品选择信号、货物信号、确定信号、复位信号。因为币值只考虑5角、1元和5元的情况,因此可以分别用三个输入端代替。同样对于四种商品的选择也可用四个输入端代替。输出部分包括币值显示信号、输出货物信号、警告信号以及找零信号。综上,给出如下输入输出变量:输入变量:时钟信号(clk):每个时钟的上升沿触发系统的状态转换。复位信号(reset):上升沿触发,按下后自动回到初始状态。投币信号(btn_mon):有5角、1元、5元高电平有效。货物信号(btn_sell):有四种,高电平有效确定信号(ok):高电平有效。输出变量:显示信号(dis_mony):显示投入的币额。货物信号(led):对应卖出的货物。显示信号(dis_price):货物对应的价钱。警告信号(led_warn):钱不足时发出警告信号。3.2.图3-2-2电路仿真图3.3自动售货机状态描述判断开关被按下的个数N。若N>=2表示所选本次选择无效,返回初始状态;若N=1则显示所选商品,并继续执行下面的流程。4个开关分别代表四种商品。3个开关分别代表投入0.5元,1元,5品价格做比较,如果总额<商品价格,退钱并返回初始状态如果总额>=商品价格,则继续执行下面的程序。找零=总额-商品价格,数码管显示找零金额。状态如图3-2所示:图3-1自动售货机状态图3.4详细状态描述自动售货机控制系统的工作过程中,可分为四个状态:初始状态、选商品状态、投币状态和找零状态。在每一个状态中完成特定的功能。3.4.1在初始状态下,自动售货机通电,初始化机内商品信息(包括商品种类、每种商品的数量以及价格)。3.4.2分别有价格为0.5元、1元、1.5元和2元的商品,每次选择商品前,设置一个标志位btn_sell表示选择商品状态。此自动售货机每一次售货时只能一次选择一种商品,当同时选择两种以上时,选择商品无效,数码管显示清零,重新进行商品选择。选择商品后,数码管显示所选商品价格。3.4.当选好商品后,开始投币。同样有一标志位btn_price表示投币金额。投币口只接受三种面值的钱币0.5元、2元和5元,可以同时投入多种面值钱币。投完币后,先有一个确认买商品的过程,若投了币但又不购买商品了,就将全部投币金额退回;若确认购买商品,则进入下一状态——找零状态。3.4.投完币,并确认购买商品后,进入找零状态。首先要将所投的金额与所选商品的价格做比较,若所投金额小于商品价格,则退回所投钱币;若大于等于商品价格,则两者做差,得到需要找零的钱。第4章软件设计4.1分析与设计思路自动售货机控制系统的功能模块逻辑上划分为商品信息存储模块、商品选择模块、投币处理模块,找零模块和显示模块。1商品信息存储模块该模块的功能是将商品的单价、数量存储到自动售货机中,price、quantity分别表示商品的单价与数量数据信号,item为商品的种类。2商品选择模块该模块功能是对商品进行选择与购买。当对四种商品进行选择时,由sel的选择信号的个数来表示所选择的商品类型。get为对商品进行确认购买的信号。3投币处理模块该模块是对投入的硬币进行处理的过程,输出参数coin为投币数值计数器,以0.5元为单位进行计算。整个模块功能类似于计钱器,可准确计算投入的硬币数,记录并保存投入的总币值。4找零模块该模块主要完成找零操作。通过计钱器coin计算余额,然后输出找零的控制信号act5、act10。5显示模块该模块用来显示钱数和商品数量。用于钱数显示时,将计钱器coin转换成BCD码,然后经译码器译码并显示。用于商品数量显示时,将计算得出的最终商品数量quantity先转换成BCD码,然后经译码器译码并显示。程序可分为以下模块1)分频模块。2)计时模块。用于控制确认键后到恢复初始化的3秒计时。3)识别模块。将每种硬币、货品的拨码开关信号转变为编码。4)清零模块。用于销售总额的清零。5)初始化模块6)控制模块。用于数据读入、投币不足、交易成功状态的控制及转化。7)显示模块4.2框图4.3程序总流程图4.4程序moduleauto_seller(clk,rst,dis_mony,dis_price,btn_ok,btn_mon,btn_sell,led_warn,led,beep);inputclk,rst,btn_ok;input[2:0]btn_mon;//选择放入的钱input[3:0]btn_sell;//选择商品bbt_5,gz_10,kqs_15,kl_20output[3:0]led;//led_5,led_10,led_15,led_20outputled_warn;//钱不足,指示灯output[11:0]dis_mony;//数码管显示投入面值,dia_mony[10:7]=com位选,dis_mony[7:0]=段码output[11:0]dis_price;//数码管显示价钱outputbeep;regclk_500Hz;reg[3:0]led;//led_5,led_10,led_15,led_20regled_warn;//警告放入钱不足reg[11:0]dis_mony;reg[11:0]dis_price;reg[31:0]counter;reg[9:0]price,price_all;reg[1:0]flag=2'b00;//数码管显示标志位parameterCOUNT1=25'd10000;/*分频使数码管显示稳定*/always@(posedgeclk)beginif(counter==0)begincounter<=COUNT1;clk_500Hz<=~clk_500Hz;endelsecounter<=counter-1;endalways@(negedgerstorposedgeclk)beginif(!rst)beginled=4'b0000;//LED灭price_all=0;//价格清零led_warn=0;beep=0;endelsebegin/*三种面值共8种组合*/3'b001:beginprice_all=5;end3'b010:beginprice_all=10;end3'b100:beginprice_all=50;end3'b011:beginprice_all=15;end3'b101:beginprice_all=55;end3'b110:beginprice_all=60;end3'b111:beginprice_all=65;enddefault:beginprice_all=0;endendcasecase(btn_sell)4'b0001:beginprice=5;end4'b0010:beginprice=10;end4'b0100:beginprice=15;end4'b1000:beginprice=20;enddefault:beginprice=0;endendcaseif(btn_ok==1)beginif(price_all<price)//放入钱不足beginled_warn=1;price=0;endelsebegin//金钱足够price_all=price_all-price;beep=1;case(price)//LED灯显示货物卖出5:beginled=4'b0001;end10:beginled=4'b0010;end15:beginled=4'b0100;end20:beginled=4'b1000;endendcaseendendelsebeep=0;endend/*分频后将时钟给数码管,数码管分别显示放入钱的多少、商品价格*/always@(posedgeclk_500Hz)begincase(flag)2'b00:begindis_mony<={4'b1110,led7(price_all%10),1'b1};dis_price<={4'b1110,led7(price%10),1'b1};flag=2'b01;end2'b01:begindis_mony<={4'b1101,led7(price_all/10),1'b0};dis_price<={4'b1101,led7(price/10),1'b0};flag=2'b00;endendcaseend/*数码管段码表*/function[6:0]led7;input[3:0]dis_input;begincase(dis_input)0:led7=~7'b111_1110;1:led7=~7'b011_0000;2:led7=~7'b110_1101;3:led7=~7'b111_1001;4:led7=~7'b011_0011;5:led7=~7'b101_1011;6:led7=~7'b101_1111;7:led7=~7'b111_0000;8:led7=~7'b111_1111;9:led7=~7'b111_0011;default:led7=~7'b111_1111;endcaseendendfunctionendmodule第5章标题5.1实验调试5.1.1软件调试:运行QuartusII软件,观看仿真波形,仿真波形如下:图5-1-1波形图硬件调试:①运行QuartusII软件,新建工程。②建立文本文件VerilogHDLFile。在文件中写入程序。保存,编译。③分配管脚。保存,编译。④将生成的.sof文件写入FPGA试验箱中。⑤根据要求选择几种买东西的可能情况,在实验箱上实验,观察记录结果。5.1.1.选择买0.5元的商品,投5元的金额,调试现象如下:选择0.5元商品数码管显示0.5再选择一种商品,数码管显示清零,重新进行商品选择。②按下5元投币键,对应数码管显示5.0。③按下确认购买开关,找零时,对应数码管显示4.5,蜂鸣器响,对应0.5元商品的LED灯亮。2.选择1.5元的商品,投1元的金额,调试现象如下:①选择1.5元的商品,对应数码管显示1.5。②按下1元的投币键,对应数码管显示1。找零显示1元,退回所投的钱,表示警告的LED灯亮(交易不成功)5.2结果与分析通过上面的步骤将程序代码下载到实验箱的FPGA芯片中,并验证了在仿真中的结果的正确性。自动售货机能出售5角、1元、1.5元和2元四种商品。出售哪种商品可由顾客按动相应的一个按键即可,并同时用数码管显示出此商品的价格;顾客投入硬(纸)币的钱数也是有5角、1元、5元三种,但每次只能投入其中的一种币,此操作通过按动相应的一个按键来模拟,并同时用数码管将投币额显示出来;顾客投币后,按一次确认键,如果投币额不足时则报警,报警时间3秒。如果投币额足够时自动送出货物(送出的货物用相应不同的指示灯显示来模拟),同时多余的钱应找回,找回的钱数用数码管显示出来;顾客一旦按动确认键后,自动售货机即可自动恢复到初始状态,此时才允许顾客进行下一次购货操作;此售货机设有一个由商家控制的整体复位控制,当整体复位信号有效时,所有输出均为零。调试过程中出现的问题及原因:①数码管显示不正确。管脚配置不正确导致数码管显示异常。②重新分配管脚后,仍为先前程序的操作结果。重新配置管脚后,未运行程序,使得烧写进去的仍为原先的程序。③步进电机送货不理想,该送的时候送,不该送的时候也送,再次查看相关源程序,多次修改。结论VerilogHDL语言有限状态机设计控制电路,可大大降低设计难度和时间,提高设计效率和可靠性,利用语言的灵活性及功能强大的EDA工具,可以轻松完成硬件的功能扩充与升级,还可以实现更复杂的数字系统,整个设计过程相对于传统的设计方法,有较大的突破。VerilogHDL语言作为现代数字系统的重要设计工具,以其灵活、简洁的设计风格在电路设计中发挥着越来越重要的作用。这个设计实现了一个简单的自动售货机的功能,程序由硬件描述语言vhdl编写。程序中采用分块编写的方式,将一个本来复杂的体系用简单的逻辑表述出来。主时钟配合各个模块产生不同的信号,以这些信号为桥梁分别控制各个模块,这样做设计显得很流畅,每个模块都不是独立存在的。通过本次课程设计,我对VerilogHDL语言有了更深刻的了解,能够比较灵活地运用它来实现我们所想要要其实现的功能。在实验中,我也遇到了很多挫折,不过我都和同伴一一克服了,大家齐心协力解决了问题,使我明白了和他人共同合作的重要性。在以后的道路上我们也必须深刻认识到团队合作的精神,投入今后的发展之中。成功就是在不断摸索着前进中实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。参考文献[1]乔庐峰,王志功.VerilogHDL数字系统设计与验证.电子信息与电气,2021,8(2):74-90.[2]乔庐峰,王志功.VerilogHDL数字系统设计与验证.电子信息与电气,2021,10(4):110-112[3]邓文新.C语言程序设计方法.计算机公共课程,2021,6(2、3):159-169.

附录1引脚图致谢

引力波的实验探测给我们的启示摘要:引力理论的发展经历了数百年,从牛顿到爱因斯坦,从万有引力定律到广义相对论。在这过程中,科学家们引力波的预言质疑不休、争论不止。而引力波的实验探测无疑证明了一切。引力波的发现,弥补了爱因斯坦的广义相对论的漏洞,也确定了他的理论的正确。这是人类史上出现的又一契机,它将为人类社会带来重大变革。“破五”是中国传统迎财神的日子。2016年的这一天,却一个让全世界物理学界沸腾的日子,甚至许多的物理学家为之痛哭流涕——被预言已经百年的引力波,终于被探测到了。引力是什么?在今天人们所知道的物质的四种基本相互作用中,引力作用为最弱。四种相互作用按作用强度比例顺序是:强相互作用(1),电磁相互作用(10),弱相互作用(10),引力相互作用(10)。因此,在研究基本粒子的运动时,引力一般略去不计。但在天文学领域内,由于涉及的对象的质量极其巨大,引力就成为不仅支配着天体的运动,而且往往是天体的结构和演化的决定因素。引力并不是一种所谓的“力”,而是一种属性。牛顿在1687年出版的《自然哲学的数学原理》一书中首次提出万有引力定律,基于此,他结识了彗星的运动轨道和地球上的潮汐现象,并根据万有引力定律成功地预言并发现了海王星。万有引力定律出现后,才正式把研究天体的运动建立在力学理论的基础上,从而创立了天体力学。简单的说,质量越大的东西产生的引力越大,地球的质量产生的引力足够把地球上的东西全部抓牢。1905年,爱因斯坦提出狭义相对论,突破了绝对时间和绝对空间的概念,否定了瞬时超距作用,从根本上动摇了建立在这些旧观念基础上的牛顿引力理论。经过十年的探索后,爱因斯坦于1915年提出了迄今为止最成功的近代引力理论——广义相对论。广义相对论中,引力被归咎于时空的弯曲。这种弯曲是由物质造成的,物质的质量越大,所形成的扭曲也就越严重。但是这种弯曲,对于人类来说根本感知不到,一是因为人类伴随这种弯曲一起弯曲了,而是由于这种弯曲太微小。大质量物体发生的扭曲引起了震动,而这种震动,就是引力波。科学家们通过探测这种时空震荡,来证实引力波的存在。早在1916年,爱因斯坦在广义相对论中就预言了引力波的存在。而科学家们普遍认为,这次LIGO这一发现是爱因斯坦相对论实验验证中最后一块缺失的“拼图”,证实了爱因斯坦广义相对论的正确性,弥补了爱因斯坦的广义相对论的漏洞,验证了已故科学家爱因斯坦的预言。探测的仪器叫做迈克尔逊干涉仪,或是LIGO。LIGO的“两条腿”都有4千米长,最近的一次升级就花去了几十亿美元。LIGO的原理是什么?简单来说是利用光速不变,在同样的直线路程里测试耗时,而通过时间的偏差(尽最大可能排除误差,也是耗资巨大的原因)来判定空间确实存在震动。这样的实验设置基于爱因斯坦的假设:光速不变,是因为以光的视角看,它沿途经过的空间发生了折叠伸缩。可能的引力波探测源包括致密双星系统(白矮星,中子星和黑洞)。在2016年2月11日,LIGO科学合作组织和Virgo合作团队宣布他们已经利用高级LIGO探测器,首次探测到了来自于双黑洞合并的引力波信号。在过去的数十年里,许多物理学家和天文学家为证明引力波的存在进行了大量研究。其中,泰勒和赫尔斯由于第一次得到引力波存在的间接证据荣获1993年诺贝尔物理学奖。到目前为止,类似的双中子星系统已经发现了近十个,但是双黑洞系统却是首次。在实验方面,第一个对直接探测引力波作伟大尝试的人是韦伯。虽然他的共振棒探测器最后没能找到引力波,但是韦伯开创了引力波实验科学的先河,为如今的硕果打下了基础。因为在地面上很容易受到干扰,所以物理学家们也在向太空进军。欧洲的空间引力波项目eLISA(演化激光干涉空间天线)。eLISA将由三个相同的探测器构成为一个边长为五百万公里的等边三角形,同样使用激光干涉法来探测引力波。此项目已经欧洲空间局通过批准,正式立项,目前处于设计阶段,计划于2034年发射运行。作为先导项目,两颗测试卫星已经于2015年12月3日发射成功,目前正在调试之中。中国的科研人员,在积极参与目前的国际合作之外之外,也在筹建自己的引力波探测项目。引力波的实验探测引起了世界范围的轰动,这些探测极其不易,宇宙中发生爆炸性的大事件时产生的引力波,才相对容易探测到,例如黑洞合并、星系合并、超新星爆炸等。100年前,爱因斯坦在预言引力波存在时就曾说:“这些数值是如此微小,她们不会对任何的东西产生显著的作用,没人能够去测量它们。”蔡一夫给出解释:“时间发生得越早,距离越远,越会在宇宙中传播期间被红移。红移指的是由于宇宙本身的膨胀将所有的波动的波长拉直拉平,这样其波动性就难以被探测到。例如,这次LIGO探测到的引力波,是13亿年以前两个大约30个太阳质量的黑洞并合所产生的引力波,振幅之小,是在原子核尺寸的千分之一的尺度。能探测到真的是非常不容易,LIGO实验组的科学家们也是在几十年里经历多次挫折,不断调整方案,改进仪器,才最终探测到的。”所以它的成功探测也标志着在这个领域人类的技术进步到了前所未有的水平。而它所具有的里程碑意义不止在科学情感上,更在于能够打开人类的一个新的世界——每个人都对它满怀期待。如果电磁波探测是人类的眼睛,那么人类又多了一双聆听外界的耳朵。马克斯·普朗克引力物理研究所说:“在《星际穿越》和《三体》中,都不约而同地将引力波选为了未来科技发达的人类的通讯手段,这也许只能是美好的幻想,但对于天文研究而言,引力波的确开启了一扇新的窗口。吹进来的第一缕清风,就带来了一个重大的信息:极重的恒星级双黑洞系统存在并可以在足够短的时间(10亿年)内并合。这是让我们始料未及的。谁能知道在将来的更多的探测中,LIGO和一众引力波探测器能带给我们什么样的惊喜呢?”引力波有两个非常重要而且比较独特的性质。第一:不需要任何的物质存在于引力波源周围。这时就不会有电磁辐射产生。第二:引力波能够几乎不受阻挡的穿过行进途中的天体。比如,来自于遥远恒星的光会被星际介质所遮挡,引力波能够不受阻碍的穿过。对于天文学家来说,这两个特征允许引力波携带有更多的之前从未被观测过的天文现象信息,而每一个电磁波谱的打开,都会为我们带来前所未有的发现。天文学家们同样期望引力波也是如此。而引力波本身的性质也可能对基础物理学产生巨大的影响。另外,引力波蕴含的,很可能是宇宙诞生的画面。我们从小都被告知一个最著名的猜想——宇宙是在一场爆炸中诞生的。这意味着,在时空的开始,宇宙又一次最为剧烈的震动。引力波就能让我们还原这个震动——它是否存在?有多大规模?不仅如此,引力波还能传递信息——我们看不到的宇宙空间在发生什么?据科学家解释,这次的引力波就是在遥远的距离上巨大的黑洞变化引起的。而这一结果也证明了黑洞真实存在——至少是广义相对论预测的由纯净、真空、扭曲时空组成的完美圆形物体。并且,引力波传递的信息可以让科学家更精确地估计宇宙膨胀的速度。总而言之,一个新的重大科学发现,总会给人类社会带来无法预估的发展。18世纪面熟电磁波的麦克斯韦理论确认的时候,也没人知道会给人类带来什么,但是现在不管是电视机还是移动电话,都与电磁现象有关。引力波的发现类似当年的发现X光一样,是一种工具。有了这个工具,我们可以利用引力波的观察,去观察遥远的宇宙的现象。发现暗物质、时空穿梭等等才是有可能实现的事情。如果没有引力波,以我们现有的技术是做不到这些科幻世界才有的事情的。“既然引力波是存在的,基于引力波的科研思路可信性就大大提高了。就好像走一条未知的路,走到半路,有人怀疑不对,结果证实是对的,那么就可以加快步伐了。”苏萌说。世界各国都加大了探测研究引力波的力度,我国也紧跟探索引力波的步伐。“天琴计划”参与者、中山大学天文与空间科学研究院院长李淼教授介绍,“天琴计划”是我国自主开展空间引力波探测的可行方案,发射三颗卫星探测引力波,该计划预期执行期为2016~2035年,分四阶段实施。项目还将挖山洞,建观测站以及建设综合研究大楼。预计拟投三亿启动。天琴计划预期执行期为2016-2035年,分四阶段实施:(1)2016-2020年:完成月球/深空卫星激光测距、空间等效原理检验实验和下一代重力卫星实验所需关键技术研发。主要研发成果包括:新一代月球激光测距反射器、月球激光测距台站、高精度加速度计、无拖曳控制(包含微推进器)、高精度星载激光干涉仪、星间激光测距技术等;(2)2021-2025年:完成空间等效原理检验实验和下一代重力卫星实验工程样机,并成功发射下一代重力卫星和空间等效原理实验卫星。主要研发成果包含:超静卫星平台、高精度大型激光陀螺仪以及进一步提高加速度计、无拖曳控制、高精度星载激光干涉仪、星间激光测距等技术;(3)2026-2030年:完成空间引力波探测关键技术,完成卫星载荷工程样机;(4)2031-2035年:进行卫星系统整机联调测试、系统组装,发射空间引力波探测卫星。李淼介绍,“天琴计划”的出发点是切实根据我国的技术能力实际和未来几十年的发展前景,提出我国自主开展空间引力波探测的可行方案。在目前讨论的初步概念中,天琴将采用三颗全同的卫星构成一个等边三角形阵列,每颗卫星内部都包含一个或两个极其小心悬浮起来的检验质量。卫星上将安装推力可以精细调节的微牛级推进器,实时调节卫星的运动姿态,使得检验质量始终保持与周围的保护容器互不接触的状态。这样检验质量将只在引力的作用下运动,而来自太阳风或太阳光压等细微的非引力扰动将被卫星外壳屏蔽掉。高精度的激光干涉测距技术将被用来记录由引力波引起的、不同卫星上检验质量之间的细微距离变化,从而获得有关引力波的信息。“天琴”的卫星将在以地球为中心、高度约10万公里的轨道上运行,针对确定的引力波源进行探测。这样的选择能够避免测到引力波信号却无法确定引力波源的问题。中国科学院也于2016年2月16日公布了空间引力波探测与研究的“空间太极计划”。按照这一计划,我国将在2030年前后发射由位于等边三角形顶端三颗卫星组成的引力波探测星组,用激光干涉方法进行中低频波段引力波的直接探测。主要科学目标是观测双黑洞并合和极大质量比天体并合时产生的引力波辐射,以及其他的宇宙引力波辐射过程。中科院力学研究所胡文瑞院士表示,“我国目前的技术能力与国际先进水平还有一定的差距,这种差距可以通过良好的国际合作得到一定的弥补。”胡文瑞说,“空间太极计划”是一个中欧合作的国际合作计划,目前有两个方案:方案一是参加欧洲空间局的eLISA双边合作计划;方案二是发射一组中国的引力波探测卫星组,与2035年左右发射的eLISA卫星组同时遨游太空,进行低频引力波探测。据介绍,空间引力波探测被列入中科院制订的空间2050年规划。2008年由中科院发起,中科院多个研究所及院外高校科研单位共同参与。引力波的发现是感人至深的,它印证了一位物理学大师的睿智伟大,为年富力强的物理学家们增添了信心和安慰。在理性上,引力波的发现更是激动人心的,人类的历史将会改写,一切都是未知,未知也许会更加美好

温馨提示

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

评论

0/150

提交评论