eda课程设计毕业课程设计_第1页
eda课程设计毕业课程设计_第2页
eda课程设计毕业课程设计_第3页
eda课程设计毕业课程设计_第4页
eda课程设计毕业课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

设计题目抢答器的设计与仿真一课程设计的目的EDA课程设计是电子信息科学与技术专业开设的一门独立实践环节课程。通过课程设计使学生具体掌握将理论知识与实际应用相结合的方法,提高分析问题和解决问题的能力,激发学习兴趣、锻炼动手能力和科研能力。了解CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。二设计方案论证1设计原理抢答器原理是根据所要设计的系统功能,将整个系统划分成几个主要模块,再将每个模块细分成几个子模块,直到最底层的小模块容易编程实现为止。只需对底层元件编程实现,最后将各模块连接起来组成所需的系统。对于一个抢答器系统,可将其分为五个模块选手抢答模块、抢答启动模块、加减分模块、显示模块、蜂鸣器控制模块,整体框图如图(1)所示。图(1)总体框图其中抢答启动模块具有启动抢答及启动定时功能,输出使能信号给选手识别模块,以及抢答剩余时间给显示模块;选手识别模块完成锁存抢答信号的功能,并输出选手号给显示模块;蜂鸣器对抢答成功以及超时鸣声报警;显示模块对输入的数据进行显示。2设计内容(1)设计一智力竞赛抢答器,可同时供8名选手参加比赛。(2)给节目主持人设置一个控制开关,控制系统清零和抢答开始。(3)抢答器具有锁存功能和显示功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时扬声器响,禁止其他选手抢答。(4)抢答器具有抢答定时功能,时间由主持人确定。(5)参赛选手在设定的时间内抢答有效,定时器停止工作。(6)如果定时时间到,无人抢答,本次抢答无效,系统报警,并封锁输入电路,禁止超时抢答,定时器显示00。(7)为每组设计一个计分电路,0999分,可加分,也可减分。3设计整体原理图图(2)设计原理图三设计结果与分析1、抢答启动模块启动模块除了有启动的功能外,还有启动定时的功能。定时时间分为5秒和20秒两种,使用两个按键对应两种限时抢答。将本模块再划分为2个子模一个模块完成按键识别的功能,另一模块完成倒计时功能。(1)按键识别子模块按键的识别即对输入信号进行电平变化检测,电平发生跳变就认为是键被按下。但VHDL程序中一个结构体内不能同时对两个信号进行电平跳变的检测,所以对本模块的程序设计采用状态机来实现,并使用统一的时钟信号来扫描按键的电平状态。模块如图(3)所示。图(3)按键识别子模块对START5和START20两个按键定义三种状态,START5按下为ST1状态,此时两个按键“START5USEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSTART_5_20ISPORTCLK1,RST,START5,START20INSTD_LOGICB,AOUTSTD_LOGIC_VECTOR3DOWNTO0S_FLAGOUTSTD_LOGICENDENTITYARCHITECTUREONEOFSTART_5_20ISSIGNALDATAINSTD_LOGIC_VECTOR1DOWNTO0TYPEST_TYPEISST0,ST1,ST2SIGNALC_STST_TYPEBEGINDATAINIFDATAIN“01“THENC_STIFDATAIN“11“THENC_STIFDATAIN“11“THENC_STC_ST0THENP1P11P0“1001“ENDIFELSEP0P01IFP0“0000“ANDP1“0000“THENTIMEOUTCLK1,START5START5,START20START20,RSTRST,BM,AN,S_FLAGPU2DE_COUNTPORTMAPCLK2CLK2,BM,AN,LOADP,RSTRST,L_CRL_CR,TIMEBTIMEB,TIMEATIMEA,TIMEOUTTIMEOUT,SR1SR1ENDARCHITECTURE2、选手抢答模块在一个结构体中用8个进程同时对8个选手按键电平变化的监测是不可实现的,所以将本模块划分为两个子模块单个选手按键模块和判断抢答选手模块。最后将8个选手按键模块和1个判断抢答选手模块连接起来,得到整个选手抢答模块。(1)单个选手按键子模块按键输入相当于该实体的时钟信号,键被按下,等于来一个脉冲,输出信号给判断模块进行选手号的判断。只要有选手抢答成功,相关模块会输出信号使8个按键模块的LOCK信号有效,禁止其他选手抢答。如图(8)所示。图(8)单个选手按键子模块本模块程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYBUTTON1ISPORTLOCK,BUTTON,RSTINSTD_LOGICPRESSEDOUTSTD_LOGICENDENTITYARCHITECTUREB1OFBUTTON1ISBEGINPROCESSRST,BUTTONBEGINIFRST0THENPRESSEDP_NUMP_NUMP_NUMP_NUMP_NUMP_NUMP_NUMP_NUMP_NUMLOCK,BP1,RSTRST,PRESSEDA1U2BUTTON1PORTMAPLOCKLOCK,BP2,RSTRST,PRESSEDA2U3BUTTON1PORTMAPLOCKLOCK,BP3,RSTRST,PRESSEDA3U4BUTTON1PORTMAPLOCKLOCK,BP4,RSTRST,PRESSEDA4U5BUTTON1PORTMAPLOCKLOCK,BP5,RSTRST,PRESSEDA5U6BUTTON1PORTMAPLOCKLOCK,BP6,RSTRST,PRESSEDA6U7BUTTON1PORTMAPLOCKLOCK,BP7,RSTRST,PRESSEDA7U8BUTTON1PORTMAPLOCKLOCK,BP8,RSTRST,PRESSEDA8U9IDENTIFIERPORTMAPPP1A1,PP2A2,PP3A3,PP4A4,PP5A5,PP6A6,PP7A7,PP8A8,P_NUMP_NUM,LOCKLOCK_S,SR1SR1ENDARCHITECTURE3分数选择输出模块四组分数要显示出来,需要12个7段数码管。若只显示当前抢答成功选手的分数,则只需3个数码管。所以设置一个分数选择器,根据抢答成功的选手编号,选择其分数输出给显示模块显示。设计源程序为LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYMUXXISPORTP_NUM,AA2,AA1,AA0,BB2,BB1,BB0INSTD_LOGIC_VECTOR3DOWNTO0CC2,CC1,CC0,DD2,DD1,DD0INSTD_LOGIC_VECTOR3DOWNTO0D2,D1,D0OUTSTD_LOGIC_VECTOR3DOWNTO0ENDENTITYARCHITECTUREONEOFMUXXISBEGINPROCESSP_NUMBEGINCASEP_NUMISWHEN“0001“D2D2D2D2D2D2D2D2D2BTBTBTBTBTBTBTBTSGSGSGSGSGSGSGSGSGSGSGNULLENDCASEENDPROCESSENDARCHITECTURE本模块仿真波形如图(15)所示。图(15)显示模块仿真波形5蜂鸣器模块当SR1鸣声信号来时,输出CLK2(2KHZ)驱动蜂鸣器发声。CLK1用于扫描SR1的电平变化,SR1上升沿来到,允许CLK2输出,并持续一段时间。模块如图(16)所示。图(16)蜂鸣器模块本模块程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSPEAKERISPORTCLK1,SR1,CLK2INSTD_LOGICSOUTSTD_LOGICENDENTITYARCHITECTUREONEOFSPEAKERISTYPEST_TYPEISST0,ST1SIGNALC_STST_TYPESIGNALASTD_LOGICBEGINPROCESSCLK1VARIABLEPSTD_LOGIC_VECTOR7DOWNTO0BEGINIFCLK1EVENTANDCLK11THENCASEC_STISWHENST0IFSR11THENP“00111111“C_STIFP/0THENPP1C_STC_STST0A0ENDCASEENDIFENDPROCESSSCLK2ANDAENDARCHITECTURE本模块的仿真波形如图(17)所示。图(17)蜂鸣器模块仿真波形四设计体会通过这次课程设计我学会了使用MAXPULS软件,还学了VERILOGHDL编程的方法。因为VERILOGHDL语言语法和以前学过的C语言比较相近,所以在看了些相关书籍和程序范例后,就入手编写VERILOGHDL代码,开始时候没有遇到太大问题。但是毕竟VERILOGHDL和C许多还是有差别的,如CASE的用法等。但是经过我们一起的努力,顺利的完成了VERILOGHDL代码的编写工作。这次设计的是一个基于CPLD的智力竞赛抢答器。我们也许在日常生活中很少有机会接触到抢答器,但在电视节目中却随处可见,并且现在的抢答器做的也越来越智能化,美观化。以前认为抢答器这种智能化的东西离我们很远,但通过此次课程设计,自己亲手做出来了,才发现它其实并没有那么困难。所谓理论指导实践,刚开始接到课题时,我首先确定了要用到哪些知识,主要是VHDL程序的设计,软件的仿真及硬件的实现。首先我查阅课本质料,找了不少关于这方面的程序,尽量的把它们都弄懂了。然后我确定了总体方案,把整体方案划分成了几个模块,形成了一个整体的框架,然后各个击破。软件仿真好了以后还只是停留在理论之上,有不有效还要硬件的调试。所以仿真好了以后我就将所有的模块整合起来进行硬件的调试。此次课程设计不仅加强了我对专业知识的学习与了解,更有许多的感慨,加强了我们动手、思考和解决问题的能力。我们很少能有这种机会来锻炼自己,通过这次课程设计,起到了很好的锻炼效果。五参考文献1张原可编程逻辑器件设计及应用M北京机械工业出版社,200651341452史小波,程梦璋,许会芳

温馨提示

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

评论

0/150

提交评论