EDA试卷及答案(共6页).doc
精选优质文档-倾情为你奉上EDA试卷及答案一、单项选择题:(20分)1IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为_ D _。A .瘦IP B.固IP C.胖IP D.都不是2综合是EDA设计流程的关键步骤,在下面对综合的描述中,_ D _是错误的。A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。3大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是_C_。A. FPGA全称为复杂可编程逻辑器件;B. FPGA是基于乘积项结构的可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。4进程中的信号赋值语句,其信号更新是_C_。A.按顺序完成; B.比变量更快完成;C.在进程的最后完成; D.都不对。5 VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_ B _。A.器件外部特性;B.器件的内部功能;C.器件的综合约束;D.器件外部特性与内部功能。6不完整的IF语句,其综合结果可实现_ A _。A. 时序逻辑电路 B. 组合逻辑电路 C. 双向电路 D. 三态控制电路7子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_ B _。流水线设计 资源共享 逻辑优化串行化 寄存器配平关键路径法A. B. C. D. 8下列标识符中,_ B _是不合法的标识符。A. State0 B. 9moon C. Not_Ack_0 D. signall9关于VHDL中的数字,请找出以下数字中最大的一个:_ A _。A. 2#1111_1110# B. 8#276#C. 10#170# D. 16#E#E110下列EDA软件中,哪一个不具有逻辑综合功能:_ B _。A. Max+Plus II B. ModelSimC. Quartus II D. Synplify二、EDA名词解释,写出下列缩写的中文(或者英文)含义:(14分)1. LPM 参数可定制宏模块库2. RTL 寄存器传输级3. UART 串口(通用异步收发器)4. ISP 在系统编程5. IEEE 电子电气工程师协会6. ASIC 专用集成电路7. LAB 逻辑阵列块三、VHDL程序填空:(10分)LIBRARY 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;BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN IF CLKEVENT AND CLK = 1 THEN IF CNT8 = "" THEN CNT8 := D; -当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL <= '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; BEGIN IF FULL'EVENT AND FULL = '1' THEN CNT2 <= NOT CNT2; -如果溢出标志信号FULL为高电平,D触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1' ELSE FOUT <= '0' END IF; END IF; END PROCESS P_DIV;END;四、VHDL程序改错:(10分)01 LIBRARY IEEE ;02 USE IEEE.STD_LOGIC_1164.ALL ;03 USE IEEE.STD_LOGIC_UNSIGNED.ALL;04 ENTITY LED7CNT IS05 PORT ( CLR : IN STD_LOGIC;06 CLK : IN STD_LOGIC;07 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;08 END LED7CNT; 09 ARCHITECTURE one OF LED7CNT IS10 SIGNAL TMP : STD_LOGIC_VECTOR(3 DOWNTO 0);11 BEGIN 12 CNT:PROCESS(CLR,CLK)13 BEGIN 14 IF CLR = '1' THEN15 TMP <= 0;16 ELSE IF CLK'EVENT AND CLK = '1' THEN17 TMP <= TMP + 1;18 END IF; 19 END PROCESS;20 OUTLED:PROCESS(TMP)21 BEGIN 22 CASE TMP IS23 WHEN "0000" => LED7S <= "" ;24 WHEN "0001" => LED7S <= "" ;25 WHEN "0010" => LED7S <= "" ;26 WHEN "0011" => LED7S <= "" ;27 WHEN "0100" => LED7S <= "" ;28 WHEN "0101" => LED7S <= "" ;29 WHEN "0110" => LED7S <= "" ;30 WHEN "0111" => LED7S <= "" ;31 WHEN "1000" => LED7S <= "" ;32 WHEN "1001" => LED7S <= "" ;33 WHEN OTHERS => LED7S <= (OTHERS => '0');34 END CASE;35 END PROCESS;36 END one;在程序中存在两处错误,试指出,并说明理由:提示:在MAX+PlusII 10.2上编译时报出的第一条错误为:Error:Line 15: File */led7cnt.vhd: Type error: type in waveform element must be “std_logic_vector”第 15 行, 错误:整数0不能直接赋值给TMP矢量改正:TMP <= (OTHERS => 0);第 16 行, 错误:ELSE IF 缺少一条对应的END IF语句改正:将ELSE IF 改为关键字ELSIF第2页 共5页五、VHDL程序设计:(16分)设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。(a) 用if语句。 (b) 用case 语句。 (c) 用when else 语句。Library ieee;Use ieee.std_logic_1164.all;Entity mymux is Port ( sel : in std_logic_vector(1 downto 0); - 选择信号输入 Ain, Bin : in std_logic_vector(1 downto 0); - 数据输入 Cout : out std_logic_vector(1 downto 0) );End mymux;Architecture one of mymux isBegin Process (sel, ain, bin) Begin If sel = “00” then cout <= ain and bin; Elsif sel = “01” then cout <= ain xor bin; Elsif sel = “10” then cout <= not ain; Else cout <= not bin; End if; End process;End one;Architecture two of mymux isBegin Process (sel, ain, bin) Begin Case sel is when “00” => cout <= ain and bin; when “01” => cout <= ain xor bin; when “10” => cout <= not ain; when others => cout <= not bin; End case; End process;End two;Architecture three of mymux isBegin Cout <= ain and bin when sel = “00” else Ain xor bin when sel = “01” else Not ain when sel = “10” else not bin;End three;六、根据原理图写出相应的VHDL程序:(10分)Library ieee;Use ieee.std_logic_1164.all;Entity mycir is Port ( A, B, clk : in std_logic; Qout : out std_logic);End mycir;Architecture behave of mycir is Signal ta, tb, tc;Begin tc <= ta nand tb; Process (clk) Begin If clkevent and clk = 1 then Ta <= A; Tb <= B; End if; End process; Process (clk, tc) Begin If clk = 1 then Qout <= c; End if; End process;End behave; 专心-专注-专业