2021太原理工大学EDAFPGA八路抢答器应用设计课程设计

上传人:一** 文档编号:20665139 上传时间:2021-04-11 格式:DOCX 页数:10 大小:17.85KB
返回 下载 相关 举报
2021太原理工大学EDAFPGA八路抢答器应用设计课程设计_第1页
第1页 / 共10页
2021太原理工大学EDAFPGA八路抢答器应用设计课程设计_第2页
第2页 / 共10页
2021太原理工大学EDAFPGA八路抢答器应用设计课程设计_第3页
第3页 / 共10页
点击查看更多>>
资源描述
太原理工大学EDAFPGA八路抢答器应用设计课程设计一、设计目的1、加深对VHDL语言设计的理解;2、通过对抢答器的设计加深对CPLD/FPG课程理解3、通过对抢答器的设计了解简易集成电路的设计思路。二、设计要求1设计具有一个可容纳8组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。2主持人按键清零,数码管显示0,进入抢答状态;3.主持人发出开始命令,8人开始抢答,若有人先按下抢答按钮,数码管显示该组号码,其他人再按抢答按钮,系统不再响应;4.设置记分电路,可显示每组选手的分数;5.设置计时显示。三、设计方案根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D、E、F、G、H,系统清零信号CLR,系统时钟信号CLK,计分复位信号RET,加分按钮信号ADD,计时预置控制信号LDN,计时使能信号EN,计时预置调整信号按钮AN、BN,系统的输出信号有:4个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD、LEDE、LEDF、LEDG、LEDH,4个组抢答时的计时数码管显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本次课程设计的主要目的旨在通过独立完成一个“抢答器”的设计,达到对EDA技术的熟练掌握,提升对CPLD/FPGA技术及应用课程所学内容的掌握和应用。以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。基于VHDL程序设计中拥有输入设计流程 ,其包括设计输入,综合,适配,仿真测试和编程下载等方法。与其他应用软件相比,他提供了更强大、更直观便捷和操作灵活的原理图输入设计功能,同时还配备了更丰富的适用于各种需要的元件库,其中包括基本的逻辑元件,宏功能元件,以及类似于IP核的参数可设置的宏功能块LPM库。设计者不必具备许多诸如编程技术,硬件描述语言等知识就能迅速入门,完成较大规模的电路设计系统。能进行任意层次的数字系统设计,传统的数字电路实验只能完成单一层次的设计。能对系统中的任意层次,或任一元件的功能进行精确的时序仿真。通过时序仿真能迅速定位电路系统中的错误所在,并及时纠正。四:设计模块方框图根据抢答器的功能要求,可以得出如下模块系统结构图:五模块功能分析1 抢答输入开关电路该电路由8个开关按键组成,每一个选手与一个开关对应。开关为常开型,即当按下开关时,开关自动的弹开断开,此时输入抢答信号自动变为高电平;当按下抢答开关时,开关闭合,输入抢答信号为低电平。2 锁存器当只要有一个且为任意一个抢答输入信号产生时,触发器电路被触发,在输出端产生相应的开关电平信息,同时为避免之后的抢答开关按钮也按下产生错乱,最先产生的输出电平变化又反馈回来将触发器锁定住,并保持输出的电平信息。这样就避免了抢答先后发生紊乱不清楚的现象发生。3 编码器编码器的作用是将开关信息转化为8421BCD码,以提供数字显示电路所需要的编码输入。4 译码器译码器的作用是将编码器输出的8421BCD码转化为数码管需要的逻辑状态,译码器由七段共阴二极管组成,高位在左,低位在右,如当输入译码器的信号为“1101101”时,数码管的七个段g,f,e,d,c,b,a 分别接1,1,0,1,1,0,1,接有高电平的段亮,于是数码管显示为“5”。5 解锁器当触发锁存电路被锁存后,若要进行下一轮的重新抢答,则需要将锁存器解锁,可通过强迫是复位控制置为1,使锁存处于等待锁存状态,以准备进行下一轮的抢答。8路抢答器源VHDL程序,(包含倒计时dqs,数码shuma,计分器jfq程序)library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL; entity qiangdaqi isport( rst: in std_logic;clk: in std_logic;key : in std_logic;en:in std_logic;q1,q2,q3,q4,q5,q6,q7,q8: in std_logic; shuma: out std_logic_vector( 6 downto 0); led: out std_logic_vector( 7 downto 0);jfq: out std_logic_vector( 6 downto 0);djs: out std_logic_vector( 6 downto 0);end qiangdaqi;architecture Behavioral of qiangdaqi issignal s: std_logic_vector(3 downto 0);signal q: std_logic_vector(7 downto 0);signal max: std_logic;signal b: std_logic_vector(3 downto 0):=0000; signal A: std_logic_vector(3 downto 0):=0011; signal cnt: std_logic_vector( 25 downto 0); signal clks: std_logic;beginprocess(rst,clk,clks)beginif rst=0 thencntelsif clkevent and clk=1 thencntend if;clksend process;process(en,A,clks)beginif clksevent and clks=1 and en=1 then case A iswhen 0000 = djswhen 0001 = djswhen 0010 = djswhen 0011 = djswhen others = null;end case;if a/=0000 thenaend if;end if;end process;process(rst,clk)beginqif rst=0 thenselsif clkevent and clk=1 and A=0000thencase q iswhen 10000000 = swhen 01000000 = swhen 00100000 = swhen 00010000 = swhen 00001000 = swhen 00000100 = swhen 00000010 = swhen 00000001 = swhen others=null;end case;end if;end process;process(rst,clk,s,A)beginif rst=0 thenmaxelsif clkevent and clk=1 and A=0000 thenif s0 thenmaxend if;end if;end process;process(rst,max,s,A)beginif rst=0 thenshumaelsif maxevent and max=1 and A=0000 thenif s(3)=0 and s(2)=0 and s(1)=0 and s(0)=0 then shumaelsif s(3)=0 and s(2)=0 and s(1)=0 and s(0)=1then shumaelsif s(3)=0 and s(2)=0 and s(1)=1 and s(0)=0thenshumaelsif s(3)=0 and s(2)=0 and s(1)=1 and s(0)=1then shumaelsif s(3)=0 and s(2)=1 and s(1)=0 and s(0)=0then shumaelsif s(3)=0 and s(2)=1 and s(1)=0 and s(0)=1then shumaelsif s(3)=0 and s(2)=1 and s(1)=1 and s(0)=0then shumaelsif s(3)=0 and s(2)=1 and s(1)=1 and s(0)=1then shumaelsif s(3)=1 and s(2)=0 and s(1)=0 and s(0)=0 then shumaend if;end if;end process;process(rst,max,s,A)beginif rst=0 thenledelsif maxevent and max=1 and A=0000 thenif s(3)=0 and s(2)=0 and s(1)=0 and s(0)=0then ledelsif s(3)=0 and s(2)=0 and s(1)=0 and s(0)=1then ledelsif s(3)=0 and s(2)=0 and s(1)=1 and s(0)=0then ledelsif s(3)=0 and s(2)=0 and s(1)=1 and s(0)=1then ledelsif s(3)=0 and s(2)=1 and s(1)=0 and s(0)=0then ledelsif s(3)=0 and s(2)=1 and s(1)=0 and s(0)=1then ledelsif s(3)=0 and s(2)=1 and s(1)=1 and s(0)=0then ledelsif s(3)=0 and s(2)=1 and s(1)=1 and s(0)=1 then ledelsif s(3)=1 and s(2)=0 and s(1)=0 and s(0)=0then ledend if;end if;end process;process(key,b)beginif keyevent and key=1 thenbend if ;if b=1010 thenbend if;case b iswhen 0000 = jfqend case;end process;end Behavioral;实验结果图:实物图显示六:调试引脚锁定完成,便进行硬件下载命令。试验箱接通电源后,便进行实验验证,按下清零键res,然后按下抢答的开关按钮,当下按的是第几个编号,数码管显示的就是该编号,再按其他的抢答按钮已无反应,表示抢答成功,该锁存模块电路时正确的。然后再按下清零键rest,再逐一尝试其他的抢答开关按钮,观察是否都能正常工作,如果都正常工作,则表示该8路智能抢答器设计正确。打开实验箱,讲导线连接到对应的引脚上,按下复位键,此时只有发光二级管是亮的,然后按下一号组,同时显示器上显示1,这时再按下2,显示器仍然显示1.按下复位键,先按2,再按3,显示器显示2。这个时候实验成功七、实验心得通过这次的EDA课程设计,让我熟练地掌握了EDA设计Quartus II10.0软件的操作,使用VHDL语言,对应填写管教,安装硬件驱动,连接EDA实验箱出来结果,之前学会了基本的课程设计以及编译仿真的操作,这次的智能抢答器又让我学到很多,但是其中也遇到了很多困难。我们小组三个人,由我们共同来完成这个设计实验。在设计的过程中我进一步了解了设计的步骤和原理,进一步加深了对CPLD/FPGA应用设计这门课的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验。这让我们知道了以前并不了解的知识。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!