课程设计报告写作参考模板.docx
湖南科技大学潇湘学院信息与电气工程系课程设计汇报题目:硬件描述语言课程设计专业:通信工程班级:二班姓名:学号:指导教师:胡仕刚2023年1月8日课程设计任务书题目设计时间设计目的:设计要求:总体方案实现:指导教师评语:VHDL0英文全写是:VHSlC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用重要是应用在数字电路B¾设计中。VHDL重要用于描述数字系统B构造,行为,功能和接口VHDLB¾程序构造特点是将一项工程设计,或称设计实体(可以是一种元件,一种电路模块或一种系统)提成外部(或称可视部分,及端口)和内部(或称不可视部分),既波及实体的内部功能和算法完毕部分。在目前,可编程逻辑器件、单片机、DSP已经成为数字系统的J硬件基础,而从事数字系统的设计必须掌握可编程逻辑器件的设计措施,而VHDL语言是一种原则B¾数字系统硬件电路设计语言,为所有可编程逻辑器件厂商所支持,已成为电路设计人员和电子设计工程师必须掌握0¾工具。VHDL语言是培养信息类专门人才的一门必修的专业基础课程。通过本次课程设计,使我们可以学习和掌握现代电子系统设计的新技术、新器件,掌握硬件描述语言VHDLrJ编程技术和硬件描述措施,可以对设计系统进行规范描述掌握有关软件的J使用,操作。能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到对0¾0¾仿真波形图,并根据所得仿真波形图分析判断并改善所设计B¾电路。本次课程设计设计重要使用了VHDL语言,采用日勺开发软件是MAXPLUSIL设计一种多功能数字钟。在MAXPLUSIl开发平台下进行了编译、仿真、下载,实现了基本记时显示和设置、调整时间、报时和闹钟功能。关键词:EDA;VHDL;Max+plusII;L设计目的22.设计任务23,设计规定24,设计内容35 .电路工作原理45.1 交通灯工作原理45.2 五人表决器工作原理46 .重要程序和仿真成果56.1 .1交通灯程序56.2 仿真成果模块分析66.3 五人表决器程序74.4仿真成果模块分析97.心得体会13参照文献14一,设计目的:1,学习使用EDA开发工具MAX+plusIL2,学习使用VHDL语言设计交通灯,五人多数表决器。3,熟悉交通灯,五人多数表决0原理。二,设计任务:D设计一种交通灯2)设计一种五人多数表决器。三,设计规定:交通灯1)、实现一种十字路口的信号灯控制电路。2)、信号灯分别由红、黄、绿三种颜色构成,运行时,绿灯亮40秒钟,然后闪5秒,绿灯灭,黄灯亮2秒,黄灯灭,红灯亮,同步另一方向的绿灯亮,红灯亮0时间为47秒。3)扩展规定:1、增长显示功能,即每个灯亮时显示对应0秒数并倒计时。2、增长左转功能,即信号灯由红灯、黄灯和两个绿灯构成,左转时间为15秒,红灯亮的时间调整为62秒。五人表决器1) 五人多数表决逻辑:多数通过;2) 在主持人控制下,10秒内表决有效;3) 采用数码管显示表决10秒倒计时;4) 表决结束后用发光二极管及数码管显示表决成果,数码管显示成果形式:通过,不通过;5) 设主持人控制键,复位键:控制键:启动表决;复位键:系统复位。6)自制试验方案,完毕设计任务四,设计内容交通灯阐明:伴随基于VHDLBEDA技术B¾发展和应用领域B¾扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一种学电子信息专业的学生,我们必须不停地理解更多时新产品信息,这就愈加规定我们对EDA有个全面的认识。本程序设计的是交通灯的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,Max+plusH作为程序运行平台,所开发0程序通过调试运行、波形仿真验证,初步实现了设计目的在一种交通繁忙的十字路口,没有交通灯来控制来往车辆和行人的通行,假设也没有交警,那会发生什么事情呢?后果是难以想象0,也许会陷入一片混乱,甚至瘫痪。当然我们每个人都不但愿这样。我们作为社会的一员,每人均有责任为它的愈加先进和快捷做出力所能及时事情。并且通过些次试验使得我们对电子技术课程内容的理解和掌握有了更深一层的认识,掌握电子电路的基本分析措施和设计措施。五人表决器阐明:在脉冲作用下,使用减法计数器,在初值为10秒的时候,主持人按控制键启动表决后,开始计时。每来一种脉冲计数器就减少1。一直这样下去,直到计数器变为0。计数器为0时投票无效。最终记录投票人数通过同意人数决定表决成果,当投票人不不大于3人时,投票通过。在主持人按下复位键时,计数回到10,重新进行减法计数器。直到为0。五,电路工作原理5.1 交通灯工作原理通过制作来理解交通灯控制系统,交通灯控制系统重要是实现都市十字交叉路口红绿灯的控制:Clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数状况是通过自动控制的方式指挥交通的。因此为了防止意外事件的发生,电路必须给一种稳定0时钟(CloCk)才能让系统正常运作。1,计数秒数选择电路计数电路最重要B¾功能就是记数负责显示倒数时计数值,对下一种模块提供状态转换信号。系统输入er,ey,eg:接受由elk电路的提供的Ihz的时钟脉冲信号;系统输出信号sr,sy,sg产生显示电路状态转换信号,wr,wy,wg:倒计数值秒数个位变化控制信号,nr,ny,ng:倒计数值秒数十位变化控制信号2,红绿灯状态转换电路本电路负责红绿灯的J转换。系统输入信号:full:接受由elk电路时提供0Ihz时时钟脉冲信号;sr,sy,sg:接受计数秒数选择电路状态转换信号;系统输出信号:PQUIQUI:负责红绿灯的状态显示。3,时间显示电路:本电路负责红绿灯的计数时间的显示。系统输入信号:wr,wy,wg:倒计数值秒数个位变化控制信号;nr,ny,ng:倒计数值秒数十位变化控制信号;六,重要程序和仿真成果6.1 交通灯的程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytrafficledisport(clkl:instdlogic;reset:instd_logic;pout:outstd_logic_vector(12downto1);endtrafficled;architecturetrafficled_archoftrafficledissignaler,ey,eg:std_logic;signalsr,sy,sg:std_logic;signalwr,wy,wg:std_logic;signalnr,ny,ng:std_logic;signalcount:integerrangeOto11;signalstate:integerrangeOto4;beginprocess(clkl,reset,count)beginifreset=,thencount<=0;state<=O;elseif(clkeventandclkl三,)thencount<=count+l;if(count=ll)thenstate<=state+l;endif;if(state>4)thenstate<=0;endif;endif;endif;casestateiswhen0=>ey<三,1,;wy<=,1,;sy<=,1,;ny<=,1,eg<=0,;wg<=O,;sg<=O,;ng<=O,er<=O,;wr<=O,;sr<三,O,;nr<=O,when1=>ey<=O,;wy<=O,;sy<='O'ny<=O,eg<=;wg<=;sg<=O,;ng<=O,er<三,O,;wr<=O,;sr<=,1,;nr<=1,when2=>ey<三,1,;wy<=,1,;sy<=,O,;ny<=,O,eg<=1,;WgC,;sg<=O,;ng<=O,er<=O,;wr<=O,;sr<=1,;nr<=when3=>ey<三,O,;wy<=,O,;sy<=O,;ny<=O>eg<=O,;wg<=O,;sg<=1,;ng<=1,er<-1,;wr<=,1,;sr<=,0,;nr<=,0,when4=>ey<=0'wy<=0'sy<=1;ny<=1;eg<=0,;wg<=0,;sg<=1,;ng<=1,;er<=1,;wr<=1,;sr<=0,;nr<=0,;whenothers=>null;endcase;endprocess;pout(1)<=er;pout(2)<=eg;pout(3)<=ey;pout(4)<=sr;pout(5)<=sg;pout(6)<=sy;pout(7)<=wr;pout(8)<=wg;pout(9)<=wy;pout(10)<=nr;pout(11)<=ng;pout(12)<=ny;endtraffided_arch;6.2 仿真成果D仿真波形QRef.26OonS同“Time:IlIO.0nsKervai:1150.0n¾|H口纳金3Name:Vue200.0s400.0ns600.0s800.0ns1.0us1.2u¾1.4us1.6u¾1.8usreset"0'1ae:B:-A>dk %r pout W count 由 stateH 924 9 4X28AK38E451:HO一 一1112X 32)引脚图SetSBAoBo二二二Ss湍IlII察一二二一m一iz2黑蜉I主H-H-主DaO110nodn(Oo)UJoaqoo)nc三o-0-0-Uoaqoo)ninSNSgn4443424140(。匚7(Mo)匚S»poutt(WO)匚,SSport7S7ZJPout63CpUt5ZSH(VCC)MPoUtI2JSPOUtII32f>OUt1031口信。)30H(GND)»POUttU192021222324252«272sUgUgu=nodUgUSnod80SNOUgUgU(Ql)Ug3)时序分析DelayMatrixDestnalion6.2 五人表决器工作原理信号表voter:维数组VOter用来表达五位表决者;pass:表决最终与否通过('1'为“通过",'0'为"未通过”);total:表决通过B¾人数;count:用来显示倒计时;reset:主持人复位键,用来系统复位;start:主持人控制键,用来启动表决;elk:系统时钟;6.3 五人表决器程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.Stdlogicunsigned,all;entitybiaojueisport(voter:instd_logic_vecyor(1to5);pass:outbit;total:outstd_logic_vecyor(3downto1);Countibufferstd_logic_vecyor(3downtoO);reset,start,elk:stdlogic;endbiaojue;architectureoneotbiaojueisbeginprocess(voter,elk,start,reset)variablesuo:booIeani;variablesum:std_logic_vecyor(1to3);beginif(reset=,0,)thenpass<=,0,;count<=z,1010z,;suo:=false;sum:="000"total<="000;elsif(clk,eventandelk=,)thenif(start='1,)thenif(notsuo)thenifcount="0000"thensuo:=ture;foriin1to5loopsum:=voter(i)+sum;endloop;ELSEcount<=count-1;endif;endif;total<=sum;if(sum>=3)thenpass<=,1,;elsepass<=,0,;endif;endif;endif;endprocess;endone;6.4 仿真成果D仿真成果6.21当处在复位状态时,外界的输入对成果没有影响。故时间仍为10秒,输出记录人数为0。仿真波形如图所示6.22在非复位状态下,主持人按下开始键。表决开始。在没有人投票的状况下。时间变为0。表决结束。仿真波形如图所示。Name0elkScountpass由reset8start国total金13voter无人赞成时的模拟成果6.23在非复位状态下,主持人按下开始键。表决开始。当超过表决时间时才进行表决,此表决无效。仿真波形如图所示NameValue«15.65»0IkU01ScountU10<L>6IassU017resetU048tartU13g国totalU013QvoterU014-.5U015.4U016-.3U017-.2U018-.1U03PS160.0ns320.0ns480.015.65ns-J640.0800.0960.010X9X8X7X6X5X4X3X2X1X0LJG0X15)C_I_II_J规定期间外的模拟成果6.24在非复位状态下,主持人按下开始键表决。开始。在规定期间内只有两人赞同,波形如图所示。两人赞成时的成果6. 25在非复位状态下,主持人按下开始键。表决开始。在规定期间内只有四人赞同,仿真波形如图所示NameValueat15.65nIps1600ns320.0ns40.0ns640.0ns800.0ns9600ns1.1?us5.65ns»0elkU0countU10UQMgX8X7X6X5X4X3X2XlX0>6pssV07restV0U*8startU1春9田totalU0oX3»13voterV0o*7X014-5U015-.4U016-.3U0II*17-.21U0II18L.lU0II三人赞成时的成果626在非复位状态下,主持人按下开始键。表决开始。在规定期间内只有四人赞同,仿真波形如图所示。四人赞成时的成果该试验是一种具有计时功能的五人表决器,时间限制为10秒,主持人控制复位,开始。输出成果为表决通过的人数和最终表决与否通过。2)引脚图zIgOIgIoOH-I!.口.口口】m二口二"1二二 m_Cnnnn二口 口"1EEla-一 =I=IO-一二二二二口 口 口 一z)-DiQoiDDiFB三 UIO一一二二二RnMHB三三三Ig一】二】二0DaiRBHBO 二 口 口 口二二 mBHRBCT Jl lgIIII【I I I I I I 10 BHHBO Rmmmmbct 二 口 口 口 二二二ITlORRnBDaiQo mllmoRHnBTloRMDHBO3)功能模块BIAOJUEERX.5VOTEREX.5PRSST<PRSSRESETXRESETTOTALE3.X(TOTRUC3START>STARTCOUNT3.O(,COUNT3CLK>-CL.K4)时序分析DelayMatrixDesbndbon6.3成果分析和总结(1)该控制器控制红、黄、绿三个发光管循环发光,规定红灯亮2秒,黄灯亮1秒,绿灯亮3秒。(2)发光时间由频率为IHZ的脉冲控制。当控制总开关给出一种高电平后,各个彩灯按红灯2秒,黄灯1秒,绿灯3秒依次点亮,循环发光。从仿真波形可以看出循环彩灯开始工作时,红灯先亮,并且继续2s;2s后,红灯灭,黄灯亮,并且继续Is;IS后,黄灯灭,绿灯亮,并且继续3s。如此循环。仿真成果基本到达设计0规定。七,心得体会通过本次的课程设计,使我学习到了许多新丛J认识,要想完毕一种设计,必须要有探索求知0精神和扎实0知识基础,必须纯熟地掌握书本上专业基本0知识,只有这样才能在设计中发现问题和处理问题,同步在试验中还要有耐心去检查程序发现问题处理问题。在这个过程中使我深刻的体会到要将自己所学的知识要应用到实践中去,同步要结合实际来做,还要翻阅大量的课外学习资料,向老师和同学请教,这样才能一步一步完毕试验使其趋于完善。这次交通灯和表决器的控制器课程设计,让我对系统的整个设计流程有了更清晰的认识,也让我认识到一种系统0设计无论是在编程方面还是仿真方面都不轻易。尤其是在编程时更是困难丛丛。不仅思绪要对的并且专业术语要对的。这次课设,我理解到彩灯控制器的工作基本原理B¾同步,还基本掌握了QUartUSII软件的是用措施,还使我认识到在做设计过程中应当从容冷静,碰到困难时候,应当冷静思索,耐心的JB寻找处理的J措施,最终困难一定会被克服,还懂得了要把自己所学的J知识与实践结合起来是非常重要的。一周0学习使我对交通灯控制器和五人表决器均有了大概0理解,愈加深了我对自己所学的专业有了深入理解,也培养了我学习的爱好,在此也非常感谢老师认真0¾指导,同步细心地为我们处理了许多困难。并且我认为我们做设计绝对不能人云亦云,要有自己的见解,这样我们就要有充足的准备,若是做了也不懂得是个什么设计,那么做了也是白做。设计总是与书本知识有关0o在设计过程中,我们应当尽量减少操作的盲目性提高设计效率的保证,有0人一开始就赶着做,成果却越做越忙,重要就是这个原因。我也曾经犯过这样的错误。在设计的过程中我们要培养自己的独立分析问题,和处理问题的能力。培养这种能力的前题是你对每次设计的态度。最终,通过这次0¾课程设计我不仅对理论知识有了愈加深的理解,对于实际0操作和也有了质0飞跃。通过这次的课程设计,我们整体对各个方面都得到了不少B¾提高。参照文献1李国洪.可编程器件EDA技术与实践M.北京:机械工业出版社,2023:100-123.2张立,张光新,柴磊,周泽魁.FPGA在多功能计费器系统中的应用J.仪器仪表报,2023,26(28):25-27.潭会生,张昌凡.EDA技术及应用J.西安:电子科技大学出版社.2023,16(2):4648.(4诗文DigiTimeS专稿;片上系统时尚下EDA市场发展趋势N.电子资讯时报,2023-06-06(A02).5赵辉.基于EDA技术的数字系统设计J.电子设计工程,2023,20(2):34-37.6臧明相,李园园,郭瑞刚.智能复用EDA设计信息及调试文档自动生成技术J.计算机工程与设计,2023,32(3):1119-1122.7朱晓红.基于EDA技术的J数字钟设计与实现J.电子设计工程,2023,19(4):170-172.张晶,裴东兴,张少杰.基于CPLD/、J低功耗爆炸场温度测试系统J.电子设计工程,2023,20(2):91-93.王永祥.基于CPLDH勺两相步进电机细分驱动器设计J.宜春学院学报,2023,33(4):52-53.10李晓敏,田熙燕.基于VHDL语言的数字时钟设计J.电子设计工程,2023,19(13):30-33.