EDA技术使用教程课后答案(第三版)潘松版1

2026/1/14 23:52:28

QQ<=(OTHERS=>‘0’);ENDIF;ENDPROCESS;Q1<=QQ;END;

………………………(2)电平触发复位信号…………………….

ARCHITECTUREbhv0FDFF3ISSIGNALQQ: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=lthenB<=A;endif;--将“B<=A”改成“B:=A”endprocess;程序2:

Architectureoneofsampleisvariablea,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”architectureoneofmux2lisbegin

--增加“process(a,b,sel)begin”

ifsel='0'thenc:=a;elsec:=b;endif;--应改成“ifsel='0'thenc<=a;elsec<=b;endif;”

endtwo;

--增加“endprocess;”

--将“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'THENC_ST<=N_ST;ENDIF;

ENDPROCESSREG;

COM:PROCESS(C_ST,DATAIN)BEGIN

CASEC_STIS

WHENST0=>IFDATAIN=\THENN_ST<=ST1;

ELSEN_ST<=ST0;ENDIF;Q<=\

WHENST1=>IFDATAIN=\THENN_ST<=ST2;

ELSEN_ST<=ST1;ENDIF;Q<=\

WHENST2=>IFDATAIN=\THENN_ST<=ST3;

ELSEN_ST<=ST0;ENDIF;Q<=\

WHENST3=>IFDATAIN=\THENN_ST<=ST4;

ELSEN_ST<=ST2;ENDIF;Q<=\

WHENST4=>IFDATAIN=\THENN_ST<=ST0;

ELSEN_ST<=ST3;ENDIF;Q<=\;

WHENOTHERS=>N_ST<=ST0;

ENDCASE;

ENDPROCESSCOM;ENDbehav;

8-2为确保例8-5(2进程Mealy型状态机)的状态机输出信号没有毛刺,试用例8-4的方式构成一个单进程状态,使输出信号得到可靠锁存,在相同输入信号条件下,给出两程序的仿真波形。--解:【例8-5】改写如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;ENTITYMEALY1IS

PORT(CLK,DATAIN,RESET:INSTD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(4DOWNTO0));

ENDMEALY1;

ARCHITECTUREbehavOFMEALY1IS

TYPEstatesIS(st0,st1,st2,st3,st4);SIGNALSTX:states;BEGIN

PROCESS(CLK,RESET)--单一进程BEGIN

IFRESET='1'THENSTX<=ST0;

ELSIFCLK'EVENTANDCLK='1'THENCASESTXIS

WHENst0=>IFDATAIN='1'THENSTX<=st1;ENDIF;

IFDATAIN='1'THENQ<=\ELSEQ<=\;ENDIF;

WHENst1=>IFDATAIN='0'THENSTX<=st2;ENDIF;

IFDATAIN='0'THENQ<=\ELSEQ<=\;ENDIF;

WHENst2=>IFDATAIN='1'THENSTX<=st3;ENDIF;

IFDATAIN='1'THENQ<=\ELSEQ<=\;ENDIF;

WHENst3=>IFDATAIN='0'THENSTX<=st4;ENDIF;

IFDATAIN='0'THENQ<=\ELSEQ<=\ENDIF;

WHENst4=>IFDATAIN='1'THENSTX<=st0;ENDIF;

IFDATAIN='1'THENQ<=\ELSEQ<=\ENDIF;

WHENOTHERS=>STX<=st0;Q<=\ENDCASE;ENDIF;ENDPROCESS;ENDbehav;

图8-6控制ADC0809采样状态图

--【例8-2】根据图8-6状态图,采用Moore型状态机,设计ADC0809采样控制器。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;ENTITYADCINTIS

PORT(D:INSTD_LOGIC_VECTOR(7DOWNTO0);--来自0809转换好的8位数据

CLK:INSTD_LOGIC;--状态机工作时钟EOC:INSTD_LOGIC;--转换状态指示,低电平表示正在转换ALE:OUTSTD_LOGIC;--8个模拟信号通道地址锁存信号START:OUTSTD_LOGIC;--转换开始信号

OE:OUTSTD_LOGIC;--数据输出三态控制信号ADDA:OUTSTD_LOGIC;--信号通道最低位控制信号LOCK0:OUTSTD_LOGIC;--观察数据锁存时钟

Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位数据输出ENDADCINT;

ARCHITECTUREbehavOFADCINTIS

TYPEstatesIS(st0,st1,St2,st3,st4);--定义各状态子类型SIGNALcurrent_state,next_state:states:=st0;SIGNALREGL:STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALLOCK:STD_LOGIC;--转换后数据输出锁存时钟信号BEGIN

ADDA<='1';--当ADDA<='0',模拟信号进入通道IN0;当ADDA<='1',则进入通道INIQ<=REGL;LOCK0<=LOCK;

COM:PROCESS(current_state,EOC)BEGIN--规定各状态转换方式CASEcurrent_stateIS

WHENst0=>ALE<='0';START<='0';LOCK<='0';OE<='0';

next_state<=st1;--0809初始化

WHENst1=>ALE<='1';START<='1';LOCK<='0';OE<='0';

next_state<=st2;--启动采样

WHENst2=>ALE<='0';START<='0';LOCK<='0';OE<='0';

IF(EOC='1')THENnext_state<=st3;--EOC=1表明转换结束ELSEnext_state<=st2;ENDIF;--转换未结束,继续等待

WHENst3=>ALE<='0';START<='0';LOCK<='0';OE<='1';

next_state<=st4;--开启OE,输出转换好的数据


EDA技术使用教程课后答案(第三版)潘松版1.doc 将本文的Word文档下载到电脑
搜索更多关于: EDA技术使用教程课后答案(第三版)潘松版1 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219