您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA技术与VHDL(A卷答案)
第1页共8页华东交通大学2011—2012学年第一学期考试卷试卷编号:(A)卷EDA技术与VHDL课程课程类别:必开卷(范围)(教材):考试日期:2011.12.13题号一二三四五六七八九十总分累分人签名题分102020102020100得分考生注意事项:1、本试卷共8页,总分100分,考试时间120分钟。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、名词解释,写出下列缩写的中文含义:(每题2分,共10分)1.VHDL超高速集成电路硬件描述语言2.RTL寄存器传输级逻辑3.IP知识产权模块4.SOC片上系统5.LUT查找表二、单项选择题(每题2分,共20分)1.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为:A。A.软IP;B.固IP;C.硬IP;D.都不是;2.请指出Altera公司Cyclone系列中的EP1C6Q240C8这个器件是属于DA.ROMB.GALC.CPLDD.FPGA3.进程中的信号赋值语句,其信号更新是C。A.按顺序完成;B.比变量更快完成;C.在进程的最后完成;D.都不对。得分评阅人得分评阅人承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。专业班级学号学生签名:第2页共8页4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是C。A.FPGA是基于乘积项结构的可编程逻辑器件;B.FPGA是全称为复杂可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX3000系列属FPGA结构。5.以下对于进程PROCESS的说法,正确的是:AA.进程语句本身是并行语句B.进程内部由一组并行语句来描述进程功能C.进程之间可以通过变量进行通信D.一个进程可以同时描述多个时钟信号的同步时序逻辑6.在VHDL语言中,下列对时钟上升沿检测描述中,错误的是C。A.ifclk’eventandclk=‘1’thenB.ifrising_edge(clk)thenC.ifclk’eventandclk=‘0’thenD.ifnotclk’stableandclk=‘1’then7.关于VHDL中的数字,请找出以下数字中数值最大的一个:BA.2#1111_1110#B.8#366#C.10#169#D.16#F#E18.下列标识符中,B是不合法的标识符。A.State0B.9moonC.Not_Ack_0D.signall9.下列语句中,不属于并行语句的是:DA.进程语句B.条件信号赋值语句C.元件例化语句D.IF语句10.状态机编码方式中,其中C占用触发器较多,但其实现比较适合FPGA的应用A.状态位直接输出型编码B.顺序编码C.一位热码编码D.以上都不是第3页共8页三、VHDL程序填空:(每空2分,共20分)下面程序是参数可定制带计数使能异步复位计数器的VHDL描述,试补充完整。libraryieee;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.all;useIEEE.std_logic_arith.all;entitycounter_nisgeneric(width:integer:=8);port(data:instd_logic_vector(width-1downto0);load,en,clk,rst:instd_logic;q:outstd_logic_vector(width-1downto0));endcounter_n;architecturebehaveofcounter_nissignalcount:std_logic_vector(width-1downto0);beginprocess(clk,rst)beginifrst='1'thencount=others(‘0’);――清零elsifclk’eventandclk=’1’then――上升沿检测ifload='1'thencount=data;elsifen='1'thencount=count+1;endif;endif;endprocess;q=count;endbehave;得分评阅人第4页共8页四、VHDL程序改错:(10分)仔细阅读下列程序,回答问题LIBRARYIEEE;--1USEIEEE.STD_LOGIC_1164.ALL;--2ENTITYLED7SEGIS--3PORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);--4CLK:INSTD_LOGIC;--5LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));--6ENDLED7SEG;--7ARCHITECTUREoneOFLED7SEGIS--8SIGNALTMP:STD_LOGIC;--9BEGIN--10SYNC:PROCESS(CLK,A)--11BEGIN--12IFCLK'EVENTANDCLK='1'THEN--13TMP=A;--14ENDIF;--15ENDPROCESS;--16OUTLED:PROCESS(TMP)--17BEGIN--18CASETMPIS--19WHEN0000=LED7S=0111111;--20WHEN0001=LED7S=0000110;--21WHEN0010=LED7S=1011011;--22WHEN0011=LED7S=1001111;--23WHEN0100=LED7S=1100110;--24WHEN0101=LED7S=1101101;--25WHEN0110=LED7S=1111101;--26WHEN0111=LED7S=0000111;--27WHEN1000=LED7S=1111111;--28WHEN1001=LED7S=1101111;--29ENDCASE;--30ENDPROCESS;--31ENDone;1.在程序中存在两处错误,试指出,并说明理由:在QuartusII中编译时,提示的错误为:Error(10476):VHDLerroratLED7SEG.vhd(14):typeofidentifier“A”doesnotagreewithitsusageat“std_logic”typeError(10313):VHDLCaseStatementerroratLED7SEG.vhd(19):CaseStatementchoicesmustcoverallpossiblevaluesofexpression14行,TMP和A矢量位宽不一致19行,CASE语句缺少WHENOTHERS语句处理剩余条件2.修改相应行的程序(如果是缺少语句请指出大致的行数):错误1行号:9程序改为:SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);错误2行号:29程序改为:这行后添加whenothers=null;得分评阅人第5页共8页五、写VHDL程序:(20分)1.设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用CASE语句来描述该数据选择器MUX的结构体。MUXSEL(1:0)AIN(1:0)BIN(1:0)COUT(1:0)SELCOUT00011011OTHERSAorBAxorBAnorBAandB“XX”libraryieee;useieee.std_logic_1164.all;entitymymuxisport(sel:instd_logic_vector(1downto0);--选择信号输入ain,bin:instd_logic_vector(1downto0);--数据输入cout:outstd_logic_vector(1downto0));endmymux;ArchitecturertlofmymuxisBeginProcess(sel,ain,bin)BeginCaseseliswhen“00”=cout=ainorbin;when“01”=cout=ainxorbin;when“10”=cout=ainandbin;whenothers=cout=ainnorbin;Endcase;Endprocess;Endrtl;得分评阅人第6页共8页2.看下面原理图,写出相应VHDL描述(10分)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;第7页共8页六、综合题:(20分)(一)已知状态机状态图如图(a)所示;完成下列各题:1.试判断该状态机类型,并说明理由。(2分)该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系2.根据状态图,写出对应于结构图(b),分别由主控组合进程和主控时序进程组成的VHDL有限状态机描述。(10分)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)Begin得分评阅人第8页共8页Casec_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;第9页共8页(二)已知一个简单的波形发生器的数字部分系统框图如下图所示图中lcnt、lrom都是在QuartusII中使用MegaWizard调用的LPM模块,其VHDL描述中Entity部分分别如下:ENTITYlcntISPORT(clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(9DOWNTO0));ENDlcnt;ENTITYlromISPORT(address:INSTD_LOGIC_VECTOR(9DOWNTO0);q:OUTSTD_LOGIC_VECTOR(9DOWNTO0));ENDlrom;试用VHDL描述该系统的顶层设计(使用例化语句)。(8分)
本文标题:EDA技术与VHDL(A卷答案)
链接地址:https://www.777doc.com/doc-5872553 .html