《EDA复习题终21130》由会员分享,可在线阅读,更多相关《EDA复习题终21130(19页珍藏版)》请在金锄头文库上搜索。
1、电子设计自动化复习题 一选择题 1 大规模可编程器件主要有 FPGA、CPLD 两类,下列对 CPLD 结构与工作原理的描述中,正确的是_C_。 A.CPLD 即是现场可编程逻辑器件的英文简称; B.CPLD 是基于查找表结构的可编程逻辑器件; C.早期的 CPLD 是从 GAL 的结构扩展而来; D.在 Altera 公司生产的器件中,FLEX10K 系列属 CPLD 结构; 2 综合是 EDA 设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,_C_是错误的。 A. 综合就是将电路的高级语言转化成低级的, 可与 FPGA/CPLD 的基本结
2、构相映射的网表文件; B. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的; C. 综合是纯软件的转换过程,与器件硬件结构无关; D. 为实现系统的速度、 面积、 性能的要求, 需要对综合加以约束, 称为综合约束。 3 IP 核在 EDA 技术和开发中具有十分重要的地位,IP 分软 IP、固 IP、硬 IP;下列所描述的 IP 核中,对于硬 IP 的正确描述为_B_。 A. 提供用 VHDL 等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路; B. 提供设计的最总产品-掩膜; C. 以网表文件的形式提交用户,完成了综合的功能块; D.
3、 都不是。 4 下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的_B_。 A. 原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计; B. 原理图输入设计方法无法对电路进行功能描述; C. 原理图输入设计方法一般是一种自底向上的设计方法; D. 原理图输入设计方法也可进行层次化设计。 5 嵌套使用 IF 语句,其综合结果可实现_A_。 A. 带优先级且条件相与的逻辑电路; B. 条件相或的逻辑电路; C. 三态控制电路; D. 双向控制电路。 6 电子系统设计优化,主要考虑提高资源利用率减少功耗-即面积优化,以及提高运行速度-即速度优化;指出下列那种方法不属于
4、速度优化:_A_。 A.资源共享 B.流水线设计 C. 寄存器配平 D.关键路径法 7 大规模可编程器件主要有 FPGA、CPLD 两类,下列对 FPGA 结构与工作原理的描述中,正确的是_C_。 A. FPGA 是基于乘积项结构的可编程逻辑器件; B. FPGA 是全称为复杂可编程逻辑器件; C. 基于 SRAM 的 FPGA 器件,在每次上电后必须进行一次配置; D. 在 Altera 公司生产的器件中,MAX7000 系列属 FPGA 结构。 8 VHDL 语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_D_。 A. 器件外部特性; B. 器件的综合
5、约束; C. 器件外部特性与内部功能; D. 器件的内部功能。 9 不完整的 IF 语句,其综合结果可实现_A_。 A.时序逻辑电路 B.组合逻辑电路 C.双向电路 D.三态控制电路 10 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化) ,以及提高运行速度(即速度优化) ;指出下列哪些方法是面积优化_B_。 流水线设计 资源共享 逻辑优化 串行化 寄存器配平 关 键路径法 A. B. C. D. 11 下列标识符中,_B_是不合法的标识符。 A.State0 B.9moon C.Not_Ack_0 D.signall 12 关于 VHDL 中的数字,请找出以下数字中最大的一个:_
6、A_。 A. 2#1111_1110# B. 8#276# C. 10#170# D. 16#E#E1 13 IP 核在 EDA 技术和开发中具有十分重要的地位,IP 分软 IP、固 IP、硬 IP;下列所描述的 IP 核中,对于硬 IP 的正确描述为_D_。 A. 提供用 VHDL 等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路; B. 提供设计的最总产品-模型库; C. 以网表文件的形式提交用户,完成了综合的功能块; D. 都不是。 14 在 VHDL 语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是_C_。 A. PROCESS 为一无限循环语
7、句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。 B. 敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C. 进程由说明部分、结构体部分、和敏感信号三部分组成; D. 当前进程中声明的变量不可用于其他进程。 15 VHDL 语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_B_。 A. 器件外部特性; B. 器件的内部功能; C. 器件的综合约束; D. 器件外部特性与内部功能。 16 下列标识符中,_B_是不合法的标识符。 A.State0 B.9moon C.Not_Ack_0 D.signall 17 下列那个流程是正确的基于
8、 EDA 软件的 FPGA/CPLD 设计流程:B A.原理图/HDL 文本输入适配综合功能仿真编程下载硬件测试 B.原理图/HDL 文本输入功能仿真综合适配编程下载硬件测试 C.原理图/HDL 文本输入功能仿真综合编程下载适配硬件测试; D.原理图/HDL 文本输入功能仿真适配编程下载综合硬件测试 18.请指出 AlteraCyclone 系列中的 EP1C6Q240C8 这个器件是属于_A_ A.FPGAB.CPLDC.CPUD.GAL 19.CPLD 的可编程是主要基于什么结构: 。D A.查找表(LUT) ; B.ROM 可编程; C.PAL 可编程; D.与或阵列可编程; 20.流水
9、线设计是一种优化方式,下列哪一项对资源共享描述正确_C。 A.面积优化方法,不会有速度优化效果 B.速度优化方法,不会有面积优化效果 C.面积优化方法,可能会有速度优化效果 D.速度优化方法,可能会有面积优化效果 21.在 VHDL 语言中,下列对时钟边沿检测描述中,错误的是_D_。 A.ifclkeventandclk=1then B.iffalling_edge(clk)then C.ifclkeventandclk=0then D.ifclkstableandnotclk=1then 22.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化) ,以及提高运行速 度(即速度优化)
10、;指出下列那种方法是速度优化_A_。 A.流水线设计 B.资源共享 C.逻辑优化 D.串行化 23.PLD 的可编程主要基于请指出下列两种可编程逻辑基于的可编程结构: FPGA 基于_A_ CPLD 基于_B_ A.LUT 结构或者 B.乘积项结构: 24.下列优化方法中那两种是速度优化方法:_B_、_D_ A.资源共享 B.流水线 C.串行化 D.关键路径优化 25.FPGA 的可编程是主要基于什么结构:_A_ A.查找表(LUT) B.ROM 可编程 C.PAL 可编程 D.与或阵列可编程 26.串行化设计是一种优化方式,下列哪一项对串行化设计描述正确:_C_ A.面积优化方法,同时有速度
11、优化效果 B.速度优化方法,不会有面积优化效果 C.面积优化方法,不会有速度优化效果 D.速度优化方法,可能会有面积优化效果 27.关于 VHDL 中的数字,请找出以下数字中数值最小的一个:_C_ A.2#1111_1110# B.8#276# C.10#170# D.16#E#E1 28. 大规模可编程器件主要有 FPGA、CPLD 两类,下列对 CPLD 结构与工作原理的描述中,正确的是:_D_ A.CPLD 是基于查找表结构的可编程逻辑器件 B.CPLD 即是现场可编程逻辑器件的英文简称 C.早期的 CPLD 是从 FPGA 的结构扩展而来 D.在 Xilinx 公司生产的器件中,XC9
12、500 系列属 CPLD 结构 29.基于 VHDL 设计的仿真包括有门级时序仿真、行为仿真、功能仿真和前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是:_D_ A B. C D 30.IP 核在 EDA 技术和开发中具有十分重要的地位,IP 分软 IP、固 IP、硬 IP;下列所描述的 IP 核中,对于固 IP 的正确描述为:_D_ A提供用 VHDL 等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路 B提供设计的最总产品模型库 C以可执行文件的形式提交用户,完成了综合的功能块 D都不是 31.在 VHDL 语言中,下列对进程(PROCESS)语句的语句结构及语法规则的
13、描述中,不正确的是:_D_ APROCESS 为一无限循环语句 B敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动 C当前进程中声明的变量不可用于其他进程 32进程由说明语句部分、并行语句部分和敏感信号参数表三部分组成,对于信号和变量的说法,哪一个是不正确的:_A_ A信号用于作为进程中局部数据存储单元 B变量的赋值是立即完成的 C信号在整个结构体内的任何地方都能适用 D变量和信号的赋值符号不一样 33.VHDL 语言共支持四种常用库,其中哪种库是用户的 VHDL 设计现行工作库:_D_ AIEEE 库 BVITAL 库 CSTD 库 DWORK 工作库 34.下列 4 个 VHDL
14、 标识符中正确的是:_D_ A10#128# B16#E#E1 C74HC124 DX_16 二、EDA 名词解释,写出下列缩写的中文(或者英文)含义: 1. HDL 硬件描述语言 2. CPLD 复杂可编程逻辑器件 3. LUT 显示查找表 4. ASIC 专用集成电路 5. SOC 单芯片系统 6. VHDL 超高速集成电路硬件描述语言 7. FPGA 现场可编程门阵列 8. RTL 寄存器传输级 9. SOPC 单芯片可编程系统 10. EAB 嵌入式阵列块 11. JTAG 联合测试工作组 12. GAL 通用阵列逻辑 13. IP 知识产权核或知识产权模块 14. LPM 参数化模块
15、库 15. UART 通用异步守法传输器 16. ISP 互联网提供商 17. IEEE 电气和电子工程师协会 18. LAB library 库 19. EDA 电子设计自动化技术 20. Synthesis 分析与综合 三VHDL 程序填空: 1下面程序是带异步复位、同步置数和移位使能的 8 位右移移位寄存器的 VHDL描述,试补充完整。 libraryieee; use.ieee.std_logic_1164.all; entitysreg8bis port( clk,rst:instd_logic; load,en:instd_logic; din:in_std-logic-vecto
16、r_(7downto0); qb:outstd_logic); endsreg8b; architecturebehavofsreg8bis signalreg8 :std_logic_vector(7downto0); begin process(clk,rst,load,en) begin ifrst=1then 异步清零 reg80; elsifclkeventandlk=1then边沿检测 ifload=1then同步置数 reg8=din; elsifen=1then移位使能 reg8(6downto0)=reg(7downto1); endif; _endif_; endproce
17、ss; qb=_reg8_; 输出最低位 endbehav; 2.下面程序是 n 输入与门的 VHDL 描述,试补充完整。 _library_ieee; use_ieee.std-logic-ll64_.all; entityandnis _generic_(n:integer); -类属参数声明 port( a:instd_logic_vector(_n-1_downto0); c:outstd_logic); end; _architecture_behavof_anda_is -结构体声明 begin process(_a_) _varible_int:std_logic; -变量声明
18、begin int:=_1_; -变量赋初值 forIinalength1downto0loop -循环判断 ifa(i)=0then int:=0; endif; endloop; c=_int_; -输出判断结果 endprocess; endbehav; 3.下面程序是 8 位分频器程序设计的 VHDL 描述,试补充完整。 LIBRARYIEEE; -8位分频器程序设计 USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.std-logic-_unsigned_.ALL; ENTITYPULSEIS PORT(CLK :INSTD_LOGIC; D :INstd-lo
19、gic=vector(7DOWNTO0); FOUT :OUTSTD_LOGIC); END; ARCHITECTUREoneOF_pulse_IS SIGNALFULL:STD_LOGIC; BEGIN P_REG:PROCESS(CLK) _variable_CNT8:STD_LOGIC_VECTOR(_7_DOWNTO0); BEGIN IF_clkeventandclk=1_THEN CNT8_:=d_;-当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL=1;-同时使溢出标志信号FULL输出为高电平 ELSECNT8_:=cnt8+1_;-否则继续作加1计数 FUL
20、L=0;-且输出溢出标志信号FULL为低电平 ENDIF; ENDIF; ENDPROCESSP_REG; P_DIV:PROCESS(_full_) VARIABLECNT2:STD_LOGIC; BEGIN IFFULLEVENTANDFULL=1THEN CNT2_=notcnt2_;-如果溢出标志信号FULL为高电平,D触发器输出取反 IFCNT2=1THENFOUT=1; ELSE FOUTint_reg0_;-reset WHEN001=int_regint_regint_regint_regint_regNULL; ENDCASE; _endif_; ENDPROCESS; _d
21、ataout=int-reg_;-connectinternalregistertodataoutport ENDbhv; 5.下面程序是一个 16 位数控分频器的 VHDL 描述,试补充完整。 _LIBRARY_IEEE; USEIEEE.STD_LOGIC_1164.ALL; USE_IEEE。STD_LOGIC_UNSIGNED.ALL_; ENTITYPULSE16IS PORT(CLK:INSTD_LOGIC; LOAD:INSTD_LOGIC; D :IN_STD_LOGIC_; FOUT:OUTSTD_LOGIC); END; _ARCHITECTURE_oneOFPULSE16
22、IS SIGNALFULL:STD_LOGIC; BEGIN P_REG:PROCESS(CLK) _VARIABLE_CNT16:STD_LOGIC_VECTOR(15DOWNTO0); BEGIN IFCLKEVENTANDCLK=1THEN IF_LOAD_=1_THEN -LOAD 高电平置数 CNT16:=D; FULL=0; ELSE CNT16:=D; FULL=1; ELSE CNT16:=_CNT16+1_; -计数加 1 FULL=0; ENDIF; ENDIF; _; ENDPROCESSP_REG; P_DIV:PROCESS(_) -溢出信号为敏感信号 VARIABL
23、ECNT2:STD_LOGIC; BEGIN IF_THEN -FULL 上升沿判断 CNT2:=NOTCNT2; FOUT0)_; -计数器清零复位 else if_clkeventandclk=1_then -上升沿判断 ifen=1then ifcqi(3downto0)1001then -比较低4位 _cqi:=cqi+1_; -计数加1 else ifcqi(7downto4)0); endif; _cqi(3downto0)_:=”0000”_; -低4位清零 endif; endif; _endif_; endif; ifcqi=_”_then -判断进位输出 cout=1; e
24、lse cout=0; endif; _cq=cqi_; endprocess; endarchitecturebhv; 四、VHDL 程序改错: 1.仔细阅读下列程序,回答问题 LIBRARYIEEE; -1 USEIEEE.STD_LOGIC_1164.ALL; -2 ENTITYLED7SEGIS -3 PORT( A :INSTD_LOGIC_VECTOR(3DOWNTO0); -4 CLK :INSTD_LOGIC; -5 LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0); -6 ENDLED7SEG; -7 ARCHITECTUREoneOFLED7SEGIS
25、 -8 SIGNALTMP:STD_LOGIC-vector3downto0); -9 BEGIN -10 SYNC:PROCESS(CLK,A) -11 BEGIN -12 IFCLKEVENTANDCLK=1THEN -13 TMPLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7Snull ENDCASE; -30 ENDPROCESS; -31 ENDone; 在程序中存在两处错误,试指出,并说明理由: 在编译时,提示的错误为: Error:Line14:Filef:uploadedamaxplusiimy_projs8_5led7seg
26、.vhd:Typeerror:typeinwaveformelementmustbestd_logic Error:Line19:Filef:uploadedamaxplusiimy_projs8_5led7seg.vhd:VHDLsyntaxerror:expectedchoicesincasestatement 修改相应行的程序(如果是缺少语句请指出大致的行数) : 2.仔细阅读下列程序,回答问题 1 LIBRARYIEEE; 2 USEIEEE.STD_LOGIC_1164.ALL; 3 4 ENTITYCNT10IS 5 PORT(CLK:INSTD_LOGIC; 6 Q:OUTSTD
27、_LOGIC_VECTOR(3DOWNTO0); 7 ENDCNT10; 8 ARCHITECTUREbhvOFCNT10IS 9 SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0); 10 BEGIN 11 PROCESS(CLK)BEGIN 12 IFRISING_EDGE(CLK)begin 13 IFQ19THEN 14 Q1=Q1+1; 15 ELSE 16 Q10); 17 ENDIF; 18 ENDIF; 19 ENDPROCESS; 20 Q=Q1; 21 ENDbhv; (1).在编译时,提示的第一条错误为: Error:Line12:Filee:mywo
28、rktestcnt10.vhd:VHDLsyntaxerror:IfstatementmusthaveTHEN,butfoundBEGINinstead 指出并修改相应行的程序(如果是缺少语句请指出大致的行数) : 错误 1 行号 3:程序改为: :useieee.std-logic-unsigned.all; 错误 2 行号 12 程序改为:ifrising-edge(clk)then (2)本题程序为 EDA 实验中的示例程序 sch.vhd,仔细阅读程序,回答问题。 1.对该程序进行编译时出现错误提示:“VHDLDesignFile“sch”mustcontainanentityofth
29、esamename.” 这是什么原因?如何修改? (3)修改问题 1 的错误后,如果编译时出现“CantopenVHDL“WORK”这样的错误提示。 这又是什么原因,如何修改? 3.仔细阅读下列程序,回答下面的问题 libraryieee; -1 useieee.std_logic_1164.all; -2 entityschkis -3 port(din,clk,clr :instd_logic; -串行输入数据位/工作时钟/复位信号 -4 ab :outstd_logic_vector(3downto0) -检测结果输出 -5 ); -6 endschk; -7 architectureb
30、hvofschkis -8 signalq:integerrange0to8; -9 signald:std_logic_vector(7downto0); -8位待检测预置数 -10 begin -11 -8位待检测预置数 -12 process(clk,clr) -13 begin -14 ifclr=1thenqifdin=d(7)thenq=1;elseqifdin=d(6)thenq=2;elseqifdin=d(5)thenq=3;elseqifdin=d(4)thenq=4;elseqifdin=d(3)thenq=5;elseqifdin=d(2)thenq=6;elseqif
31、din=d(1)thenq=7;elseqifdin=d(0)thenq=8;elseqq=0; -26 endcase; -27 endif; -28 endprocess; -29 process(q) -30 begin -31 ifq=8then ab=1010; -32 else ab=1011; -33 endif; -34 endprocess; -35 endbhv; -36 1. 在上述程序代码中存在两处错误,编译时出现如下提示,试修改错误: Error:Line12:Filef:edaschk.vhd:VHDLsyntaxerror:unexpectedsignal“d”i
32、nConcurrentStatementPart Error:Line29:Filef:edaschk.vhd:VHDLsyntaxerror:ifstatementmusthaveENDIF,butfoundPROCESSinstead 错误 1 行号:12 程序改为:D=”1100101” 错误 2 行号:16 程序改为:ELSIF 4.仔细阅读下列程序,回答问题 01 LIBRARYIEEE; 02 USEIEEE.STD_LOGIC_1164.ALL; 03 USEIEEE.STD_LOGIC_UNSIGNED.ALL; 04 ENTITYLED7CNTIS 05 PORT(CLR :
33、INSTD_LOGIC; 06 CLK:INSTD_LOGIC; 07 LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0); 08 ENDLED7CNT; 09 ARCHITECTUREoneOFLED7CNTIS 10 SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0); 11 BEGIN 12 CNT:PROCESS(CLR,CLK) 13 BEGIN 14 IFCLR=1THEN 15 TMP=0;TMP0); 16 ELSIFCLKEVENTANDCLK=1THEN 17 TMPLED7SLED7SLED7SLED7SLED7SLED7SLED
34、7SLED7SLED7SLED7SLED7S0); 34 ENDCASE; 35 ENDPROCESS; 36 ENDone; (1)在程序中存在两处错误,试指出,并说明理由: (2)提示:编译时报出的第一条错误为: Error:Line15:File*/led7cnt.vhd:Typeerror:typeinwaveformelementmustbe“std_logic_vector” 第行,错误:改正: 第行,错误:改正: 5.仔细阅读下列程序,回答问题 1 LIBRARYIEEE; 2 USEIEEE.STD_LOGIC_1164.ALL; 3 USEIEEE.STD-LOGIC-UNI
35、GNED.ALL 4 ENTITYCNT4IS 5 PORT(CLK:INSTD_LOGIC; 6 Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0); 7 ENDCNT4; 8 ARCHITECTUREbhvOFCNT4IS 9 SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0); 10 BEGIN 11 PROCESS(CLK)BEGI 12 IFRISING_EDGE(CLK)THEN 13 IFQ115THEN 14 Q1=Q1+1; 15 ELSE 16 Q10); 17 ENDIF; 18 ENDIF; 19 ENDPROCESS; 20 Q0);
36、ElsifCLKEVENTANDCLK=1THEN IFEN=1THEN IFCQI0); ENDIF; ENDIF; ENDIF; -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 IFCQI=1001THEN COUT=1; ELSE COUT=0; ENDIF; CQtemp1temp1temp1temp1temp2temp2temp2temp2=00; ENDCASE; ENDIF; ENDPROCESSP2; clk_out=temp1(1)or
37、temp2(1); ENDbhv; 3.设计一个参数可定制带计数使能异步复位的递增计数器: 参数 n 位宽为 n 位 输入端口:data 并行置数端,位宽为 n 位 load 装载信号 en 计数使能信号 clk 时钟信号 rst 异步复位信号 输出端口:qout 计数器输出端,位宽为 n 位 -N-bitUpCounterwithLoad,CountEnable,and -AsynchronousReset 4.设计一个 N 输入的并入串出左移移位寄存器 参数: N 并行输入数据位宽为 N 输入端口: DIN 并行输入数据 LOAD 装载信号,高电平装载 CLK 时钟信号 输出端口: YOUT 移位输出,1 位 5.根据原理图写出相应的 VHDL 程序: 6.根据原理图写出相应的 VHDL 程序: 7.根据原理图写出相应的 VHDL 程序: 8所有实验的 VHDL 程序;