您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商务礼仪 > EDA期末考试题A卷
系班姓名座号……………密……………封……………线……………密……………封……………嘉应学院电子信息工程学院考试题样题(A卷)时间:120分钟(2009年6月)考试形式:闭卷题号一二三四五总分复核人得分评卷人一、选择题(20分)1.下列那个流程是正确的基于EDA软件的FPGA/CPLD设计流程:(B)A.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试B.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试2.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,____C_____是错误的。A.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;B.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;C.综合是纯软件的转换过程,与器件硬件结构无关;D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。3.CPLD的可编程是主要基于什么结构:。(D)A.查找表(LUT);B.ROM可编程;C.PAL可编程;D.与或阵列可编程;4.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为:。(C)A.硬IP;B.固IP;C.软IP;D.都不是;(这个内容不要)5.流水线设计是一种优化方式,下列哪一项对资源共享描述正确_C。A.面积优化方法,不会有速度优化效果B.速度优化方法,不会有面积优化效果C.面积优化方法,可能会有速度优化效果D.速度优化方法,可能会有面积优化效果6.在VHDL语言中,下列对时钟边沿检测描述中,错误的是___D____。A.ifclk’eventandclk=‘1’thenB.iffalling_edge(clk)thenC.ifclk’eventandclk=‘0’thenD.ifclk’stableandnotclk=‘1’then7状态机编码方式中,其中_____C____占用触发器较多,但其实现比较适合FPGA的应用A.状态位直接输出型编码B.顺序编码C.一位热码编码D.以上都不是8.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列那种方法是速度优化___A______。A.流水线设计B.资源共享C.逻辑优化D.串行化9.不完整的IF语句,其综合结果可实现____A____。A.时序电路B.双向控制电路C.条件相或的逻辑电路D.三态控制电路10.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。(D)A.idata=“00001111”B.idata=b”0000_1111”;C.idata=X”AB”D.idata=16”01”;二、VHDL程序填空(20分)下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。第一页共四页系班姓名座号……………密……………封……………线……………密……………封……………LIBRARY__IEEE________;USEIEEE.________STD_LOGIC_1164_____________.ALL;ENTITYcoderISPORT(din:INSTD_LOGIC_VECTOR(____9DOWNTO0________________);output:_____OUT_____STD_LOGIC_VECTOR(3DOWNTO0));ENDcoder;ARCHITECTUREbehavOF________CODER_____ISSIGNALSIN:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(_____DIN______)BEGINIF(din(9)='0')THENSIN=1001;_ELSIF(din(8)=’0’)_________________THENSIN=1000;ELSIF(din(7)='0')THENSIN=0111;ELSIF(din(6)='0')THENSIN=0110;ELSIF(din(5)='0')THENSIN=0101;ELSIF(din(4)='0')THENSIN=0100;ELSIF(din(3)='0')THENSIN=0011;ELSIF(din(2)='0')THENSIN=0010;ELSIF(din(1)='0')THENSIN=0001;ELSE_SIN=“0000”______________;_____ENDIF___________ENDPROCESS;__Output=sin_____________;ENDbehav;三、VHDL程序改错(20分)仔细阅读下列程序,回答问题:1.在程序中存在两处错误,试指出,并说明理由:在MAX+PlusII中编译时,提示的第一条错误为:Error:Line12:Filee:\mywork\test\cnt4.vhd:VHDLsyntaxerror:IfstatementmusthaveTHEN,butfoundBEGINinstead12行,IF语句对应的关键字是then而非begin14行,Q1是矢量,不能直接和整数1相加,需要使用重载函数2.修改相应行的程序(如果是缺少语句请指出大致的行数):错误1行号:12程序改为:BEGIN改为THEN错误2行号:3程序改为:USEIEEE.STD_LOGIC_UNSIGNED.ALL;1LIBRARYIEEE;2USEIEEE.STD_LOGIC_1164.ALL;34ENTITYCNT4IS5PORT(CLK:INSTD_LOGIC;6Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));7ENDCNT4;8ARCHITECTUREbhvOFCNT4IS9SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);10BEGIN11PROCESS(CLK)BEGIN12IFRISING_EDGE(CLK)begin13IFQ115THEN14Q1=Q1+1;15ELSE16Q1=(OTHERS='0');17ENDIF;18ENDIF;19ENDPROCESS;20Q=Q1;21ENDbhv;22四、编写VHDL程序(20分,每题10分)1.试描述一个带进位输入、输出的8位全加器端口:A、B为加数,CIN为进位输入,S为加和,COUT为进位输出LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYADDER8ISPORT(A,B:INSTD_LOGIC_VECTOR(7DOWNTO0);CIN:INSTD_LOGIC;COUT:OUTSTD_LOGIC;S:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDADDER8;ARCHITECTUREONEOFADDER8ISSIGNALTS:STD_LOGIC_VECTOR(8DOWNTO0);BEGINTS=(‘0’&A)+(‘0’&B)+CIN;S=TS(7DOWNTO0);COUT=TS(8);ENDONE;第二页共四页系班姓名座号……………密……………封……………线……………密……………封……………2.看下面原理图,写出相应VHDL描述DQDFFDQDFFORyoutOUTPUTxinINPUTclkINPUTLIBARRYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYMYCIRISPORT(XIN,CLK:INSTD_LOGIC;YOUT:OUTSTD_LOGIC);ENDMYCIR;ARCHITECTUREONEOFMYCIRISSIGNALA,B,C;BEGINB=XINORA;PROCESS(CLK)BEGINIFCLK’EVENTANDCLK=‘1’THENA=C;C=B;ENDIF;ENDPROCESS;YOUT=C;ENDONE;五、综合题(20分)已知状态机状态图如图(a)所示;完成下列各题:(一)已知状态机状态图如图a所示;完成下列各题:st0st1st2st3in_a=“00”in_a/=“00”in_a=“01”in_a/=“01”in_a=“11”in_a/=“11”in_a=“11”in_a/=“11”out_a=“0101”;out_a=“1000”;out_a=“1100”;out_a=“1101”;图a状态图REGCOMclkresetin_aout_ac_staten_state图b状态机结构图1.试判断该状态机类型,并说明理由。该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系,outa是时钟clk的同步时序逻辑。2.根据状态图,写出对应于结构图b,分别由主控组合进程和主控时序进程组成的VHDL有限状态机描述。Libraryieee;Useieee.std_logic_1164.all;EntitymoorebisPort(clk,reset:instd_logic;Ina:instd_logic_vector(1downto0);Outa:outstd_logic_vector(3downto0));Endmooreb;第三页共四页系班姓名座号……………密……………封……………线……………密……………封……………ArchitectureoneofmoorebisTypems_stateis(st0,st1,st2,st3);Signalc_st,n_st:ms_state;BeginProcess(clk,reset)BeginIfreset=‘1’thenc_st=st0;Elsifclk’eventandclk=‘1’thenc_st=n_st;Endif;Endprocess;Process(c_st)BeginCasec_stisWhenst0=ifina=“00”thenn_st=st0;Elsen_st=st1;Endif;Outa=“0101”;Whenst1=ifina=“00”thenn_st=st1;Elsen_st=st2;Endif;Outa=“1000”;Whenst2=ifina=“11”thenn_st=st0;Elsen_st=st3;Endif;Outa=“1100”;Whenst3=ifina=“11”thenn_st=st3;Elsen_st=st0;Endif;Outa=“1101”;Whenothers=n_st=st0;Endcase;Endprocess;Endone;3.若已知输入信号如下图所示,分析状态机的工作时序,画出该状态机的状态转换值(c_state)和输出控制信号(out_a);4.若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。方法1,添加辅助进程对输出数据进行锁存方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺方法3,使用状态位直接输出型状态机编码方式,其输出直接由当前状态输出,也没有毛刺注意:Rb
本文标题:EDA期末考试题A卷
链接地址:https://www.777doc.com/doc-5996083 .html