2024年EDA试题题库及参考答案_第1页
2024年EDA试题题库及参考答案_第2页
2024年EDA试题题库及参考答案_第3页
2024年EDA试题题库及参考答案_第4页
2024年EDA试题题库及参考答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择題:(20分)大规模可编程器件重要有FPGA、CPLD两类,下列對CPLD构造与工作原理的描述中,對的的是:___D__ A.CPLD是基于查找表构造的可编程逻辑器件 B.CPLD即是現場可编程逻辑器件的英文简称 C.初期的CPLD是從FPGA的构造扩展而来 D.在Xilinx企业生产的器件中,XC9500系列属CPLD构造基于VHDL设计的仿真包括有①门级時序仿真、②行為仿真、③功能仿真和④前端功能仿真這四种,按照自顶向下的设计流程,其先後次序应當是:_________D A.①②③④ B.②①④③ C.④③②① D.②④③①下面對运用原理图输入设计措施進行数字電路系统设计,哪一种說法是對的的:__________BA.原理图输入设计措施直观便捷,很适合完毕较大规模的電路系统设计B.原理图输入设计措施多用于较规范、规模不大的電路设计,和HDL代码描述措施均可以被综合,相得益彰C.原理图输入设计措施無法對電路進行功能描述D.原理图输入设计措施不适合進行层次化设计在VHDL語言中,下列對進程(PROCESS)語句的語句构造及語法规则的描述中,不對的的是:_______DA.PROCESS為一無限循环語句B.敏感信号发生更新時启動進程,执行完毕後,等待下一次進程启動C.目前進程中申明的变量不可用于其他進程D.進程由阐明語句部分、并行語句部分和敏感信号参数表三部分构成對于信号和变量的說法,哪一种是不對的的:_________A A.信号用于作為進程中局部数据存储單元 B.变量的赋值是立即完毕的 C.信号在整個构造体内的任何地方都能合用 D.变量和信号的赋值符号不一样样進程中的信号赋值語句,其信号更新是___C____。按次序完毕;比变量更快完毕;在進程的最终完毕;都不對。VHDL語言共支持四种常用库,其中哪种库是顾客的VHDL设计現行工作库:_______D A.IEEE库 B.VITAL库 C.STD库 D.WORK工作库VHDL語言是一种构造化设计語言;一种设计实体(電路模块)包括实体与构造体两部分,构造体描述___________。B器件外部特性;器件的内部功能;器件的综合约束;器件外部特性与内部功能。下列語句中,不属于并行語句的是:_______B A.進程語句 B.CASE語句 C.元件例化語句 D.WHEN…ELSE…語句10.下列標识符中,__________是不合法的標识符。BA.State0 B.9moon C.Not_Ack_0 D.signall二、EDA名詞解释或者简述(10分)写出下列缩写的中文(或者英文)含义:ASIC 专用集成電路FPGA 現場可编程门阵列IP 知识产权核(软件包)FSM 有限状态机5.HDL 硬件描述語言6.简要解释JTAG,指出JTAG的用途 JTAG,jointtestactiongroup,联合测试行動小组的简称,又意指其提出的一种硬件测试原则,常用于器件测试、编程下载和配置等操作。三、VHDL程序填空:(20分)1.如下程序是一种BCD码表达0~99计数器的VHDL描述,试补充完整。(10分)libraryieee;useieee.std_logic_1164.all;use____________________________________________;entitycnt100bis port( clk,rst,en:instd_logic; cq :outstd_logic_vector(7downto0); --计数输出 cout:outstd_logic); --進位输出endentitycnt100b;______________________bhvofcnt100bisbegin process(clk,rst,en) ______________cqi:std_logic_vector(7downto0); begin ifrst='1'then cqi:=__________________; --计数器清零复位 else if___________________________________then --上升沿判断 ifen='1'then ifcqi(3downto0)<"1001"then --比较低4位 ______________________; --计数加1 else ifcqi(7downto4)<"1001"then --比较高4位 cqi:=cqi+16; else cqi:=(others=>'0'); endif; __________________________; --低4位清零 endif; endif; ____________; endif; ifcqi=_______________then --判断進位输出 cout<='1'; else cout<='0'; endif; __________________; endprocess;endarchitecturebhv;答案:libraryieee;useieee.std_logic_1164.all;use;entitycnt100bis port( clk,rst,en:instd_logic; cq :outstd_logic_vector(7downto0); --计数输出 cout:outstd_logic); --進位输出endentitycnt100b;architecturebhvofcnt100bisbegin process(clk,rst,en) variablecqi:std_logic_vector(7downto0); begin ifrst='1'then cqi:=(others=>‘0’); --计数器清零 else ifclk’eventandclk=‘1’then ifen='1'then ifcqi(3downto0)<"1001"then --比较低4位 cqi:=cqi+1; --计数加1 else ifcqi(7downto4)<"1001"then --比较高4位 cqi:=cqi+16; else cqi:=(others=>'0'); endif; cqi(3downto0):=“0000”; endif; endif; endif; endif; ifcqi=“10011001”then cout<='1'; else cout<='0'; endif; cq<=cqi; endprocess;endarchitecturebhv;2.VHDL程序填空:(10分)下面程序是n输入与门的VHDL描述,试补充完整。__________ieee;use_____________________.all;entityandnis ________(n:integer); --类属参数申明 port( a:instd_logic_vector(______downto0); c:outstd_logic);end;________________behavof________is --构造体申明begin process(____) _____________int:std_logic; --变量申明 begin int:=_____; --变量赋初值 forIina'length–1downto0loop --循环判断 ifa(i)='0'then int:='0'; endif; endloop; c<=________; --输出判断成果 endprocess;endbehav;答案:libraryieee.std_logic_1164genericn-1architectureandnavariable‘1int四、VHDL程序调试改錯:(10分)一、仔细阅讀下列程序,回答問題LIBRARYIEEE; --1USEIEEE.STD_LOGIC_1164.ALL; --2ENTITYMOORE1IS --3 PORT( DATAIN :INSTD_LOGIC_VECTOR(1DOWNTO0); --4 CLK,RST:INSTD_LOGIC; --5 Q :OUTSTD_LOGIC_VECTOR(3DOWNTO0)); --6ENDMOORE1; --7ARCHITECTUREBEHAVOFMOORE1IS --8 SIGNALST_TYPEIS(ST0,ST1,ST2,ST3,ST4); --9 SIGNALC_ST:ST_TYPE; --10BEGIN --11 PROCESS(CLK,RST) --12 BEGIN --13 IFRST='1'THENC_ST<=ST0;Q<="0000"; --14 ELSIFCLK'EVENTANDCLK='1'THEN --15 CASEC_STIS --16 WHENST0=>IFDATAIN="10"THENC_ST<=ST1; --17 ELSEC_ST<=ST0; --18 ENDIF; Q<="1001"; --19 WHENST1=>IFDATAIN="11"THENC_ST<=ST2; --20 ELSEC_ST<=ST1; --21 ENDIF; Q<="0101"; --22 WHENST2=>IFDATAIN="01"THENC_ST<=ST3; --23 ELSEC_ST<=ST0; --24 ENDIF; Q<="1100"; --25 WHENST3=>IFDATAIN="00"THENC_ST<=ST4; --26 ELSEC_ST<=ST2; --27 ENDIF; Q<="0010"; --28 WHENST4=>IFDATAIN="11"THENC_ST<=ST0; --29 ELSEC_ST<=ST3; --30 ENDIF; Q<="1001"; --31 ENDCASE; --32 ENDIF; --33 ENDPROCESS; --34ENDBEHAV; --351.在程序中存在两处錯误,试指出,并阐明理由:在QuartusII中编译時,其中一种提醒的錯误為:Error(Line9):VHDLsyntaxerroratMOORE1.vhd(9)neartext"IS";expecting":",or","第9行,状态机数据类型申明錯误,关键字应為TYPE第32行,case語句缺乏whenothers处理异常状态状况2.修改對应行的程序(假如是缺乏語句請指出大体的行数):錯误1 行号:9程序改為:SIGNAL改為TYPE錯误2 行号:32程序改為:之前添加一句whenothers=>c_st<=st0;五、阅讀下列VHDL程序,說出總体实現了什么功能,并對代码進行解释。(10分)1.ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs='0'THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone2.LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYTRISIS PORT( CONTROL:INSTD_LOGIC; INN :INSTD_LOGIC; Q :INOUTSTD_LOGIC; Y :OUTSTD_LOGIC);ENDTRIS;ARCHITECTUREONEOFTRISISBEGIN PROCESS(CONTROL,INN,Q) BEGIN IF(CONTROL='0')THEN Y<=Q; Q<='Z'; ELSE Q<=INN; Y<='Z'; ENDIF; ENDPROCESS;ENDONE;六、写VHDL程序:(10分)1.设计10進制加法计数器,规定含异步清0和同步時钟使能。注意:時钟信号命名為CLK,使能信号為EN,清零信号為RST,计数输出為CQ。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');--计数器异步复位ELSIFCLK'EVENTANDCLK='1'THEN--检测時钟上升沿IFEN='1'THEN--检测与否容許计数(同步使能)IFCQI<9THENCQI:=CQI+1;--容許计数,检测与否不不小于9ELSECQI:=(OTHERS=>'0');--不小于9,计数值清零ENDIF;ENDIF;ENDIF;IFCQI=9THENCOUT<='1';--计数不小于9,输出進位信号ELSECOUT<='0';ENDIF;CQ<=CQI;--将计数值向端口输出ENDPROCESS;ENDbehav;2.试描述一种带進位输入、输出的8位全加器 端口:A、B為加数,CIN為進位输入,S為加和,COUT為進位输出LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYADDER8IS PORT(A,B:INSTD_LOGIC_VECTOR(7DOWNTO0); CIN:INSTD_LOGIC; COUT:OUTSTD_LOGIC; S:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDADDER8;ARCHITECTUREONEOFADDER8IS SIGNALTS:STD_LOGIC_VECTOR(8DOWNTO0);BEGIN TS<=(‘0’&A)+(‘0 S<=TS(7DOWNTO0); COUT<=TS(8);ENDONE;七、VHDL程序设计:(20分)设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用下面三种方式中的两种来描述该数据选择器MUX的构造体。(a)用if語句。(b)用case語句。(c)用whenelse語句。Libraryieee;Useieee.std_logic_1164.all;Entitymymuxis Port( sel:instd_logic_vector(1downto0); --选择信号输入 Ain,Bin:instd_logic_vector(1downto0); --数据输入 Cout:outstd_logic_vector(1downto0));Endmymux;ArchitectureoneofmymuxisBegin Process(sel,ain,bin) Begin Ifsel=“00” Elsifsel=“01” Elsifsel=“10” Elsecout<=notbin; Endif; Endprocess;Endone;ArchitecturetwoofmymuxisBegin Process(sel,ain,bin) Begin Caseselis when“00” when“01” when“10” whenothers=>cout<=notbin; Endcase; Endprocess;Endtwo;ArchitecturethreeofmymuxisBegin Cout<=ainandbinwhensel=“00” Ainxorbinwhensel=“01” Notainwhensel=“10”Endthree;设计一种7段数码显示译码器,并逐行進

温馨提示

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

评论

0/150

提交评论