,考试作弊将带来严重后果!
华南理工大学期末考试
《数字系统设计》试卷
1. 考前请将密封线内各项信息填写清楚;
所有答案请直接答在试卷上(或答题纸上);
.考试形式:开(闭)卷;
(每小题2分,共16分)
大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理( C )
CPLD即是现场可编程逻辑器件的英文简称;
CPLD是基于查找表结构的可编程逻辑器件;
早期的CPLD是从GAL的结构扩展而来;
在Altera公司生产的器件中,FLEX10K 系列属CPLD结构;
在VHDL语言中,下列对时钟边沿检测描述中,错误的是( D )
then ...;
then ...;
then ...;
在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确( A )
PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一.
敏感信号参数表中,应列出进程中使用的所有输入信号;
进程由说明部分、结构体部分、和敏感信号参数表三部分组成;
当前进程中声明的信号也可用于其他进程
基于EDA软件的FPGA / CPLD设计流程,以下流程中哪个是正确的:( C )
原理图/HDL文本输入→适配→综合→时序仿真→编程下载→功能仿真→硬件测试
原理图/HDL文本输入→功能仿真→综合→时序仿真→编程下载→适配→硬件测试;
原理图/HDL文本输入→功能仿真→综合→适配→时序仿真→编程下载→硬件测试
原理图/HDL文本输入→适配→时序仿真→编程下载→功能仿真→综合→硬件测试。
关于综合,从输入设计文件到产生编程文件的顺序正确的是:(B)
.逻辑综合→高层次综合→物理综合;
B. 高层次综合→逻辑综合→物理综合;
C. 物理综合→逻辑综合→高层次综合;
D. 高层次综合→逻辑综合→时序综合;
6. 进程中的信号赋值语句,其信号更新是( C )
A. 按顺序完成;
B. 比变量更快完成;
C. 在进程的挂起时完成;
D. 都不对。
7. 下列不属于VHDL基本程序结构是(A)
A..CONFIGURATION定义区
B..ARCHITECTURE定义区
C.USE定义区
D.ENTITY定义区
8.下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的_(C)。
A.原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B.原理图输入设计方法一般是一种自底向上的设计方法;
C.原理图输入设计方法无法对电路进行功能描述;
D.原理图输入设计方法也可进行层次化设计。
二.简答题(22分)
1. 简述利用EDA技术设计数字系统的特点。
(4分)
2. 什么是信号建立时间?(2分)什么是信号保持时间?(2分)
3. 仿真分为哪几个层次的仿真?(3分)
4. 实验中,对某程序进行编译时出现错误提示:“VHDL Design File “aaa.vhd”must contain an entity of the same name.”(4分)
这是什么原因?如何修改?
5.实验中,如果编译时出现“Can’t open VHDL “WORK””这样的错误提示。
这又是什么原因,如何修改?(4分)
6.用图示法描述一般时序系统的模型,并作简要说明。
(3分)
三.根据下述VHDL程序段,画出相应的逻辑示意图,并加以简单说明(共10分,每题5分)。
1、Process(clk)
Begin
If (clk =‘1’) then Q<=data; End if;
End process;
2、ENTITY example IS
PORT ( a, b , c, g1, g2a, g2b: IN std_logic;
y: OUT std_logic_vector (7 DOWNTO 0) );
END ENTITY;
ARCHITECTURE behav OF example IS
SIGNAL indata : std_logic_vector(2 DOWNTO 0);
BEGIN
indata<=c & b & a ;
PROCESS( indata, g1, g2a, g2b)
BEGIN
IF (g1='1'and g2a='0' AND g2b='0') THEN
CASE indata IS
WHEN "000"=> y<="11111110";
WHEN "001"=> y<="11111101";
WHEN "010"=> y<="11111011";
WHEN "011"=> y<="11110111";
WHEN "100"=> y<="11101111";
WHEN "101"=> y<="11011111";
WHEN "110"=> y<="10111111";
WHEN "111"=> y<="01111111";
WHEN OTHERS => y<="XXXXXXXX";
END CASE;
ELSE
y<="11111111";
END IF;
END PROCESS;
END behav;
四.综合题(52分)
1. 根据原理图写出相应的VHDL程序:(10分)
2. 有一个传输门,根据下述赋值语句和给定的波形,画出对应Z1,Z2,Z3和Z4的波形图。
(4分)
(1)Z1<=Vi ,惯性延时时间为4ns
(2)Z2 <=Vi after 4 ns ,惯性延时时间为4ns
(3)Z3 <= TRANSPORT Vi AFTER 3 ns ,惯性延时时间为4ns (4)Z4<=Vi ,传输门的T r =4ns,T f =2ns
3. 根据ASM 图画出时序图。
(4分)
Z
C Y
W
1
4.下面的ASM图含有多少个状态单元,用虚线框加以表示(2分)。
并用双进程状态机描述,请在空白处填入合适语句, 使程序完整正确。
(8分)
Entity traffic is
Port ( reset, clk: in std_logic;
car,timed: in std_logic;
major_green, minor_green:out
std_logic);
end entity;
Architecture asm of traffic is
Begin
seq: process(reset, clk)
begin
end process;
com: process (present_state, car, timed)
begin
start_timer<=‘0’;
case pressent_state is
when G =>
when R=>
major_green<=‘0’;
minor_green<=‘1’;
if (timed=‘1’) then
next_state<=G;
else next_state<=R;
end if ;
end case;
end process ;
End asm;
5.下图所示电路是某数字系统的控制器。
其中Z是系统数据处理器的状态信号;
C1和C2是控制器输出的控作信号。
试画出该控制器的ASM图。
(10分)
6.试编程实现以下功能。
(14分)
如下图所示,某数字系统有三条输入线分别为CLK、CONTROL和DATA。
有一条输出应答线READY和8位输出总线Z。
从DATA数据线上输入的是8位串行数据。
串行输入数据从低位到高位依次输入。
当系统准备接受新的数据时READY信号置1,并监视输入信号CONTROL。
当CONTROL线在连续二个时钟周期为1时,系统将READY信号恢复为0。
随后的8个时钟由DATA线依次输入8位数据。
之后一个时钟,再次将READY 信号置1,并将8为数据并行输出到数据总线Z。
《》试卷第 8 页共 8 页。