武科大EDA试卷及答案(3)

2019-03-09 17:40

IF reset = ‘1’ THEN current_state <= s0; ELSIF clk='1' AND clk'EVENT THEN

current_state <=next_state; END IF;

END PROCESS;

P2: PROCESS (current_state,in1) BEGIN

case current_state is

WHEN s0 => IF in1='1'THEN next_state<=s1; ELSE next_state<=s0; END IF;

WHEN s1 => IF in1='0'THEN next_state<=s2; ELSE next_state<=s1; END IF;

WHEN s2 => IF in1='1'THEN next_state<=s3; ELSE next_state<=s2; END IF;

WHEN s3 => IF in1='0'THEN next_state<=s0; ELSE next_state<=s3; END IF; end case; END PROCESS;

p3:PROCESS(current_state) BEGIN

case current_state is

WHEN s0 => out1<=\ WHEN s1 => out1<=\ WHEN s2 => out1<=\ WHEN s3 => out1<=\ end case; END PROCESS; end bhv;

EDA試卷答案 一、单项选择题

1、2. 基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→__A__→综合→适配→____B____→编程下载→硬件测试。P14 A. 功能仿真 B. 时序仿真 C. 逻辑综合 D. 配置

3. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__A___。P25

A. 软IP B. 固IP C. 硬IP D. 全对

4. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,_____D____是错误的。P15 A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。 B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件。

C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。

D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。 5. 大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻辑功能。P42

A. 可编程乘积项逻辑 B. 查找表(LUT) C. 输入缓冲 D. 输出缓冲 6. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_____B___。P274 A. 器件外部特性 B. 器件的内部功能 C. 器件外部特性与内部功能 D. 器件的综合约束

7. 电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);下列方法中___A___不属于面积优化。P238 A. 流水线设计 B. 资源共享 C. 逻辑优化 D. 串行化

8. 进程中的信号赋值语句,其信号更新是___B____。P134 A. 立即完成 B. 在进程的最后完成 C. 按顺序完成 D. 都不对

9. 不完整的IF语句,其综合结果可实现__A__。P147 A. 时序逻辑电路 B. 组合逻辑电路 C. 双向电路 D. 三态控制电路

10. 状态机编码方式中,其中__A__占用触发器较多,但其简单的编码方式可减少状态译码组合逻辑资源,且易于控制非法状态。P221 A. 一位热码编码 B. 顺序编码 C. 状态位直接输出型编码 D. 格雷码编码

二、VHDL程序填空

1. 下面程序是1位十进制计数器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT10 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ; END CNT10;

ARCHITECTURE bhv OF CNT10 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN -- 边沿检测

IF Q1 > 10 THEN Q1 <= (OTHERS => '0'); -- 置零 ELSE Q1 <= Q1 + 1 ; -- 加1 END IF; END IF; END PROCESS ; Q <= Q1; END bhv;

2. 下面是一个多路选择器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY bmux IS PORT ( sel : IN STD_LOGIC; A, B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)) ; END bmux;

ARCHITECTURE bhv OF bmux IS BEGIN y <= A when sel = '1' ELSE B; END bhv;

三、VHDL程序改错

仔细阅读下列程序,回答问题

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY LED7SEG IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK : IN STD_LOGIC; LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END LED7SEG; ARCHITECTURE one OF LED7SEG IS SIGNAL TMP : STD_LOGIC; BEGIN SYNC : PROCESS(CLK, A) BEGIN IF CLK'EVENT AND CLK = '1' THEN TMP <= A; END IF; END PROCESS; OUTLED : PROCESS(TMP) BEGIN CASE TMP IS WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ END CASE; END PROCESS; END one;

-- 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 -- 27 -- 28 -- 29 -- 30 -- 31 -- 32

1. 在程序中存在两处错误,试指出,并说明理由:

第14行 TMP附值错误

第29与30行之间,缺少WHEN OTHERS语句 2. 修改相应行的程序:

错误1 行号: 9 程序改为:

TMP : STD_LOGIC_VECTOR(3 DOWNTO 0); 错误2 行号: 29 程序改为:

该语句后添加 WHEN OTHERS => LED7S <= \

四、阅读下列VHDL程序,画出原理图(RTL级)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY HAD IS PORT ( a : IN STD_LOGIC; b : IN STD_LOGIC; c : OUT STD_LOGIC; d : OUT STD_LOGIC );

END ENTITY HAD;

ARCHITECTURE fh1 OF HAD IS BEGIN c <= NOT(a NAND b); d <= (a OR b)AND(a NAND b); END ARCHITECTURE fh1;

五、请按题中要求写出相应VHDL程序

1. 带计数使能的异步复位计数器

输入端口: clk 时钟信号

rst 异步复位信号 en 计数使能 load 同步装载 data (装载)数据输入,位宽为10

输出端口: q 计数输出,位宽为10

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT1024 IS

PORT ( CLK, RST, EN, LOAD : IN STD_LOGIC;

DATA : IN STD_LOGIC_VECTOR (9 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) );

END CNT1024;

ARCHITECTURE ONE OF CNT1024 IS BEGIN

PROCESS (CLK, RST, EN, LOAD, DATA)

VARIABLE Q1 : STD_LOGIC_VECTOR (9 DOWNTO 0); IF RST = '1' THEN

Q <= Q1;

Q1 := (OTHERS => '0'); IF LOAD = '1' THEN

Q1 := DATA; IF EN = '1' THEN

Q1 := Q1 + 1; END IF; ELSE

ELSIF CLK = '1' AND CLK'EVENT THEN BEGIN

END IF;

END IF;

END PROCESS;

END ONE;

2. 看下面原理图,写出相应VHDL描述

e

a

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRI_STATE IS

PORT ( E, A : IN STD_LOGIC;

Y : INOUT STD_LOGIC; B : OUT STD_LOGIC);

byEND TRI_STATE;

ARCHITECTURE BEHAV OF TRI_STATE IS BEGIN

PROCESS (E, A, Y) BEGIN

IF E = '0' THEN

B <= Y; Y <= 'Z';

ELSE


武科大EDA试卷及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:古代名言警句大全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: