《EDA复习题(终)(2).doc》由会员分享,可在线阅读,更多相关《EDA复习题(终)(2).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流EDA复习题(终)(2)【精品文档】第 19 页电子设计自动化复习题一选择题1 大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是_C_。A. CPLD即是现场可编程逻辑器件的英文简称;B. CPLD是基于查找表结构的可编程逻辑器件;C. 早期的CPLD是从GAL的结构扩展而来;D. 在Altera公司生产的器件中,FLEX10K 系列属CPLD结构;2 综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,_C_是错误的。A. 综合就是将电路的高级语言转
2、化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;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 电子系统设计优化,主要考虑提高资源利用率减少功耗-即面积优化,以及提高运行速度-即速度优化;指出下列那种方法不属于速度优化:_A_。A. 资源共
4、享B. 流水线设计C. 寄存器配平D. 关键路径法7 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是_C_。A. FPGA是基于乘积项结构的可编程逻辑器件;B. FPGA是全称为复杂可编程逻辑器件;C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。8 VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_D_。A. 器件外部特性;B. 器件的综合约束;C. 器件外部特性与内部功能;D. 器件的内部功能。9 不完整的IF语句,
5、其综合结果可实现_A_。A. 时序逻辑电路B. 组合逻辑电路C. 双向电路D. 三态控制电路10 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_B_。流水线设计资源共享逻辑优化串行化寄存器配平关键路径法A. B. C. D. 11 下列标识符中,_B_是不合法的标识符。A. State0B. 9moonC. Not_Ack_0D. signall12 关于VHDL中的数字,请找出以下数字中最大的一个:_A_。A. 2#1111_1110#B. 8#276#C. 10#170#D. 16#E#E113 IP核在EDA技术
6、和开发中具有十分重要的地位,IP分软IP、固IP、硬IP;下列所描述的IP核中,对于硬IP的正确描述为_D_。A. 提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;B. 提供设计的最总产品-模型库;C. 以网表文件的形式提交用户,完成了综合的功能块;D. 都不是。14 在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是_C_。A. PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。B. 敏感信号参数表中,不一定要列出进程中使用的所有输入信号;C. 进程由说明部分、结构体部分、和敏感信号三
7、部分组成;D. 当前进程中声明的变量不可用于其他进程。15 VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_B_。A. 器件外部特性;B. 器件的内部功能;C. 器件的综合约束;D. 器件外部特性与内部功能。16 下列标识符中,_B_是不合法的标识符。A. State0B. 9moonC. Not_Ack_0D. signall17 下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程:BA. 原理图/HDL文本输入适配综合功能仿真编程下载硬件测试B. 原理图/HDL文本输入功能仿真综合适配编程下载硬件测试C. 原理图/HDL文本输入
8、功能仿真综合编程下载适配硬件测试;D. 原理图/HDL文本输入功能仿真适配编程下载综合硬件测试18. 请指出Altera Cyclone系列中的EP1C6Q240C8这个器件是属于_A_A. FPGA B. CPLD C. CPU D.GAL19. CPLD的可编程是主要基于什么结构:。DA .查找表(LUT);B. ROM可编程;C. PAL可编程;D. 与或阵列可编程;20. 流水线设计是一种优化方式,下列哪一项对资源共享描述正确_ C。A. 面积优化方法,不会有速度优化效果B. 速度优化方法,不会有面积优化效果C. 面积优化方法,可能会有速度优化效果D. 速度优化方法,可能会有面积优化效
9、果21. 在VHDL语言中,下列对时钟边沿检测描述中,错误的是_D_。A. if clkevent and clk = 1 thenB. if falling_edge(clk) then C. if clkevent and clk = 0 thenD.ifclkstable and not clk = 1 then22. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列那种方法是速度优化_A_。A. 流水线设计B. 资源共享C. 逻辑优化D. 串行化23. PLD的可编程主要基于请指出下列两种可编程逻辑基于的可编程结构:FPGA 基于
10、_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. 面积优化方法,同时有速度优化效果B. 速度优化方法,不会有面积优化效果C. 面积优化方法,不会有速度优化效果D. 速度优化方法,可能会有面积优化效果27. 关于VHDL中的数字,请找出以下数字中数值最小的一个
11、:_C_A. 2#1111_1110#B. 8#276#C. 10#170#D. 16#E#E128. 大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是:_D_A. CPLD是基于查找表结构的可编程逻辑器件B. CPLD即是现场可编程逻辑器件的英文简称C. 早期的CPLD是从FPGA的结构扩展而来D. 在Xilinx公司生产的器件中,XC9500系列属CPLD结构29. 基于VHDL设计的仿真包括有门级时序仿真、行为仿真、功能仿真和前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是:_D_AB.CD30.IP核在EDA技术和开发中具有十分重
12、要的地位,IP分软IP、固IP、硬IP;下列所描述的IP核中,对于固IP的正确描述为:_D_A提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路B提供设计的最总产品模型库C以可执行文件的形式提交用户,完成了综合的功能块D都不是31.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是:_D_APROCESS为一无限循环语句B敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动C当前进程中声明的变量不可用于其他进程32进程由说明语句部分、并行语句部分和敏感信号参数表三部分组成,对于信号和变量的说法,哪一个是不正确的:_A_A信号用
13、于作为进程中局部数据存储单元B变量的赋值是立即完成的C信号在整个结构体内的任何地方都能适用D变量和信号的赋值符号不一样33. VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:_D_AIEEE库BVITAL库CSTD库DWORK工作库34.下列4个VHDL标识符中正确的是:_D_A10#128#B16#E#E1C74HC124DX_16二、EDA名词解释,写出下列缩写的中文(或者英文)含义:1. HDL硬件描述语言2. CPLD复杂可编程逻辑器件3. LUT显示查找表4. ASIC专用集成电路5. SOC单芯片系统6. VHDL 超高速集成电路硬件描述语言7. FPGA
14、现场可编程门阵列8. RTL寄存器传输级9. SOPC 单芯片可编程系统10. EAB嵌入式阵列块11. JTAG联合测试工作组12. GAL通用阵列逻辑13. IP知识产权核或知识产权模块14. LPM参数化模块库15. UART通用异步守法传输器16. ISP互联网提供商17. IEEE电气和电子工程师协会18. LABlibrary库19. EDA电子设计自动化技术20. Synthesis分析与综合三VHDL程序填空:1下面程序是带异步复位、同步置数和移位使能的8位右移移位寄存器的VHDL描述,试补充完整。library ieee;use.ieee.std_logic_1164.all
15、;entity sreg8b isport (clk, rst : in std_logic;load,en : in std_logic;din : in _std-logic-vector_(7 downto 0);qb : out std_logic);end sreg8b;architecture behav of sreg8bissignal reg8: std_logic_vector( 7 downto 0);beginprocess (clk,rst,load,en)begin if rst=1 then异步清零 reg8 0;elsifclk event and lk=1 t
16、hen边沿检测 if load = 1 then同步置数reg8 = din;elsif en=1 then移位使能reg8(6 downto 0) =reg(7 downto 1) ; end if;_end if_;end process;qb= _reg8_;输出最低位end behav; 2. 下面程序是n输入与门的VHDL描述,试补充完整。_library_ ieee;use _ieee.std-logic-ll64_.all;entity andn is_generic_ (n : integer);-类属参数声明port (a : in std_logic_vector( _n-
17、1_ downto 0); c : out std_logic);end;_architecture_ behav of _anda_ is- 结构体声明beginprocess (_a_)_varible_ int : std_logic;-变量声明beginint := _1_;- 变量赋初值for I in alength 1 downto 0 loop-循环判断if a(i) = 0 thenint := 0;end if;end loop;c = _int_;- 输出判断结果end process;end behav;3.下面程序是8位分频器程序设计的VHDL描述,试补充完整。LIB
18、RARY IEEE;- 8位分频器程序设计USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.std-logic-_unsigned_.ALL;ENTITY PULSE IS PORT ( CLK: IN STD_LOGIC; D: IN std-logic=vector(7 DOWNTO 0); FOUT: OUT STD_LOGIC );END;ARCHITECTURE one OF _pulse_ IS SIGNAL FULL : STD_LOGIC;BEGINP_REG: PROCESS(CLK)_variable_ CNT8 : STD_LOGIC_VECTOR
19、(_7_ DOWNTO 0);BEGINIF _clkevent and clk=1_ THENIF CNT8 = 11111111 THEN CNT8 _:=d_; -当CNT8计数计满时,输入数据D被同步预置给计数器CNT8FULL = 1; -同时使溢出标志信号FULL输出为高电平ELSE CNT8 _:=cnt8+1_; -否则继续作加1计数FULL = 0; -且输出溢出标志信号FULL为低电平END IF;END IF;END PROCESS P_REG;P_DIV: PROCESS(_full_)VARIABLE CNT2 : STD_LOGIC;BEGINIF FULLEVEN
20、T AND FULL = 1 THEN CNT2 _=notcnt2_; -如果溢出标志信号FULL为高电平,D触发器输出取反IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT int_reg0_; -resetWHEN 001 =int_regint_regint_regint_regint_reg NULL;END CASE;_end if _;END PROCESS;_data out=int-reg_; -connect internal register to dataout portEND bhv;5. 下面程序是一个16位数控分频器的VHDL描述,试补充完整
21、。_LIBRARY_ IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE _IEEE。STD_LOGIC_UNSIGNED.ALL_;ENTITY PULSE16 IS PORT ( CLK : IN STD_LOGIC;LOAD : IN STD_LOGIC;D: IN _STD_LOGIC_;FOUT : OUT STD_LOGIC );END;_ARCHITECTURE_ one OF PULSE16 IS SIGNAL FULL : STD_LOGIC;BEGINP_REG: PROCESS(CLK)_VARIABLE_ CNT16 : STD_LOGIC_VEC
22、TOR(15 DOWNTO 0);BEGIN IF CLKEVENT AND CLK = 1 THENIF _LOAD_=1_ THEN- LOAD高电平置数CNT16 := D;FULL = 0;ELSEIF CNT16 = 1111111111111111 THEN CNT16 := D;FULL = 1; ELSECNT16 := _CNT16+1_;- 计数加1FULL = 0;END IF;END IF;_;END PROCESS P_REG;P_DIV: PROCESS(_)- 溢出信号为敏感信号VARIABLE CNT2 : STD_LOGIC;BEGINIF _ THEN- F
23、ULL上升沿判断CNT2 := NOT CNT2;FOUT 0)_;- 计数器清零复位elseif _clkevent and clk=1_ then- 上升沿判断if en = 1 thenif cqi(3 downto 0) 1001 then- 比较低4位_cqi:=cqi+1_;- 计数加1elseif cqi(7 downto 4) 0);end if;_cqi(3 downto 0)_:=”0000”_;- 低4位清零end if;end if;_end if_;end if;if cqi = _”10011001”_ then- 判断进位输出cout= 1;elsecout= 0
24、;end if;_cq=cqi_;end process;end architecture bhv;四、VHDL程序改错:1. 仔细阅读下列程序,回答问题LIBRARY IEEE;- 1USE IEEE.STD_LOGIC_1164.ALL;- 2ENTITY LED7SEG IS- 3PORT (A: IN STD_LOGIC_VECTOR(3 DOWNTO 0); - 4CLK: IN STD_LOGIC; - 5LED7S: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);- 6END LED7SEG;- 7ARCHITECTURE one OF LED7SEG IS-
25、 8SIGNAL TMP : STD_LOGIC-vector3 downto 0);- 9BEGIN- 10SYNC : PROCESS(CLK, A)- 11BEGIN- 12IF CLKEVENT AND CLK = 1 THEN- 13TMP LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S nullEND CASE;- 30END PROCESS;- 31END one;在程序中存在两处错误,试指出,并说明理由:在编译时,提示的错误为:Error: Line 14: File f:uploadedamaxplusi
26、imy_projs8_5led7seg.vhd: Type error: type in waveform element must be std_logicError: Line 19: File f:uploadedamaxplusiimy_projs8_5led7seg.vhd: VHDL syntax error: expected choices in case statement修改相应行的程序(如果是缺少语句请指出大致的行数):2.仔细阅读下列程序,回答问题1LIBRARY IEEE;2USE IEEE.STD_LOGIC_1164.ALL;34ENTITY CNT10 IS 5
27、 PORT ( CLK : IN STD_LOGIC ;6 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; 7END CNT10; 8ARCHITECTURE bhv OF CNT10 IS9 SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); 10BEGIN 11 PROCESS (CLK) BEGIN12 IF RISING_EDGE(CLK) begin 13 IF Q1 9 THEN14 Q1 = Q1 + 1 ; 15 ELSE 16 Q1 0); 17 END IF;18 END IF; 19 END PROCESS ;
28、20 Q = Q1;21END bhv;(1). 在编译时,提示的第一条错误为:Error: Line 12: File e:myworktestcnt10.vhd: VHDL syntax error: If statement must have THEN, but found BEGIN instead指出并修改相应行的程序(如果是缺少语句请指出大致的行数):错误1行号3:程序改为:use ieee.std-logic-unsigned.all;错误2行号12程序改为:if rising-edge(clk) then(2)本题程序为EDA实验中的示例程序sch.vhd,仔细阅读程序,回答
29、问题。1.对该程序进行编译时出现错误提示:“VHDL Design File “sch” must contain an entity of the same name.”这是什么原因?如何修改?(3)修改问题1的错误后,如果编译时出现“Cant open VHDL “WORK”这样的错误提示。这又是什么原因,如何修改?3.仔细阅读下列程序,回答下面的问题library ieee;-1use ieee.std_logic_1164.all;-2entity schk is-3port (din, clk, clr: in std_logic;- 串行输入数据位/工作时钟/复位信号-4ab: o
30、ut std_logic_vector(3 downto 0)- 检测结果输出-5);-6end schk;-7architecture bhv of schk is-8signal q : integer range 0 to 8;-9signal d : std_logic_vector(7 downto 0);- 8位待检测预置数-10begin-11d = 11100101;- 8位待检测预置数-12process (clk, clr)-13begin-14if clr = 1 then q if din = d(7) then q = 1; else q if din = d(6)
31、then q = 2; else q if din = d(5) then q = 3; else q if din = d(4) then q = 4; else q if din = d(3) then q = 5; else q if din = d(2) then q = 6; else q if din = d(1) then q = 7; else q if din = d(0) then q = 8; else q q = 0;-26end case;-27end if;-28end process;-29process (q)-30begin-31if q = 8 thenab = 1010;-32elseab = 1011;-33end if;-34end process;-35end bhv;-361. 在上述程序代码中存在两处错误,编译时出现如下提示,试修改错误:Error: Line 12: File f:edaschk.vhd: VHDL syntax error: unexpected signal “d” in Concurrent Statement PartError: Line 29:File f:edaschk