分享
分销 收藏 举报 申诉 / 17
播放页_导航下方通栏广告

类型EDA抢答器设计报告.doc

  • 上传人:w****g
  • 文档编号:2152012
  • 上传时间:2024-05-21
  • 格式:DOC
  • 页数:17
  • 大小:87.50KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    EDA 抢答 设计 报告
    资源描述:
    ______________________________________________________________________________________________________________ EDA实习设计报告 课题名称:VHDL实现抢答器的设计 专业班级: 信息08-2 姓 名: 韩松 06号 指导老师: 蔡靖 2011年7月7日 精品资料 ______________________________________________________________________________________________________________ 精品资料 目 录 一 EDA数字技术的发展及应用 2 1.1 EDA技术的发展与应用 2 1.2设计的主要内容及要求 2 1.3 本次设计的目的及意义 3 二 设计整体思路 3 三 单元模块设计部分 4 3.1 抢答模块的设计 2 3.2 计分模块的设计 3 3.3 计时模块的设计 4 3.4 数据选择模块的设计 6 3.5 例化连接部分 7 五 EDA抢答器设计心得 9 参考文献 11 一 EDA数字技术的发展及应用 1.1 EDA技术的发展与应用 现代电子产品几乎渗透了社会的各个领域EDA技术是电子设计的发展趋势, EDA工具从数字系统设计的单一领域,应用范围己涉及模拟、微波等多个领域,可实现各个领域电子系统设计的测试、设计仿真和布局布线等。设计者只要完成对电子系统的功能描述,就可利用计算机和EDA工具,进行设计处理,最终得到设计结果。 随着大规模集成电路技术和计算机技术的不断发展,即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,EDA技术将迅速成为电子设计领域中的极其重要的组成部分。从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。      在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。 1.2设计的主要内容及要求 本次课程设计的主要目的旨在通过独立完成一个 “电子时钟”的设计,达到对EDA技术的熟练掌握,提升对《EDA技术及应用》课程所学内容的掌握和应用。 以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 Quartus2在基于VHDL程序设计中拥有输入设计流程 ,其包括设计输入,综合,适配,仿真测试和编程下载等方法。 Quartus2与其他应用软件相比,他提供了更强大、更直观便捷和操作灵活的原理图输入设计功能,同时还配备了更丰富的适用于各种需要的元件库,其中包括基本的逻辑元件,宏功能元件,以及类似于IP核的参数可设置的宏功能块LPM库。 与传统的数字电路实验相比,Quartus2提供原理图输入设计功能具有不可比拟的优势和先进性: 1) 设计者不必具备许多诸如编程技术,硬件描述语言等知识就能迅速入门,完成较大规模的电路设计系统。 2) 能进行任意层次的数字系统设计,传统的数字电路实验只能完成单一层次的设计。 3) 能对系统中的任意层次,或任一元件的功能进行精确的时序仿真。 4) 通过时序仿真能迅速定位电路系统中的错误所在,并及时纠正。 1.3 本次设计的目的及意义 第一,加深对VHDL语言设计的理解; 第二,通过对抢答器的设计加深对EDA课程的理解; 第三,通过对抢答器的设计了解简易集成电路的设计思路; 二 设计整体思路 在本次课程设计中使用Altera公司的EPF10K10系列的FPGA芯片,基于实验室现有的DE-2实验板,实现“抢答器”的设计要求。 (1) 设计一个可以容纳四组参赛队进行比赛的电子抢答器。 (2) 具有第一抢答信号的鉴别和锁存功能。 (3) 具有计时(10秒)功能。 (4) 具有(自动)计分功能。 (5) 具有犯规自动(减分)设置电路。 精品资料 三 单元模块设计部分 单元模块设计部分分四个部分,包括:抢答模块,计时模块,计分模块,数据选择模块。每个模块的作用分别为: 1.抢答模块:实现四路抢答功能,以选手最快速度将拨码开关置1为抢答成功。 2.计分模块:实现每位选手答题的计分功能,有手动加分减分功能,当选手抢答成功后10秒仍未答题则自动减分。 3.计时模块:实现选手答题的计时功能,若选手抢答成功后没有答题则计时模块会发出信号给计分模块。 4.数据选择模块:当选手抢答成功后,以该选手的号码最为数据选择的地址,数据选择将计时模块的减分信号线与该选手的计分模块相连接,若选手没有答题则扣分。 3.1 抢答模块的设计 其程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qiangda is port( a:in std_logic; b:in std_logic; c:in std_logic; d:in std_logic; en_out:out std_logic; en:in std_logic; adrout:out std_logic_vector(3 downto 0); led_out:buffer std_logic_vector(6 downto 0)); end qiangda; architecture bhv of qiangda is signal key_in:std_logic_vector(3 downto 0); begin process(en) begin if en='1' then key_in<=a&b&c&d; else key_in<="0000"; end if; end process; process(key_in) variable led:std_logic_vector(6 downto 0); begin case key_in is when"0000"=>led:="1000000";--0 when"1000"=>led:="1111001";--1 when"0100"=>led:="0100100";--2 when"0010"=>led:="0110000";--3 when"0001"=>led:="0011001";--4 when others=>led:=null; end case; led_out<=led; end process; process(a,b,c,d) begin en_out<=a or b or c or d; adrout<=key_in; end process; end bhv; 3.2 计分模块的设计 其程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jifen is port(a:in std_logic; b:in std_logic; c:in std_logic; led_out:out std_logic_vector(6 downto 0)); end jifen; architecture bhv of jifen is signal cnt_a:std_logic_vector(2 downto 0); signal cnt_b:std_logic_vector(2 downto 0); signal cnt_c:std_logic_vector(2 downto 0); signal cnt:std_logic_vector(2 downto 0); begin process(a) begin if a'event and a='1' then cnt_b<=cnt_b+1; end if; end process; process(b) begin if b'event and b='1' then cnt_a<=cnt_a-1; end if; end process; process(c) begin if c'event and c='1' then cnt_c<=cnt_c-1; end if; end process; process(cnt) begin cnt<=cnt_a+cnt_b+cnt_c; case cnt is when"000"=>led_out<="1000000"; when"001"=>led_out<="1111001"; when"010"=>led_out<="0100100"; when"011"=>led_out<="0110000"; when"100"=>led_out<="0011001"; when"101"=>led_out<="0010010"; when"110"=>led_out<="0000010"; when"111"=>led_out<="1111000"; --when"000"=>led_out<="0000000"; --when"001"=>led_out<="0010000"; --when"010"=>led_out<="0001000"; --when"011"=>led_out<="0000011"; --when"100"=>led_out<="1000110"; --when"101"=>led_out<="0100001"; --when"110"=>led_out<="0000110"; --when"111"=>led_out<="0001110"; --when others=>null; end case; end process; end bhv; 3.3 计时模块的设计 其程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jishi is port( clk:in std_logic; rst:in std_logic; rst1:in std_logic; led_out:out std_logic_vector(6 downto 0); en1:out std_logic); end jishi; architecture bhv of jishi is signal cnt:std_logic_vector(27 downto 0); signal nclk: std_logic; signal cntdata:std_logic_vector(3 downto 0); begin process(clk,rst,rst1) begin if rst='0' or rst1='0'then nclk<='1'; elsif clk'event and clk='1' then cnt<=cnt+1; if cnt=x"2faf080" then cnt<=x"0000000"; nclk<='0'; else nclk<='1'; end if; end if; end process; process(nclk,rst) begin if rst='0' then cntdata<="1001";en1<='0'; elsif nclk'event and nclk='0' then cntdata<=cntdata-1; if cntdata="0000" then cntdata<="0000"; en1<='1'; else en1<='0'; end if; end if; end process; process(cntdata) begin case cntdata is when"0000"=>led_out<="1000000"; when"0001"=>led_out<="1111001"; when"0010"=>led_out<="0100100"; when"0011"=>led_out<="0110000"; when"0100"=>led_out<="0011001"; when"0101"=>led_out<="0010010"; when"0110"=>led_out<="0000010"; when"0111"=>led_out<="1111000"; when"1000"=>led_out<="0000000"; when"1001"=>led_out<="0010000"; when"1010"=>led_out<="0001000"; when"1011"=>led_out<="0000011"; when"1100"=>led_out<="1000110"; when"1101"=>led_out<="0100001"; when"1110"=>led_out<="0000110"; when"1111"=>led_out<="0001110"; when others=>null; end case; end process; end bhv; 3.4 数据选择模块的设计 其程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity xuanze is port( enin:in std_logic; adr:in std_logic_vector(3 downto 0); jian_a:out std_logic; jian_b:out std_logic; jian_c:out std_logic; jian_d:out std_logic); end xuanze; architecture bhv of xuanze is begin process(adr) begin case adr is when"1000"=>jian_a<=enin; when"0100"=>jian_b<=enin; when"0010"=>jian_c<=enin; when"0001"=>jian_d<=enin; when others=>null; end case; end process; end bhv; 3.5 例化连接部分 其程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity zonghe is port(clk:in std_logic; a:in std_logic; b:in std_logic; c:in std_logic; d:in std_logic; en:in std_logic; rst:in std_logic; aa:in std_logic; ab:in std_logic; ac:in std_logic; ad:in std_logic; ja:in std_logic; jb:in std_logic; jc:in std_logic; jd:in std_logic; qdout:out std_logic_vector(6 downto 0); jf_a:out std_logic_vector(6 downto 0); jf_b:out std_logic_vector(6 downto 0); jf_c:out std_logic_vector(6 downto 0); jf_d:out std_logic_vector(6 downto 0); js:out std_logic_vector(6 downto 0); off1:out std_logic_vector(7 downto 0):="11111111"; off2:out std_logic_vector(7 downto 0):="11111111"); end zonghe; architecture bhv of zonghe is component qiangda port( a:in std_logic; b:in std_logic; c:in std_logic; d:in std_logic; en_out:out std_logic; en:in std_logic; adrout:out std_logic_vector(3 downto 0); led_out:buffer std_logic_vector(6 downto 0)); end component; component jishi port( clk:in std_logic; rst:in std_logic; rst1:in std_logic; led_out:out std_logic_vector(6 downto 0); en1:out std_logic); end component; component jifen port(a:in std_logic; b:in std_logic; c:in std_logic; led_out:out std_logic_vector(6 downto 0)); end component; component xuanze port( enin:in std_logic; adr:in std_logic_vector(3 downto 0); jian_a:out std_logic; jian_b:out std_logic; jian_c:out std_logic; jian_d:out std_logic); end component; signal lin_er:std_logic; signal lin_ad:std_logic_vector(3 downto 0); signal lin_ee:std_logic; signal lin_ja:std_logic; signal lin_jb:std_logic; signal lin_jc:std_logic; signal lin_jd:std_logic; begin u1:qiangda port map(en=>en,a=>a,b=>b,c=>c,d=>d,en_out=>lin_er,adrout=>lin_ad,led_out=>qdout); u2:jishi port map(clk=>clk,rst=>rst,rst1=>lin_er,en1=>lin_ee,led_out=>js); u3:xuanze port map(adr=>lin_ad,enin=>lin_ee,jian_a=>lin_ja,jian_b=>lin_jb,jian_c=>lin_jc,jian_d=>lin_jd); u4:jifen port map(a=>aa,b=>ja,c=>lin_ja,led_out=>jf_a); u5:jifen port map(a=>ab,b=>jb,c=>lin_jb,led_out=>jf_b); u6:jifen port map(a=>ac,b=>jc,c=>lin_jc,led_out=>jf_c); u7:jifen port map(a=>ad,b=>jd,c=>lin_jd,led_out=>jf_d); end bhv; 例化连接原理图: 五 EDA抢答器设计心得 首先,通过本次设计,我学会了综合运用各种知识,使得我理论学习得到应用,对我深刻掌握理论知识是很有帮助的,同时也帮助我提高独立分析问题和解决问题的能力,这对以后的工作是很有帮助的。 在这次设计中,我花了不少的时间,其中有苦也有乐。苦的是我付出了不少的汗水,乐的是在付出的过程中我得到了许多,也学会了许多。 因为一个人的能力毕竟有限,在设计方面难免会出现这样那样的错误,但正是这些错误促进了我的进步。根据电路的特点,我用层次化结构化设计概念,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来联试,这培养我了层次化设计的概念。在这次课程设计中,我真正体会到了知识的重要性。在设计的过程中,遇到问题我会先独立思考,到自己不能解决的时候我就会和同学讨论,实在解决不了我就会向指导老师请教,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着大家对我的帮助。 在设计的过程中我进一步养成了软件设计的方法,了解了设计的步骤,进一步加深了对《EDA课程设计》这门课的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验,感谢老师给我们提供这次设计的机会。 此次课程设计不仅加强了我对专业知识的学习与了解,更有许多的感慨,主要有以下几点: (1) 加强了我们动手、思考和解决问题的能力。我们很少能有这种机会来锻炼自己,通过这次课程设计,起到了很好的锻炼效果。 (3)我沉得做课程设计同时也是对课本知识的巩固和加强,课本的知识太多,平时课间的学习并不能很好的理解程序的功能,所以在这次课程设计过程中,我们了解了很多程序的功能,并且对于其在实际中的使用有了更多的认识。 我觉得我们做任何事情都要沉下心来做,遇到问题时千万不能急躁,要冷静的分析问题,这是解决问题的最好的方法,也是最有效的方法。 最后,我要感谢老师和同学们给我的帮助,没有你们的帮助,我是不能完成此次课程设计的,真的很感谢你们! 参考文献 [1]《电子技术课程设计指导》 彭介华 高等教育出版社.2000年出版 [2] EDA技术及应用教程 梁勇、李会萍等 机械工业出版社 [3]《CPLD数字电路设MAX+plusⅡ》廖裕评等 清华大学出版社,2001 [4] EDA实用技术及应用 刘艳萍、高振斌、李志军  国防工业出版社 [5] EDA技术及其应用 潘松、赵敏笑  科学出版社(2007-12出版) [6] EDA技术及应用实践 高有堂  清华大学出版社(2006-08出版) Welcome To Download !!! 欢迎您的下载,资料仅供参考! 精品资料
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:EDA抢答器设计报告.doc
    链接地址:https://www.zixin.com.cn/doc/2152012.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork