EDA考试题目+答案.docx
- 文档编号:13264577
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:14
- 大小:181.93KB
EDA考试题目+答案.docx
《EDA考试题目+答案.docx》由会员分享,可在线阅读,更多相关《EDA考试题目+答案.docx(14页珍藏版)》请在冰点文库上搜索。
EDA考试题目+答案
EDA考试题目+答案
简答:
1.VHDL中变量与信号的主要区别
无延时,立即发生,主要作用是在进程中作为临时的数据存储单元。
二、信号是一个全局量,有延时,进程只对信号
敏感,不对变量敏感
从VHDL语句功能和行为仿真来看,信号与变量的羞异主要表现在接受信息的方式和信息保持与传递的区域大小上。
(1)如:
信号可以设置传输延迟量,而变量则
不能;
(2)如:
信号可作为模块间的信息载体,如在结构体中个进程间传递信息;变量只能作为局部
的信息载体,如只能在所定义的进程中有效。
(3)变量的设置有时只是一种过渡,
息传输和界面间的通信都是靠信号来完成综合后的信号将对应更多的硬件结构o
2.ASIC、FPGA、EDA、ISP的含义
ASIC:
专用集成电路FPGA:
可编程逻辑器件EDA:
电子设计自动化ISP:
因特网服务提供商
3•常用的库的名称(IEEESTDWORKVITAL)5.进程语句的特点
(1)进程与进程,或其它并行语句之间的并行性,体现硬件电路并行运行特征。
(2)进程内部的顺序语句具有顺序与并行双重性。
顺序行为体现硬件的逻辑功能,并行行为体现硬件特征。
进程内部使用顺序语句,对一个系统进
行算法、行为和逻辑功能进行描述,可以具有高抽象性的特点,可以与具体的硬件没有关联。
这种顺序仅是指语句执行上的顺序(针对于HDL的行为仿真),并不意味着PROCESS语句在综合后所对应的硬件逻辑行为也同样具有顺序性。
VHDL程序无法进行诸如软件语言那样的“单步”调试,因为整个程序是一个整体,不能割裂每一句,只能通过仿真波形来了解程序的问题。
(3)进程有启动与挂起两种状态。
(4)进程与进程,或其它并行语句之间通过信号交流。
(5)时序电路必须由进程中的顺序语句描述,而此顺序语句必须由不完整的条件语句构成。
推荐在一个进程中只描述针对同一时钟的同步时序逻辑,而异步时序逻辑或多时钟逻辑必须由多个进程来表达。
6.实体定义时端口方向OUT与BUFFER有何不同?
OUT:
输出端口。
定义的通道为单向输出(写)模式,即通过此端口只能将实体内的数据流向外部。
BUFFER:
缓冲端口。
其功能与INOUT类似,
区别在于当需要输入数据时,只允许内部回读输出的信号,即允许反馈。
如:
在计数器的设计中,将计数器输出的计数信号回读,作为下一次计数的初值。
与OUT模式相比,BUFFER回读信号不是由外部输入的,而是由内部产生、向外输出信号。
即OUT结构体内部不能再使用,BUFFER结构体内部可再使用。
WITHsSELECT
others
2.SIGNALq:
INTEGERrange0to50;
CASEqISWHEN0TO15=>selv=”001”WHEN16TO50
=>sel<=”110”
ENDCASE;
4.什么是函数的重载?
举例说明
VHDL
LIBRARYIEEE;
允许以
USEIEEE.STD_LOGIC_1164.ALL;
相同的
PACKAGEpackexpIS
函数名
FUNCTIONmax(a,b:
IN
定义函
STD_LOGIC_VECTOR)
数,但要
RETURNSTD_LOGIC_VECTOR;
求函数
FUNCTIONmax(a,b:
IN
中定义
BIT_VECTOR)
的操作
RETURNBIT_VECTOR;
数具有
FUNCTIONmax(a,b:
IN
不同的
INTEGER)
数据类
RETURNINTEGER;
型,以便
END;
调用时
用以分
辨不同
功能的
同名函
数,以此
定义的
函数称
为重载
函数
7.Moore型状态机与Mealy型状态机有何区别从输出时序上看,前者属于同步输出状态机,而后者属于异步输出状态机。
Moore型状态机的输出仅为当前状态的函数,这类状态机在输入发生变化时还必须等待时钟的到来,时钟使状态发生变化后才导致输出的变化,所以比Mealy机要多等待一个时钟周期。
Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生,不依赖时钟的同步。
编程:
3-8译码器
8位移位寄存器
LIBRARYIEEE;
USE
IEEE.STD_LOGIC.
J1
64.ALL;
USE
IEEE.STD_LOGIC.
_U
NSIGNED.ALL;
ENTITYdec38IS
PORT(sel:
IN
STD_LOGIC_VECTO
R(2DOWNTO0);
en:
IN
STD_LOGIC;
y:
OUT
STD_LOGIC_VECTO
R(7DOWNTO0));ENDdec38;ARCHITECTUREOFdec38ISBEGINPROCESS(sel,en)BEGIN
rt1
LIBRARYIEEE;
USE
IEEE.STD_LOGIC
_11
64.ALL;
ENTITYshiftIS
PORT(clk,load:
IN
STD_LOGIC;
din:
IN
STD_LOGIC_VECTO
R(7DOWNTO0);
dout:
OUT
STD_LOGIC_VECTO
R(7DOWNTO0);
qb:
OUT
STD_LOGIC);
ENDshift;
ARCHITECTURE
behavOFshiftIS
SIGNAL
reg8:
STD_LOGIC_VECTO
R(7DOWNTO0);
BEGIN
IF(en='1')THENyv=(OTHERS=>'0');y(CONV_INTEGER(sel))v='1';
ENDIF;
ENDPROCESS;
ENDrt1;
PROCESS(clk,load)BEGIN
IFclk'EVENTANDclk='1'THEN
IFload='1'
THENreg8v=din;
ELSEreg8(6
DOWNTO0)v=reg8(7DOWNTO1);
ENDIF;
ENDIF;
ENDPROCESS;qbv=reg8(0);doutv=reg8;
ENDbehav;
USE
IEEE.STD_LOGIC_UNSI(ENTITYparity_checkNED.ALL;IS
DATA:
IN
ENDparity_check;
STD_L0GIC_VECT0R(4
■
DOWNTO0);
ARCHITECTURE
archOFparity_check
DOUT:
OUT
IS
STD_LOGIC_VECTOR(4
BEGIN
DOWNTO0);
PROCESS(a)
VARIABLE
COUT:
OUT
temp:
STD_LOGIC;
STD_LOGIC);
BEGIN
ENDENTITYCNT31;
temp:
='0';
ARCHITECTUREhavOF
FORiIN0TO7
CNT31IS
LOOP
BEGIN
temp:
=tempXORa(i);
PROCESS(CLK,RST,
ENDLOOP;
EN,LOAD)
yv=temp;
VARIABLEQ:
ENDPROCESS;
STD_LOGIC_VECTOR(4
ENDarch;
DOWNTO0);
BEGIN
IFRST='O'THEN
1
Q:
=(OTHERS=>'0');
ELSIFCLK'EVENTAND
CLK='1'THEN
IFEN='1'
THEN
IF
(LOAD='0')THE卜
Q:
=DATA;
ELSE
IFQ<
30THENQ:
=Q+1;
ELSE
Q:
=(OTHERS=>'0');
ENDIF;
END
IF;
ENDIF;
ENDIF;
IFQ=30THENCOUT<
'1';
ELSECOUT<='0';ENDIF;
DOUT<=Q;
J
ENDPROCESS;
ENDbehav;
编程实现下图所示的控制时序,K为输入信号;处于状态St2时输出信号yout='1其他状态下yout='。
(此题也会反过来考,给出程序要求画出对应时序图)
cs
input
n-s
output
stO
k=0
stO
0
k=1
st2
st1
k=0
st2
0
k=1
stO
st2
k=0
st2
1
k=1
stO
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYs_machineIS
PORT(clk,reset:
INSTD_LOGIC;
k:
INSTD_LOGIC_VECTOR(1DOWNTO
0);
comb_outputs:
OUT
STD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYs_machine;
ARCHITECTUREbehvOFs_machineIS
TYPEFSM_STIS(st0,st1,st2);
SIGNALcurrent_state,next_state:
FSM_ST;
BEGIN
REG:
PROCESS(reset,clk)BEGIN
IFreset='1'THENcurrent_state<=st0;--检测异步复位信号
ELSIFclk='1'ANDclk'EVENTTHEN
current_state<=next_state;
ENDIF;
ENDPROCESS;
COM:
PROCESS(current_state,state_Inputs)
--主控组合进程
BEGIN
CASEcurrent_stateIS
WHENst0=>comb_outputs<='0'
IFk='0'THENnext_state<=st0;
ELSEnext_state<=st2;
ENDIF;
WHENst1=>comb_outputs<='0';
IFstate_inputs='0'THEN
next_state<=st2;
ELSEnext_state<=st0;
ENDIF;
WHENst2=>comb_outputs<='1';
IFstate_inputs='0'THENnext_state<=
st2;
ELSEnext_state<=st0;
ENDIF;
ENDcase;
ENDPROCESS;
ENDbehv;
:
4位二进制加法计数器
JK
LIBRARYIEEE;
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
ENTITYjkff1IS
ENTITYcnt4IS
PORT(elk,j,k:
INSTD_LOGIC;
PORT(elk:
INSTD_LOGIC;
q,qn:
BUFFERSTD_LOGIC);
P:
INOUTSTD_LOGIC_VECTOR
(3
ENDjkff1;
DOWNTO0));
ARCHITECTUREhavOFjkff1IS
ENDent4;
BEGIN
ARCHITECTUREbehvOFent4IS
PROCESS(elk,j,k)
BEGIN
VARIABLED:
std_logic;
PROCESS(elk)
BEGIN
BEGIN
IF(elk'eventANDelk='1')THEN
IFelk='1'ANDelk'EVENTTHEN
IF(j='1'ANDk='0')THEN
D:
='1';
Pv=CONV_STD_LOGIC_VECTOR(CONV_INTEGER(P)
ELSIF(j='0'ANDk='1')THEN
+1,4);
D:
='0';
ENDIF
ELSIF(j='0'ANDk='0')THEN
ENDPROCESS;
D:
=D;
ENDbehv;(利用IF多选择语句自顶向下的优先特性。
ELSE
LIBRARYIEEE;
D:
=NOTD;
USEIEEE.STD_LOGIC_1164.ALL;
ENDIF;
ENTITYpriority83IS
ENDIF;
PORT(y0,y1,y2,y3,y4,y5,y6,y7:
INSTD_LOGIC;
qv=D;qnv=NOTD;
vee:
OUTSTD_LOGIC_VECTOR
(2
ENDPROCESS;
DOWNTO0));
ENDhav;(下面门电路)
ENDpriority83;
LIBRARYIEEE;
ARCHITECTUREbehaviorOFpriority83IS
USEIEEE.STD_LOGIC_1164.ALL
BEGIN
ENTITYgateIS
PROCESS(y0,y1,y2,y3,y4,y5,y6,y7)
PORT(a,b:
INSTD_LOGIC;
BEGIN
IF(y7='1')THENveev="111";
yand,yor,ynand,ynor,ynot,yxor);
ELSIF(y6='1')THENveev="110";
ENDgate;
ELSIF(y5='1')THENveev="101";
ARCHITECTUREartOFgateIS
ELSIF(y4='1')THENveev="100";
BEGIN
ELSIF(y3='1')THENveev="011";
yandv=aANDb;
ELSIF(y2='1')THENveev="010";
yorv=aORb;
ELSIF(y1='1')THENveev="001";
ynandv=aNANDb;
ELSIF(y0='1')THENveev="000";
ynorv=aNORb;
ELSEveev=“XXX";
ynotv=NOTb;
ENDIF;
yxorv=aXORb;
ENDPROCESS;
ENDart;
ENDbehavior;
17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 考试 题目 答案