VHDLA答案.docx
- 文档编号:27314330
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:16
- 大小:230.14KB
VHDLA答案.docx
《VHDLA答案.docx》由会员分享,可在线阅读,更多相关《VHDLA答案.docx(16页珍藏版)》请在冰豆网上搜索。
VHDLA答案
姓名学号
学院专业座位号
(密封线内不答题)
……………………………………………………密………………………………………………封………………………………………线……………………………………线………………………………………
_____________________
…
诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《数字系统设计》A试卷答案
注意事项:
1.考前请将密封线内各项信息填写清楚;
2.所有答案请直接答在答题纸上;
3.考试形式:
闭卷;
4.本试卷共七大题,满分100分,考试时间120分钟。
题号
一
二
三
四
五
六
七
总分
得分
评卷人
一、简答题(共25分,每题5分)
1、简述产生固有延时和传输延时的原因。
答:
固有延时是任何电子器件都存在的一种延时特性,产生固有延时的主要物理机制是分布电容效应,不同物理特性的器件的固有延时是不同的,当信号的脉宽小于固有延时时,器件对输入信号将不作任何反应。
(2.5)
传输延时是由于器件间的连线产生的输出与输入的延时,表达的是输入与输出之间的一种绝对延时,传输延时并不考虑信号持续时间。
(2.5)
2、在VHDL中,可以使用并行和顺序语句编写VHDL模型,解释“并行”和“顺序”在这里的含义,并分别举例加以说明。
答:
“并行”指的是语句在结构体中的执行是同步进行的,其执行方式与书写顺序无关。
(1.5)
“顺序”指的是语句在结构体中的执行顺序与书写顺序一致。
(1.5)
以下面程序为例,这个结构体中共有三条并行语句组成,分别是进程语句和Q、Qbar的赋值语句,这三条语句是同步执行的,并不会执行完进程语句再执行Q和Qbar的赋值语句。
但是进程语句内部的if语句却是顺序执行的。
(2)
ArchitecturesigofDFFis
signalstate:
std_logic;
Begin
process(clock,reset)
begin
if(reset=‘0’)thenstate<=‘0’;
elsifrising_edge(clock)thenstate<=D;
endif;
endprocess;
Q<=state;
Qbar<=notstate;
Endsig;
3、简述功能仿真和时序仿真的区别。
答:
功能仿真:
在未经布线和适配之前,使用VHDL源程序综合后的文件进行仿真。
(2.5)
时序仿真:
将VHDL设计综合后,再由FPGA/CPLD适配器映射于具体芯片后得到的文件进行仿真。
(2.5)
4、从逻辑设计转换成电路实现的物理设计过程中,迭代是一类很有用的技术。
其具体含义是什么?
常用的迭代技术有哪几种?
它们各自的优缺点是什么?
答:
迭代的思想是利用问题本身包含的结构特性,用简单的逻辑子网络代替复杂的组合逻辑网络,实现要求的处理功能。
从而最大限度降低了逻辑网络的设计难度,简化了设计过程,提高系统的性能/价格比。
(2)
常用的迭代技术有时间迭代、空间迭代,也可以是两者的组合。
(1)
时间迭代速度慢,硬件简单。
(1)
空间迭代速度快,硬件复杂。
(1)
5、用图示法描述一般时序系统的模型,并作简要说明。
答:
一般的时序系统可以划分为如上图所示的控制器/数据处理器模型。
控制器输出控制信号给数据处理器,同时数据处理器反馈状态信号给控制器。
(图4分,说明1分)
二、根据下述VHDL程序段,画出相应的逻辑示意图(共20分,每题5分)。
1、Process(gate,a,b)
Begin
if(gate=‘1’)then
q<=aandb;
endif;
Endprocess;
2、Process(clk)
Begin
If(clk=‘1’)then
Q<=data;
Endif;
Endprocess;
3、假设法fadd4是已经描述好的元件
Entityfadd8is
port(a,b:
instd_logic_vector(7downto0);
ci:
instd_logic;
co:
outstd_logic;
sum:
outstd_logic_vector(7downto0));
Endfadd8;
Architecturestruoffadd8is
Componentfadd4
port(a,b:
instd_logic_vector(3downto0);
ci:
instd_logic;
co:
outstd_logic;
sum:
outstd_logic_vector(3downto0));
Endcomponent;
Signalcarry_out:
std_logic;
Begin
U1:
fadd4portmap(a(3downto0),b(3downto0),ci,
carry_out,sum(3downto0);
U2:
fadd4portmap(a(7downto4),b(7downto4),carry_out,
co,sum(7downto4);
Endstru;
4、用1个加法器和多个二路选择器综合下面的程序段,画出逻辑示意图
Process(select,a,b)
begin
ifselect=‘1’thenq<=a+b;
elseq<=c+d;
endif;
endprocess;
三、简述ASM图与普通程序流程图之间的区别,并根据ASM图画出时序图。
(10分)
(a)(b)
答:
ASM图相比一般程序流程图,隐含了时序关系,与硬件有很好的对应关系。
(两个要点每个2分,下面的图,每个1分)
四、下图是交通灯电路的ASM图,并用双进程状态机描述,请在空白处填入合适语句,使程序完整正确。
(10分)
Entitytrafficis
Port(reset,clk:
instd_logic;
car,timed:
instd_logic;
major_green,minor_green:
outstd_logic);
endentity;
Architectureasmoftrafficis
typestate_typeis(G,R);
signalpresent_state,next_state:
state_type;
Begin(5分)
seq:
process(reset,clk)
begin
ifreset=’1’thenpresent_state<=G;
elsifclk’eventandclk=’1’then
present_state<=next_state;
endif
endprocess;
com:
process(present_state,car,timed)
begin
start_timer<=‘0’;
casepressent_stateis
whenG=>
major_green<=‘1’;
minor_green<=‘0’;
if(car=‘1’)then
start_timer<=‘1’;
next_state<=R;
else
next_state<=G;
endif;
whenR=>(5分)
major_green<=’0’;
minor_green<=’1’;
iftimed=’1’then
next_state<=G;
elsenext_state<=R;
endif;
endcase;
endprocess;
Endasm;
五、描述一个如下图所示的带异步复位、置位功能的正边沿触发的D触发器的VHDL行为模型。
(10分)
EntityDFFis
port(D,clock,reset,set:
instd_logic;
Q,Qbar:
outstd_logic);
EndDFF;
(实体2分,结构体8分)
ArchitecturesigofDFFis
signalstate:
std_logic;
Begin
process(clock,reset,set)
begin
if(reset=‘0’)thenstate<=‘0’;
elsif(set=’0’)thensate<=’1’;
elsifrising_edge(clock)thenstate<=D;
endif;
endprocess;
Q<=state;
Qbar<=notstate;
Endsig;
六、从下面二题中选一做答,并在相应的题前打上“√”(10分)
(1)设计5位可变模数计数器。
设计要求:
令输入信号M1和M0控制计数模,令M1M0=”00”时为模19加法计数器,M1M0=”01”时为模4计数器,M1M0=”10”时为模10计数器,M1M0=”11”时为模6计数器。
(题目中有错,需改正)
Entitymod_calis
Port(M1,M0:
inbit;
Count:
outstd_logic_vector(4downto0);
Clk:
instd_logic);
Endentity;
(实体2分;结构体8分,其中写出计数功能3分)
Architecturebehavofmod_calis
Signalcount1:
std_logic_vector(4downto0);
Begin
Process(clk,M1,M0)
Variableselisbit_vector(1downto0);
Begin
Sel:
=M1&M0;
Ifclk’eventandclk=’1’then
Count1<=Count1+1;
Caseselis
When“00”=>ifCount1=”10011”thenCount1<=”00000”;
Endif;
When“01”=>ifCount1=”00100”thenCount1<=”00000”;
Endif;
When“10”=>ifCount1=”01010”thenCount1<=”00000”;
Endif;
When“11”=>ifCount1=”00110”thenCount1<=”00000”;
Endif;
Endcase;
Endif;
Endprocess;
Count<=count1;
Endbehav;
(2)下图所示电路是某数字系统的控制器。
其中Z是系统数据处理器的状态信号;C1和C2是控制器输出的控作信号。
试画出该控制器的ASM图。
答:
第一步:
写出次态方程和输出方程(3分)
第二步:
根据次态方程和输出方程,写出状态转移表(3分)
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
X
0
0
0
0
1
0
X
0
0
0
0
1
1
X
0
0
0
0
第三步:
根据状态转移表,画出ASM图(4分)
在无步骤情况下,若ASM画对,则给全对,若ASM画错,则酌情给分。
七、设计题(15分)
如下图所示,某数字系统有两条输入线分别为CONTROL和DATA。
有一条输出应答线READY和8位输出总线Z。
从DATA数据线上输入的是8为串行数据。
串行输入数据可以从低位到高位依次输入,也可以从高位到低位依次输入。
输出数据最高位到最低位必须从Z7,Z6,…Z0依次并行输出。
当系统准备接受新的数据时READY信号置1,并监视输入信号CONTROL。
当CONTROL线在连续二个时钟周期为1时,系统将READY信号恢复为0。
在下一个时钟若CONTROL仍为1,表示DATA低位在前、高位在后输入;反之,高位在前、低位在后输入。
随后的8个时钟由DATA线依次输入8位数据。
之后,再次将READY信号置1,并将8为数据并行输出到数据总线Z。
画出系统的ASM图。
本设计题,ASM图有多种画法,酌情给分,画出基本框架给8分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDLA 答案