VHDL试卷(2)

2019-02-26 09:49

WHEN OTHERS=> y <= \ END CASE; ELSE

y <= \ (14) END IF; END PROCESS; (16) END rtl;

4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。 (本题14分)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY tri_gate IS

PORT(din,en:IN STD_LOGIC; dout : OUT STD_LOGIC); END tri_gate ;

ARCHITECTURE zas OF tri_gate IS BEGIN

PROCESS (din,en) BEGIN IF (en=?1') THEN dout <= din; ELSE dout <= ?Z?; END IF; END PROCESS ; END zas ;

6

2008/2009 学年第 一 学期末考试试题答案及评分标准

(A卷)

得分

一、 填空题(20分,每空格1分)

1、试举出两种可编程逻辑器件 CPLD 、 FPGA 。

2、VHDL程序的基本结构包括 库 、 程序包 、 实体 和 结构体 。

3、more_ _11标识符合法吗? 不合法 。8bit标识符合法吗? 不合法 。 variable标识符合法吗? 不合法 。 4、信号的代入通常用 <= ,变量用 := 。

5、表示‘0’‘1’;两值逻辑的数据类型是 bit(位) ,表示‘0’‘1’‘Z’等九值逻辑的数据类型是 std_logic(标准逻辑),表示空操作的数据类型是 NULL 。

6、定义一个信号a,数据类型为4位标准逻辑向量 signal a : std_logic_vector(3 downto 0) 定义一个变量b,数据类型为2位位向量 variable b : bit_vector(1 downto 0) 。

7、<=是 小于等于 关系运算符,又是 赋值运算 操作符。 8、设D0为'1', D1为'0', D2为'1', D3为'0', D3 & D2 & D1 & D0的运算结果是“0101”, D1 & D2 & D3 & D4的运算结果是“1010”。 得分 二、 判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分) 1、进程语句中,不管在何时,process语句后面必须列出敏感信号 ( × )

包含wait语句的进程语句可不列出敏感信号。

7

2、VHDL语言与计算机 C语言的没有差别。 ( × )

? 运行的基础

– 计算机语言是在CPU+RAM构建的平台上运行

– VHDL设计的结果是由具体的逻辑、触发器组成的数字电路

? 执行方式

– 计算机语言基本上以串行的方式执行 – VHDL在总体上是以并行方式工作

? 验证方式

– 计算机语言主要关注于变量值的变化 – VHDL要实现严格的时序逻辑关系

3、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。 ( × )

“变量(VARIABLES)”改为“信号”。

4、Moore状态机输出只是状态机当前状态的函数,Mealy状态机输出为有限状态机当前值和输入值的函数 得分 ( √ )

三、判断题(10分) library ieee;

use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_1164.all;

以上库和程序包语句有无错误? 有 ,有的话请在原程序相应位置改正。 (2)

entity rom is port( addr: in std_logic_vector(0 to 3); ce: in std_logic; data:out std_logic_vector(7 downto 0) ; ) end rom;

8

以上port语句有无错误? 有 ,有的话请在原程序相应位置改正。 (4)

architecture behave of rom is begin

process(ce,addr) (6) begin if ce='0' then case addr is when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when \ when \ data<=\ data<=\ when others=> when \ data<=\ data<=\ end case; else data:=\ --data <= “00000000”; (8) end if; (10) end process; end behave;

以上architecture中有哪些错误?请在原程序相应位置改正。 得分 四、 编程题(共50分)

9

1、根据一下四选一程序的结构体部分,完成实体程序部分(本题8分) entity MUX4 is port( (2) s: in std_logic_vector(1 downto 0); (4) d: in std_logic_vector(3 downto 0); (6) y: out std_logic (8) );

end MUX4; architecture behave of MUX4 is begin process(s) begin if (s=\ y<=d(0); elsif (s=\ y<=d(1); elsif (s=\ y<=d(2); elsif (s=\ y<=d(3); else null; end if; end process; end behave;

2、编写一个数值比较器VHDL程序的进程(不必写整个结构框架),要求使能信号g低电平时比较器开始工作,输入信号p = q,输出equ为‘0’,否则为‘1’。(本题10分) process(p,q) (2) begin if g='0' then (4) if p = q then equ <= '0'; (6) else equ <= '1'; (8) end if; else equ <= '1'; (10)

10


VHDL试卷(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:帮你除去车内异味

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

马上注册会员

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