中 北 大 学
试题答案及评分标准
硬件描述语言及器件 课程
(课程名称须与教学任务书相同) 20xx/20xx 学年 第 一 学期
试题类别 A
拟题日期 拟题教师 课程编号 教师编号 使用班级
备注:试题答案要求按指定规格计算机打印,并将其文本与电子稿一并上交: ① 校级考试课程交评估与考试中心命题科; ② 院级考试课程交院教务科。
20xx/20xx 学年第 一 学期末考试试题答案及评分标准
(A卷)
硬件描述语言及器件
使用班级: xxxx
总分
得分
一、 填空题(20分,每空格1分)
1、VHDL语言中标识符通常分为 短标识符 , 扩展标识符 两种。
2、VHDL对象包含 常量 , 信号 , 变量 , 文件 4个基本数据类型。 3、VHDL语言中,数据类型常量说明的一般格式为: CONSTANT常数名:数据类型:=表达式; 。 4、VHDL中位矢量类型表达为 bit ,位向量类型表达为 bit_vector() 。 5、VHDL语言有 类型标记法 , 函数转换法 , 常数转换法 3种不同类型的数据变换方法。
6、VHDL中,设D0为“1001”, D1为'0', D2为“0110”。D0 & D1的运算结果是 “10010” ,D0 & D2的运算结果是 “10010110” 。
7、VHDL语言中包括四种运算操作符,分别是逻辑运算符,算术运算符,关系运算符,和并置运算符。
8、为了启动进程,VHDL语言中必须包含一个 显示的敏感信号量表 或者 包含一个wait语句 。 得分 7
二、 判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确判断依据3分) 1、进程之间的通信可以通过变量传递来实现。 ( × )
进程之间的通信需通过信号传递实现。
2、VHDL语言的高速性体现在其进程之内的带入语句都是并行执行的。 ( × )
进程之内的带入语句是顺序执行的。
3、语句y <= a when s=”00” else b when s=”01” else c when s=”10” else d;
中,s=”00”条件的优先级最高 ( √ )
4、com1:u1 PORT MAP(a => n1,b => n2,c => m);语句中采用了位置映射的信号端口映射方式。 ( × )
采用的是名称映射方式
7
得分 三、判断题(10分)
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;
以上库和程序包声明是否完整? 否 ,如果不完整请添加 library ieee;
entity rom is port(
addr: in std_logic; ce: in std_logic;
data:out std_logic_vector(7 to 0) );
end rom;
以上实体定义有无错误? 有 ,有的话请改正原语句 std_logic_vector(0 to 7)
或std_logic_vector(7 downto 0)
architecture behave of entity is × entity rom begin
process(ce,addr)
begin √
if ce='0' × then case addr is when ‘0’=>
data<=\; when others=>
data<=\;
elseif × elsif data<=\;
end if × ; end behave; × end process; 以上architecture中划线各行有无错误?请在相应行划线位置判断并改正。
7
得分 四、 编程题(共50分)
1、请补全以下2-4译码器VHDL程序实体及结构体部分(本题10分) entity de2_4 is
port ( sel : in std_logic_vector(1 downto 0); input : in std_logic; a,b,c,d : out std_logic );
end de2_4;
architecture behavioral of de2_4 is begin
process ( sel,input ) begin
if sel = “00” then a <= input;
elsif sel = “01” then b <= input;
elsif sel = “10” then c <= input; else d <= input; end if; end process;
end Behavioral;
7