发布时间 : 星期五 文章EDA技术实用教程课后答案 - -潘松版更新完毕开始阅读2770298b998fcc22bcd10db6
PROCESS(RST)
BEGIN
IF RST’EVENTANDRST=‘1' THEN
----------------------- Page 13----------------------- QQ<=(OTHERS=>‘0’);
ENDIF;
ENDPROCESS;
Q1<=QQ;
END;
………………………
(2)电平触发复位信号
…………………….
ARCHITECTUREbhv0FDFF3IS
SIGNALQQ:STD_LOGIC; BEGIN
PROCESS(CLK)
BEGIN
IFRST=‘1'THEN
QQ<=(OTHERS=>‘0’); ENDIF;
ENDPROCESS;
Q1<=QQ;
END;
………………………
6-7 什么是重载函数?重载算符有何用处?如何调用重载算符函数?
答:(1)什么是重载函数? 根据操作对象变换处理功能。
(2)重载算符有何用处? 用于两个不同类型的操作数据自动转换成同种数据类型,并进行运算处理。
(3)如何调用重载算符函数?采用隐式方式调用,无需事先声明。
6-8 判断下面三个程序中是否有错误,若有则指出错误所在,并给出完整程序。 程序1:
SignalA,EN: std_logic;
…………………
Process(A,EN)
VariableB:std_logic; Begin
ifEN=lthen B<=A; endif; --将“B<=A”改成“B:=A”
endprocess;
程序2:
Architectureoneofsampleis variablea,b,c:integer;
begin
c<=a+b; --将“c<=a+b”改成“c:=a+b”
end;
程序3: libraryieee;
useieee.std_logic_1164.all;
entitymux21is
PORT(a,b:instd_logic;sel:instd_loglc;c:outstd_logle;); --将“;)”改成“)”
endsam2; --将“sam2”改成“entitymux21”
architectureoneofmux2lis
begin
--增加“process(a,b,sel)begin”
ifsel='0'thenc:=a;elsec:=b;endif; --应改成“ifsel='0'thenc<=a;elsec<=b;endif;”
----------------------- Page 14----------------------- --增加“endprocess;”
endtwo; --将“two”改成“architectureone”
7-2LPM_ROM、LPM_RAM、LPM_FIFO等模块与FPGA中嵌入的EAB、ESB、M4K有怎样的联系?
答:ACEXlK系列为EAB;APEX20K系列为ESB;Cyclone系列为M4K
第八章
8-1仿照例8-1,将例8-4单进程用两个进程,即一个时序进程,一个组合进程表达出来。
--解:【例8-4】的改写如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMOORE1IS
PORT(DATAIN:INSTD_LOGIC_VECTOR(1DOWNTO0);
CLK,RST:INSTD_LOGIC;
Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDMOORE1;
ARCHITECTUREbehavOFMOORE1IS
TYPEST_TYPEIS(ST0,ST1,ST2,ST3,ST4);
SIGNALC_ST,N_ST:ST_TYPE;
BEGIN
REG:PROCESS(CLK,RST)
BEGIN
IFRST='1'THENC_ST<=ST0; --Q<=\
ELSIFCLK'EVENTANDCLK='1'THEN
C_ST<=N_ST;
ENDIF;
ENDPROCESSREG;
COM:PROCESS(C_ST,DATAIN)
BEGIN
CASEC_STIS
WHENST0=>IFDATAIN=\
ELSEN_ST<=ST0;ENDIF; Q<=\
WHENST1=>IFDATAIN=\
ELSEN_ST<=ST1;ENDIF;
Q<=\
WHENST2=>IFDATAIN=\ ELSEN_ST<=ST0;ENDIF;
Q<=\
WHENST3=>IFDATAIN=\
ELSEN_ST<=ST2;ENDIF;
Q<=\
WHENST4=>IFDATAIN=\
ELSEN_ST<=ST3;ENDIF;
Q<=\
WHENOTHERS=>N_ST<=ST0;