08硬件描述语言试题A.docx
- 文档编号:10903520
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:10
- 大小:47.96KB
08硬件描述语言试题A.docx
《08硬件描述语言试题A.docx》由会员分享,可在线阅读,更多相关《08硬件描述语言试题A.docx(10页珍藏版)》请在冰点文库上搜索。
08硬件描述语言试题A
中北大学
硬件描述语言及器件课程考试试题
2007/2008学年第一学期
试题类别A
拟题日期2007.12.20拟题教师李圣昆
课程编号教师编号1180011
教学院长系主任
课程结束时间08.1.11印刷份数
使用班级05182401/2/3
备注:
(1)试题要求按指定规格计算机打印,并将其电子稿于课程结束前20天交评估与考试中心命题科。
(2)试题类别指A卷或B卷。
(3)试题印制手续由院教务科统一到评估与考试中心命题科办理。
2007/2008学年第一学期末考试试题(A卷)
硬件描述语言及器件
使用班级:
05182401/2/3
总分
得分
一、填空题(20分,每空格1分)
1、VHDL是否区分大小写?
。
2、digital__8标识符合法吗?
。
12_bit标识符合法吗?
。
signal标识符合法吗?
。
3、结构体有三种描述方式,分别是、、和。
4、请分别列举一个常用的库和程序包、。
5、一个信号处于高阻(三态)时的值在VHDL中描述为。
6、将一个信号width定义为一个4位标准逻辑向量的语句为
。
7、/=是操作符,功能是。
8、设D0为'0',D1为'1',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是
,(D3orD2)and(D1andnotD0)的运算结果是:
。
9、赋值语句是(并行/串行)执行的,if语句是(并行/串行)执行的。
10、请列举三种可编程逻辑器件:
、、。
得分
二、简答(20分,每小题5分)
1、简述VHDL程序的基本结构。
2、简述信号与变量的区别。
3、简述可编程逻辑器件的优点。
4、试比较moore状态机与mealy状态机的异同。
得分
三、判断题(10分)
libraryieee;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
以上库和程序包语句有无错误?
,有的话请在原程序相应位置改正。
entityromis
port(
addr:
instd_logic_vector(0to3);
ce:
instd_logic;
data:
outstd_logic_vector(7downto0);
)
endrom;
以上port语句有无错误?
,有的话请在原程序相应位置改正。
architecturebehaveofromis
begin
process
begin
ifce='0'then
caseaddris
when"0000"=>
data<="10001001";
when"0001"=>
data<="10001010";
when"0010"=>
data<="10001011";
when"0011"=>
data<="10001100";
when"0100"=>
data<="10001101";
when"0101"=>
data<="10001110";
when"0110"=>
data<="10001111";
when"0111"=>
data<="10010000";
when"1000"=>
data<="10010001";
when"1001"=>
data<="10010010";
when"1010"=>
data<="10010011";
when"1011"=>
data<="10010100";
when"1100"=>
data<="10010101";
when"1101"=>
data<="10010110";
when"1110"=>
data<="10010111";
whenothers=>
data<="10011000";
endcase;
else
data:
="00000000";
endprocess;
endbehave;
以上architecture中有哪些错误?
请在原程序相应位置改正。
得分
四、编程(共50分,除特殊声明,实体可只写出PORT语句,结构体要写完整)
1、用IF语句编写一个二选一电路,要求输入a、b,sel为选择端(低电平选择a端,高电平选择b端),输出q。
(本题10分)
2、编写一个4位加法计数器VHDL程序的进程(不必写整个结构框架),要求复位信号reset低电平时计数器清零,变高后,在上升沿开始工作;输入时钟信号为clk,输出为q。
(本题10分)
3、填写完成一个8-3线编码器的真值表(5分),并写出其VHDL程序(10分)。
8-3线编码器真值表
en
b
y0y1y2
1
000
1
00000010
001
1
010
1
00001000
011
1
00010000
1
00100000
101
1
01000000
1
111
0
xxxxxxxx
高阻态
4、根据已给出的全加器的VHDL程序,试写出一个4位逐位进位全加器的VHDL程序。
(本题15分)
libraryIEEE;
useIEEE.std_logic_1164.all;
useIEEE.std_logic_arith.all;
useIEEE.std_logic_unsigned.all;
entityadderis
port(
a,b,c:
instd_logic;
carr:
inoutstd_logic;
sum:
outstd_logic
);
endadder;
architectureadder_archofadderis
begin
sum<=axorbxorc;
carr<=(aandb)or(bandc)or(aandc);
endadder_arch;
得分
五、附加题(10分,本题可产生附加分,全卷不能超过100分)
完成下面moore状态机程序,该设计为一个存储控制器状态机。
能够根据微处理器的读写周期,分别对存储器输出写使能WE和读使能OE信号。
工作过程:
存储控制器的输入信号为微处理器的就绪READY及读写read_write信号。
当上电复位后,或read有效时,存储控制器开始工作,并在下一个时钟周期判断本次作业任务是读存储器还是写存储器。
判断的依据是,当read_write有效时为读操作,否则为写操作。
也就是说非读即写。
读操作时,OE信号有效,写操作时,WE信号有效。
当READY信号有效时,表示读本次作业处理完成,并使控制器恢复到初始状态。
控制器真值表和状态图如下。
存储控制器真值表
状态
输出
OE
WE
空闲(IDLE)
0
0
判断(DECISION)
0
0
写(WRITE)
0
1
读(READ)
1
0
存储器控制器状态图
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmooreIS
PORT(clk,ready,read_write:
INStd_Logic;
oe,we:
OUTStd_Logic);
ENDmoore;
ARCHITECTUREstate_machineOFMooreIS
TYPEstate_typeIS(,,,);
SIGNALpresent_state,next_state:
state_type;
BEGIN
state_comb:
PROCESS(present_state,ready,read_write)
BEGIN
CASEpresent_stateIS
WHENidle=>
oe<=;
we<=;
IF(ready='1')THEN
next_state<=decision;
ELSE
next_state<=idle;
ENDIF;
WHENdecision=>
oe<=;
we<=;
IF(read_write='1')THEN
next_state<=read;
ELSE
next_state<=;
ENDIF;
WHENread=>
oe<=;
we<=;
IF(ready='1')THEN
next_state<=idle;
ELSE
next_state<=read;
ENDIF;
WHENwrite=>
oe<=;
we<=;
IF(ready='1')THEN
next_state<=;
ELSE
next_state<=write;
ENDIF;
ENDCASE;
ENDPROCESSstate_comb;
state_clocked:
PROCESS(clk)
BEGIN
IFTHEN
present_state<=next_state;
ENDIF;
ENDPROCESSstate_clocked;
ENDstate_machine;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 硬件 描述 语言 试题