VHDL复习题(4)

2019-03-28 13:48

BEGIN

SEL<=B&A;

PROCESS(INP,SEC) IS BEGIN

IF(SEL=\; ELSIF (SEL=\; ELSIF (SEL=\;

ELSE Y<=INP(3); END IF; END PROCESS;

END ARCHITECTURE ART;

4.三态门及总线缓冲器

三态门和总线缓冲器是驱动电路经常用到的器件。 2) 单向总线驱动器

在微型计算机的总线驱动中经常要用单向总线缓冲器,它通常由多个三态门组成,用来驱动地址总线和控制总线。一个8位的单向总线缓冲器。

TRI_BUF8ENDIN[7..0]ENDOUT[7..0]DIN[7..0]

【例3.9.8】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRI_BUF8 IS

PORT (DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); EN:IN STD_LOGIC;

DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ENTITY TRI_BUF8;

ARCHITECTURE ART OF TRI_BUF8 IS BEGIN

PROCESS(EN,DIN) IS BEGIN

IF(EN=‘1’)THEN DOUT<=DIN;

ELSE DOUT<=\; END IF;

END PROCESS;

END ARCHITECTURE ART; 3) 双向总线缓冲器

双向总线缓冲器用于数据总线的驱动和缓冲,典型的双向总线缓冲器。图中

DOUT[7..0]的双向总线缓冲器有两个数据输入/输出端A和B,一个方向控制端DIR和一个选通端EN。EN=0时双向缓冲器选通。若DIR=0,则A=B,反之则B=A。

BIDIRENDIRA[7..0]ENDIRA[7..0]

【例3.9.9】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY BIDIR IS

PORT(A,B:INOUTSTD_LOGIC_VECTOR(7 DOWNTO 0); EN,DIR:IN STD_STD_LOGIC); END ENTITY BIDIR;

ARCHITECTURE ART OF BIDIR IS

SIGNA AOUT,BOUT: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

PROCESS(A,EN,DIR) IS --A为输入 BEGIN

IF((EN=‘0’)AND (DIR=‘1’))THEN BOUT<=A; ELSE BOUT<=\; END IF ;

B<=BOUT; --B为输出 END PROCESS;

PROCESS(B,EN,DIR) IS --B为输入 BEGIN

IF((EN=‘0’)AND (DIR=‘1’))THEN AOUT<=B; ELSE AOUT<=\; END IF ;

A<=AOUT; --A为输出 END PROCESS;

END ARCHITECTURE ART;

5. 时序逻辑电路设计

本节的时序电路设计主要有触发器、寄存器、计数器、序列信号发生器和序列信号检测器等的设计实例。 1.触发器

1) D触发器 【例3.9.10】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

B[7..0]B[7..0]ENTITY DCFQ IS

PORT(D,CLK:IN STD_LOGIC; Q:OUT STD_LOGIC); END ENTITY DCFQ;

ARCHITECTURE ART OF DCFQ IS BEGIN

PROCESS(CLK) IS BEGIN

IF (CLK'EVENT AND CLK=‘1’)THEN

Q<=D; END IF;

END PROCESS;

END ARCHITECTURE ART;

4) JK触发器 【例3.9.13】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY JKCFQ IS

PORT(J,K,CLK:IN STD_LOGIC; Q,QB:BUFFER STD_LOGIC); END ENTITY JKCFQ;

ARCHITECTURE ART OF JKCFQ IS SIGNA Q_S,QB_S:STD_LOGIC; BEGIN

PROCESS(CLK,J,K) IS BEGIN

IF (CLK'EVENT AND CLK=‘1’)THEN IF(J=‘0’ AND K=‘1’) THEN Q_S<=‘0’; QB_S<=‘1’;

ELSIF (J=‘1’ AND K=‘0’) THEN Q_S<=‘1’; QB_S<=‘0’;

ELSIF (J=‘1’ AND K=‘1’) THEN Q_S<=NOT Q_S;

QB_S<=NOT QB_S; END IF; END IF ; Q<=Q_S; QB<=QB_S; END PROCESS;

END ARCHITECTURE ART;

-- 时钟上升沿触发

6. 触发器的同步和非同步复位

触发器的初始状态应由复位信号来设置。按复位信号对触发器复位的操作不同,可以分为同步复位和非同步复位两种。所谓同步复位,就是当复位信号有效且在给定的时钟边沿到来时,触发器才被复位;非同步复位,也称异步复位,则是当复位信号有效时,触发器就被复位,不用等待时钟边沿信号。下面以D触发器为例分别予以举例。 1) 非同步复位/置位的D触发器 【例3.9.14】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ASYNDCFQ IS

PORT(CLK,D,PRESET,CLR:IN STD_LOGIC;

Q:OUT STD_LOGIC); END ENTITY ASYNDCFQ;

ARCHITECTURE ART OF ASYNDCFQ IS BEGIN

PROCESS(CLK,PRESET,CLR) IS BEGIN

IF(PRESET='1')THEN --置位信号为1,则触发器被置位 Q<='1';

ELSIF(CLR='1')THEN --复位信号为1,则触发器被复位 Q<='0';

ELSIF(CLK'EVENT AND CLK=‘1’)THEN Q<=D; END IF; END PROCESS;

END ARCHITECTURE ART; 2) 同步复位的D触发器 【例3.9.15】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY SYNDCFQ IS

PORT(D, CLK,RESET:IN STD_LOGIC;

Q:OUT STD_LOGIC); END ENTITY SYNDCFQ;

ARCHITECTURE ART OF SYNDCFQ IS BEGIN

PROCESS(CLK) IS BEGIN

IF(CLK'EVENT AND CLK=‘1’)THEN IF(PRESET=‘0’)THEN

Q<=‘0’; --时钟边沿到来且有复位信号,触发器被复位 ELSE Q<=D;

END IF; END IF;

END PROCESS;

END ARCHITECTURE ART; 7. 计数器

计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。 1) 同步计数器

下面是一个模为60,具有异步复位、同步置数功能的8421BCD码计数器。 【例3.9.18】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNTM60 IS

PORT(CI:IN STD_LOGIC; --计数控制

NRESET:IN STD_LOGIC; --异步复位控制 LOAD:IN STD_LOGIC; --置数控制 D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC;

CO:OUT STD_LOGIC; --进位输出

QH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); --输出高4位 QL:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); --输出低4位 END ENTITY CNTM60; ARCHITECTURE ART OF CNTM60 IS BEGIN

CO<=‘1’WHEN(QH=\ QL=\‘1’)ELSE'0'; --进位输出的产生 PROCESS(CLK,NRESET) IS BEGIN

IF(NRESET=‘0’)THEN --异步复位

QH<=\; QL<=\;

ELSIF(CLK'EVENT AND CLK=‘1’)THEN --同步置数 IF(LOAD=‘1’)THEN

QH<=D(7 DOWNTO 4); Q L<=D(3 DOWNTO 0); ELSIF(CI=‘1’)THEN --模60的实现 IF(QL=9)THEN

QL<=\; IF(QH=5)THEN

QH<=\;

ELSE --计数功能的实现

QH<=QH+1;

END IF;


VHDL复习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建省大学生志愿服务欠发达地区计划2 0 1 0年实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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