EDA课程设计报告抢答器

上传人:无*** 文档编号:41115942 上传时间:2021-11-18 格式:DOC 页数:10 大小:333.13KB
收藏 版权申诉 举报 下载
EDA课程设计报告抢答器_第1页
第1页 / 共10页
EDA课程设计报告抢答器_第2页
第2页 / 共10页
EDA课程设计报告抢答器_第3页
第3页 / 共10页
资源描述:

《EDA课程设计报告抢答器》由会员分享,可在线阅读,更多相关《EDA课程设计报告抢答器(10页珍藏版)》请在装配图网上搜索。

1、淮阴师范学院物理与电子电气工程学院EDA课程设计报告学生姓名学 号班 级物电0809专 业电气工程及其自动化题 目四位抢答器指导教师2010年12月EDA课程设计报告1、 设计指标1.抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 S3表示。2.设置一个系统清除和抢答控制开关rst,该开关由主持人控制。3抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,并在LED和数码管上显示,同时提示灯亮。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定。5. 如果定时时间已到,无人抢答,本次抢答无效,系统报

2、警并禁止抢答,定时显示器上显示定时时间。二、 总体设计方案 1、 概述将该任务分成五个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、报警模块、分频模块、译码模块。2、 抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余的抢答信号封锁的功能。其中有四个抢答信号s0、s1、s2、s3;抢答状态显示信号states;抢答与警报时钟信号clk2;系统复位信号rst;警报信号warm。3、 抢答器计数模块:在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行20

3、秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警。其中有抢答时钟信号clk1;系统复位信号rst;抢答使能信号start;无人抢答警报信号warn;计时中止信号stop;计时十位和个位信号tb,ta。4、 报警模块:在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内 人抢答或是计数到时蜂鸣器开始报警,计数停止信号stop;状态输出信号alm;计数脉冲clk。5、 译码模块:在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。6、 分频模块:在这个模块中主要实现抢答过程中所需的时钟信号。7、 顶层文件: 在这个模块中是对前五个模块的综合编写的顶层文件。三、设计原

4、理分析 各功能模块电路的设计 (一)抢答鉴别模块 1.VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanshou is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); light:buffer std_logic_vector(3 downto 0);warm:out std_logic);end xuanshou ;

5、architecture one of xuanshou issignal st:std_logic_vector(3 downto 0);beginp1:process(s0,rst,s1,s2,s3,clk2) begin if rst=0 then warm=0;st=0000; elsif clk2event and clk2=1 then if (s0=1 or st(0)=1)and not( st(1)=1 or st(2)=1 or st(3)=1 ) then st(0)=1; end if ; if (s1=1 or st(1)=1)and not( st(0)=1 or

6、st(2)=1 or st(3)=1 ) then st(1)=1; end if ; if (s2=1 or st(2)=1)and not( st(0)=1 or st(1)=1 or st(3)=1 ) then st(2)=1; end if ; if (s3=1 or st(3)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 ) then st(3)=1; end if ;warm=st(0) or st(1) or st(2) or st(3);end if ;end process p1;p2:process(states(0),states(

7、1),states(2),states(3),light) begin if (st=0000) then states=0000; elsif (st=0001) then states=0001;elsif (st=0010) then states=0010; elsif (st=0100) then states=0011;elsif (st=1000) then states=0100; end if; light=st;end process p2;end one;(二)计数模块 1. VHDL源程序library ieee;use ieee.std_logic_1164.all;

8、use ieee.std_logic_unsigned.all;entity JS is port(clk1,rst,start,stop:in std_logic; ta,tb:buffer std_logic_vector(3 downto 0);end JS;architecture one of JS issignal co:std_logic;beginp1:process(clk1,rst,start,stop,ta) begin if rst=0 or stop=1 then ta=0000; elsif clk1event and clk1=1 then co=0; if st

9、art=1 then if ta=0000 then ta=1001;co=1; else ta=ta-1; end if; end if; end if;end process p1;p2:process(co,rst,start,stop,tb) begin if rst=0 or stop=1 then tb=0010; elsif coevent and co=1 then if start=1 then if tb=0000 then tb=0011; else tb=tb-1; end if; end if; end if;end process p2;end one ; (三)报

10、警模块 1. VHDL源程序library ieee;use ieee.std_logic_1164.all;entity shengyin isport(rst:in std_logic; warn:in std_logic; clk:in std_logic; ta,tb:in integer range 0 to 9; stop:in std_logic; alm:out std_logic ); end; architecture bhv of shengyin is begin process(warn,ta,tb,stop,clk) begin if rst=0then alm=0

11、; elsif stop=1then alm=0; elsif ta=0 and tb=0 then alm=clk; elsif warn=1then alm=clk; else almdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=1111111; END CASE; END PROCESS; END rtl;(五)分频模块(用500HZ的时钟和1HZ的计数时钟) 1VHDL源程序 library ieee; use ieee.std_logic_1164.all; entity div100 is port( clk:in std_logic;

12、clk100:out std_logic ); end div100; architecture art of div100 is signal num: integer range 0 to 99; signal temp:std_logic; begin process(clk) begin if clkevent and clk=1then if num=99 then num=0;temp=not temp; else num=num+1; end if; clk100=temp; end if; end process; end art; 2.DIV50M:这是一个50M分频,将50

13、MHZ的信号分为1HZ。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpin IS PORT(clk : IN STD_LOGIC; clk50 : OUT STD_LOGIC); END fenpin; ARCHITECTURE rtl OF fenpin IS SIGNAL count : STD_LOGIC_VECTOR(25 DOWNTO 0); BEGIN PROCESS(clk) BEGIN IF

14、 (clkevent AND clk=1) THEN IF(count=10111110101111000010000000) THEN Count =00000000000000000000000000; ELSE Count = count +1; END IF ; END IF ; END PROCESS; PROCESS(clk) BEGIN IF (clkevent AND clk=1) THEN IF(count=10111110101111000010000000) THEN clk50 = 1; ELSE clk50 = 0; END IF ; END IF ; END PRO

15、CESS;END;整体电路设计四、总结 通过此课程设计,让我更加了解了EDA以及更加熟识了Quartus II软件的使用。其实在我们multisium实习中已经做过抢答器,对它的原理也有了初步的了解,知道它的组成模块,所以只要在已有的知识里去理解如何用Quartus II去实现它。在设计过程中,最容易出错的,就是如何设计顶层文件。在我设计过程中,第一次我在一个文件夹中放了几个模板的文件夹,另外生成的元件各自放在自己的文件夹里,最后在top文件夹里设计原理图,发现无法调用在生成的元件,然后我把生成的元件放入top文件里,再设计原理图,但是在运行时出现了错误,说有些元件没定义,让我苦恼了半天,最后发现顶层文件设计错误,经过自己细心排错后,终于完成。 通过这次的课程设计,也让我了解到亲手练习的重要性,有些东西光靠书本是不能深刻了解的,只有经常练习了,才能理解的更透彻,更深刻,记得更牢固,就如Quartus II软件一开始每进行一步都会看一下书,练习多了就熟了,基本的步骤以及常用的菜单都熟悉了,真所谓熟能生巧。总而言之,此次课程设计让我收获良多。8

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

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

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


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