EDA 技术与 VHDL 期末考试试卷1、单项选择题:(20 分) 1. IP 核在 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. 时序逻辑电路 B. 组合逻辑电路 C. 双向电路 D. 三态控制电路
7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化 。B ①流水线设计 ②资源共享 ③逻辑优化 ④串行化 ⑤寄存器配平 ⑥关键路径法 A. ①③⑤ B. ②③④ C. ②⑤⑥ D. ①④⑥
。A
8. 下列标识符中, 是不合法的标识符。B A. State0 B. 9moon C. Not_Ack_0 D. signall
9. 关于 VHDL 中的数字,请找出以下数字中最大的一个: A. 2#1111_1110# B. 8#276# C. 10#170# D. 16#E#E1
。A
10. 下列 EDA 软件中,哪一个不具有逻辑综合功能: 。B A. Max+Plus II B. ModelSim C. Quartus II D. Synplify
第 1 页 共 5 页
二、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 CLK’EVENT AND CLK = ‘1’ THEN IF CNT8 = \
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 IS
05 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 IS
10 SIGNAL TMP : STD_LOGIC_VECTOR(3 DOWNTO 0); 11 BEGIN
12 CNT:PROCESS(CLR,CLK)
13 BEGIN
14 IF CLR = '1' THEN
15 TMP <= 0;
16 ELSE IF CLK'EVENT AND CLK = '1' THEN
17 TMP <= TMP + 1;
18 END IF;
19 END PROCESS;
20 OUTLED:PROCESS(TMP)
21 BEGIN
22 CASE TMP IS
23 WHEN \24 WHEN \25 WHEN \26 WHEN \27 WHEN \28 WHEN \29 WHEN \