第5章〓锁存器和触发器 5.1学习要点 1. 锁存器 锁存器(Latch)是一种对脉冲电平敏感的双稳态电路,具有0或1两个稳定状态; 一旦状态被确定,就能自行保持; 直到有外部特定输入脉冲电平作用在逻辑电路一定位置时,才能改变状态。锁存器可用于置入和存储1位二进制数据。 图511基本SR锁存器 逻辑电路 1) 基本SR锁存器 基本SR锁存器由两个或非门首尾相接构成,如图511所示。 2) 门控SR锁存器 引入同步信号,使这些锁存器只有在同步信号到达时才按输入信号改变状态。通常把这一同步信号称作时钟脉冲,或时钟信号,用CP(Clock Pulse)或CLK表示。这种受时钟控制的锁存器称为门控锁存器或同步锁存器,以区别于基本SR锁存器。门控SR锁存器如图512所示。 图512门控SR锁存器 门控SR锁存器的特性方程为 Qn+1=S+Qn SR=0 图513为SR锁存器的状态转换图,状态转换图形象地描述了锁存器状态变化的过程。 3) 门控D锁存器 门控D锁存器如图514所示。 图513门控SR锁存器的状态转换图 图514门控D锁存器 表511是门控D锁存器的特性表。 表511门控D锁存器的特性表 CP D Qn Qn+1 0 × 0 0 0 × 1 1 1 0 × 0 1 1 × 1 由表511门控D锁存器的特性表的逻辑关系,当CP=1时,将D锁存器次态写成逻辑函数式,得D锁存器的特性方程为 Qn+1=D 门控D锁存器的状态转换图如图515所示。 图515门控D锁存器的状态 转换图 2. 触发器 触发器(FlipFlop)是具有记忆功能的、能够存储1位二值信号的基本逻辑电路,具有0或1两个稳定状态,对时钟信号边沿敏感,其状态只在时钟信号上升沿或下降沿瞬间改变。 1) 维持阻塞D触发器 维持阻塞D触发器的逻辑电路和逻辑符号如图516所示,也就是集成D触发器74LS74。SET是异步置1输入端、CLR异步置0输入端,低电平有效; D为数据输入端,CP为时钟输入端; Q和为输出端。 表512是维持阻塞D触发器特性表,在CP上升沿时,特性方程为Qn+1=D。 表512维持阻塞D触发器特性表 CLR SET CP D Qn+1 0 1 × × 0 1 0 × × 1 1 1 ↑ 0 0 1 1 ↑ 1 1 图516维持阻塞D触发器 表513是D触发器激励表。 表513D触发器激励表 Qn → Qn+1 D 0 0 0 0 1 1 1 0 0 1 1 1 2) 负边沿JK触发器 负边沿JK触发器的逻辑电路和逻辑符号如图517所示,也就是集成JK触发器74LS76。 图517负边沿JK触发器 表514是负边沿JK触发器特性表,在CP下降沿时,特性方程为Qn+1=JQn+Qn。 表514负边沿JK触发器特性表 CLK J K Qn Qn+1 功能 ↓0 0 0 0 保持 ↓ 0 0 1 1 ↓ 0 1 0 0 置0 ↓ 0 1 1 0 ↓ 1 0 0 1 置1 ↓ 1 0 1 1 ↓ 1 1 0 1 翻转 ↓ 1 1 1 0 JK触发器的状态转换图如图518所示。 图518JK触发器的状态转换图 3) SR触发器 时钟信号上升沿触发的SR触发器逻辑符号如图519所示,SR触发器的特性方程为 Qn+1=S+Qn SR=0 图519SR触发器逻辑 符号 4) T触发器 T触发器有一个控制信号T,当T信号为1时,触发器每来一个时钟脉冲,T触发器就翻转一次,当T信号为0时,触发器状态保持不变。因此,当T=1时,T触发器可以记录时钟脉冲的个数。图5110表示了上升沿触发的T触发器图形符号,T触发器的特性表如表515所示。 根据特性表的逻辑关系,T触发器的特性方程为 Qn+1=Qn+TQn T触发器的状态转换图如图5111所示。 表515T触发器特性表 T Qn Qn+1 0 0 0 0 1 1 1 0 1 1 1 0 图5110T触发器图形符号 图5111T触发器状态转换图 如果T触发器的输入T接高电平,则特性方程为 Qn+1=Qn 时钟脉冲每触发一次,触发器状态翻转一次,这种特殊的T触发器称为T′触发器。 5.2例题解析 例51由与非门构成的基本SR锁存器如图521所示,编写实现图521的Verilog源程序; 如果ModelSim仿真输入波形如图522所示,画出输出Q和Qn波形。 图521例51逻辑图 图522例51仿真输入波形 解: 由逻辑电路图521编写的Verilog源程序见图523。 图523例51 Verilog源程序 由图522编写的Verilog仿真源程序见图524。仿真结果见图525,其中,Sdn为低有效的置位输入,当Sdn=0时,Q=1; 输入S=1时,Q=1; 输入R=1时,Q=0。当S=1同时R=1,输出Q=1、Qn=1,Q与Qn互为反变量关系被破坏。 图524例51 Verilog仿真源程序 例52阅读如图526所示的Verilog源程序,根据图527的输入波形,编写Verilog仿真源程序,得到仿真结果,说明其实现的功能。 图525例51仿真结果 图526例52 Verilog源程序 图527例52输入波形 解: 由如图526所示的Verilog源程序可知,CLRn是清零输入,低电平有效; 时钟CP是下降沿有效,特性方程为Qn+1=JQn+Qn。 由图527波形,写出Verilog仿真源程序见图528。仿真结果见图529。 图528例52 Verilog仿真源程序 图529例52仿真结果 由如图529所示的仿真波形可知,时钟是下降沿有效; 当J=0、K=0时,Qn+1保持原状态; 当J=1、K=1时,Qn+1=Qn; 当J=1、K=0时,Qn+1=1; 当J=0、K=1时,Qn+1=0。验证了JK触发器的特性方程。该逻辑电路的功能是具有清零端的、下降沿有效的JK触发器。 图5210例53逻辑电路 例53由D触发器组成的电路如图5210所示,CP、A和B波形如图5211所示,画出D触发器的输出波形Q。 解: 由图5210可知,D触发器在CP上升沿时,Qn+1=D=AQn; 当B=0时,触发器被置1。由图5211已知波形,可以得到D触发器的输出波形Q,如图5212所示。 图5211例53输入波形 图5212例53输出波形 5.3习题解答 51图531(a)是由或非门组成的基本SR锁存器,输入端S、R波形如图531(b)所示,画出输出端Q的波形; 并用ModelSim验证输出Q波形的正确性。 解: 由图531(a)或非门构成的基本SR锁存器,以及输入端S、R波形,可以画出Q和的波形如图532所示。根据图531(a)的逻辑电路编写的Verilog源程序见图533,仿真源程序见图534,仿真结果见图535。对比图532与图534,可见输出波形是一致的。 图531习题51逻辑图 图532习题51波形图 图533习题51 Verilog源程序 图534习题51 Verilog仿真源程序 图535习题51 ModelSim仿真结果 52在如图536(a)所示的门控SR锁存器中,CP、S、R的波形如图536(b)所示,试画出输出Q的波形; 并用ModelSim验证输出Q波形的正确性。 图536习题52逻辑图 解: 由如图536(a)所示的门控SR锁存器逻辑图,以及如图536(b)所示的CP、S、R波形,可画出Q的波形如图537所示。 根据如图536(a)所示的逻辑电路编写的Verilog源程序见图538,仿真源程序见图539,仿真结果见图5310。对比图537与图5310,可见输出波形是一致的。 53试分析如图5311所示的时序逻辑电路的功能,写出Qn+1方程。 解: (a) 由图5311(a)可知,S=AQn,R=BQn,由特性方程Qn+1=S+Qn可得 Qn+1=S+Qn=AQn+BQnQn=AQn+Qn 图537习题52波形图 图538习题52 Verilog源程序 图539习题52 Verilog仿真源程序 图5310习题52 ModelSim仿真结果 图5311习题53逻辑电路 (b) 由图5311(b)可知,S=CQn,R=DQn,由特性方程Qn+1=S+Qn可得 Qn+1=S+Qn=CQn+DQnQn=CQn+Qn+Qn=CQn+Qn=C+Qn 54由与非门构成的基本SR锁存器如图5312(a)所示,输入信号S、R的波形见图5312(b),画出输出Q的波形(设Q初始状态为0)。 解: 由如图5312(a)所示的与非门构成的基本SR锁存器逻辑图,以及如图5312(b)所示的S、R波形,可画出Q的波形如图5313所示。 图5312习题54逻辑图 图5313习题54波形图 55时钟脉冲CP及输入信号R、S的波形见图5314,画出门控SR锁存器输出Q的波形(设Q初始状态为1); 并用ModelSim验证输出Q波形的正确性。 图5314习题55输入波形 解: 由如图5314所示的时钟脉冲CP及输入信号R、S的波形,画出门控SR锁存器输出初始状态为1的Q波形,见图5315。 图5315习题55输出波形 为了使门控SR锁存器的初始状态为1,需要添加低有效的置位输入端SETn,逻辑图见图5316。由逻辑图编写的Verilog源程序见图5317,Verilog仿真源程序见图5318,仿真结果见图5319。 图5316习题55逻辑图 图5317习题55 Verilog源程序 图5318习题55 Verilog仿真源程序 图5319习题55仿真结果 图5320习题56逻辑图 56试写出如图5320所示电路的输入信号和门控SR锁存器输出Q之间的逻辑关系。 解: 由图5320可知S=A,R=,由特性方程Qn+1=S+Qn可得 Qn+1=S+Qn=A+AQn=A 该逻辑关系实现了D锁存器,输入信号为A。 57试写出如图5321所示电路的输入信号和SR锁存器输出Q之间的逻辑关系。 图5321习题57逻辑图 解: 由图5321可知S=AQn,R=BQn,由特性方程Qn+1=S+Qn可得 Qn+1=S+Qn=AQn+BQnQn =+Qn+BQn=+Qn 58图5322(a)是D和JK触发器应用电路,图5322(b)是时钟CP、复位CLR和输入D的波形,画出输出Q1和Q2波形。并用ModelSim验证输出Q1和Q2波形的正确性。 图5322习题58逻辑图 图5323习题58波形图 解: 由图5322(a)可知,当CLR=0时,Q1和Q2为0; 当CLR=1时,在CP时钟上升沿,Qn+11=D; 在CP时钟下降沿,Qn+12=JQn2+Qn2=Qn2+Qn1Qn2=Qn1+Qn2=Qn1Qn2。 根据图5322(b)给出的CP、CLR和D波形,可得到Q1和Q2的波形如图5323所示。 由逻辑图编写的Verilog源程序见图5324,Verilog仿真源程序见图5325,仿真结果见图5326。 59由维持阻塞D触发器构成的时序电路如图5327(a)所示,输入信号A及时钟CP波形如图5327(b)所示,触发器初始状态Q1Q0为00; 考虑门电路的传输延时时间,画出触发器输出Q1、Q0以及输出Z1、Z0的波形。 图5324习题58 Verilog源程序 图5325习题58 Verilog仿真源程序 图5326习题58仿真结果 解: 由如图5327(a)所示的逻辑电路可知,在CP时钟上升沿,Qn+10=A,Qn+11=Qn0; 输出Z0=Qn1Qn0,Z1=Qn1Qn0。根据图5327(b)给出的输入A及CP波形,可以得到在考虑门电路的传输延时时间的Q0、Q1及Z0、Z1的输出波形,见图5328。 由图5327(a)的逻辑图编写的Verilog源程序见图5329,在与非门出加2ns延时; 在D触发器的逻辑门加1ns延时; 为了得到触发器初始状态Q1Q0为00,需要添加低有效的清零输入CLR。Verilog仿真源程序见图5330,仿真结果见图5331。 图5327习题59逻辑图 图5328习题59波形图 图5329习题59 Verilog源程序 图5330习题59 Verilog仿真源程序 图5331习题59仿真结果 510由负边沿JK触发器构成的时序电路如图5332(a)所示,清零信号CLR及时钟CP波形如图5332(b)所示,触发器初始状态Q1Q0为11; 画出触发器输出Q1、Q0以及输出Z波形。 图5332习题510逻辑图 解: 由图5332(a)所示的电路可知: 当CLR=0时,Q1=Q2=0; 当CLR=1时,在CP下降沿,Qn+10=J0Qn0+K0Qn0=Qn0+Qn0Qn0=1; 在CP上升沿,Qn+11=J1Qn1+K1Qn1=Qn1+Qn1Qn1=1; 输出方程为Z=Qn1Qn0=Qn1+Qn0。 根据5332(b)给出的输入波形,可得Q0、Q1和Z的波形如图5333所示。 由图5332(a)的逻辑图编写的Verilog源程序见图5334,为了得到触发器初始状态Q1Q0为11,需要添加低有效的置位输入SET。Verilog仿真源程序见图5335,仿真结果见图5336。 图5333习题510波形图 图5334习题510 Verilog源程序 图5335习题510 Verilog仿真源程序 图5336习题510仿真结果 511由负边沿JK触发器构成的时序电路如图5337(a)所示,时钟CP波形如图5337(b)所示,触发器初始状态Q1Q0为00; 画出触发器输出Q1、Q0以及输出Z波形。 图5337习题511逻辑图 解: 由如图5337所示的逻辑电路可知: 在CP下降沿,Qn+10=J0Qn0+K0Qn0=Qn0; 在Q0下降沿,Qn+11=J1Qn1+K1Qn1=Qn1; 输出方程为Z=Qn1Qn0。根据图5337(b)给出的输入CP波形,可得Q0、Q1和Z的波形如图5338所示。 512由维持阻塞D触发器构成的时序电路如图5339(a)所示,清零信号CLR及时钟CP0、CP1波形如图5339(b)所示,触发器初始状态Q1Q0为11; 画出触发器输出Q1、Q0波形。 图5338习题511波形图 图5339习题512逻辑图 解: 由如图5339(a)所示的逻辑电路可知: 当CLR=0时,Q1和Q2为0; 当CLR=1时,在CP0上升沿,Qn+10=Qn1,在CP1上升沿,Qn+11=Qn0。 根据图5339(b)给出的输入波形可得Q0、Q1的波形如图5340所示。 图5340习题512波形图 513将如图5341所示的波形分别加到正边沿JK触发器以及负边沿JK触发器,设触发器初始状态为0,试分别画出输出Q波形。 图5341习题513逻辑图 解: (1) 对于正边沿JK触发器: 在时钟CP的上升沿,Qn+11=JQn1+Qn1,根据图5341给出的输入波形,可得如图5342所示的Q1输出波形。 (2) 对于负边沿JK触发器: 在CP时钟的下降沿,Qn+12=JQn2+Qn2,根据图5341给出的输入波形,可得如图5342所示的Q2输出波形。 图5342习题513波形图 514有一个下降沿触发的D触发器,试画出在如图5343所示的CP脉冲和输入D信号的作用下,画出输出端Q的波形。设D触发器的初始状态为0。 图5343习题514逻辑图 解: 由时钟下降沿有效的D触发器的特性可知,Qn+1=D,根据图5343给出的输入波形,可得输出端Q的波形如图5344所示。 图5344习题514波形图 515已知负边沿JK触发器的时钟CP,以及输入J、K的波形如图5345所示; 试画出输出Q的波形。设触发器初始状态为1。 解: 在CP时钟下降沿,Qn+1=JQn+Qn,根据如图5345所示的输入波形,可画出输出Q的波形如图5346所示。 图5345习题515逻辑图 图5346习题515波形图 图5347习题516逻辑图 516试写出如图5347所示时序电路的输入信号和触发器输出Q之间的逻辑关系。 解: 由图5347可知,D=QnBQn,根据D触发器的特性方程Qn+1=D,在CP上升沿,Qn+1=QnBQn=Qn+BQn。 517由D触发器构成的时序电路如图5348所示,触发器初始状态Q1Q0为00; 画出触发器在时钟信号CP作用下的Q1、Q0输出波形。 解: 由图545所示时序逻辑电路可知,在CP上升沿,Qn+10=D0=Qn1,Qn+11=D1=Qn0。由状态方程画出Q0和Q1的输出波形如图5349所示。 图5348习题517逻辑图 图5349习题517波形图 518由D触发器和基本SR锁存器构成的时序电路如图5350(a)所示,输入信号A及时钟CP波形如图5350(b)所示,触发器初始状态Q为1; 画出基本SR锁存器输出B和触发器输出Q的波形。 图5350习题518逻辑图 解: 由如图5350(a)所示的电路可知,电路由与非门构成的基本SR锁存器以及D触发器构成,设与非门构成的基本SR锁存器输出为B,D触发器的输出信号为Q,则在CP上升沿,Qn+1=D。根据图5350(b)给出的输入,可得B、Q的输出波形如图5351所示。 图5351习题518波形图 519由负边沿D触发器构成的时序电路如图5352(a)所示,清零信号CLR及时钟CP0、CP1波形如图5352(b)所示,触发器初始状态Q1Q0为00; 画出触发器的Q1、Q0输出波形。 解: 由图5352(a)可知,当CLR=0时,Q0=0、Q1=0。当CLR=1时,在CP0下降沿,Qn+10=D0=Qn1; 在CP1下降沿,Qn+11=D1=Qn0。根据图5352(b)给出的输入波形,可以得到Q0、Q1的波形如图5353所示。 图5352习题519逻辑图 图5353习题519波形图 520由负边沿D触发器构成的时序电路如图5354(a)所示,输入信号A及时钟CP波形如图5354(b)所示,触发器初始状态Q1Q0为00; 画出输出Z和触发器输出Q0、Q1波形。 图5354习题520逻辑图 解: 由如图5354(a)所示的逻辑电路可知,在CP下降沿,Qn+10=D0=A,Qn+11=D1=Qn0; 输出方程为Z=Qn0Qn1=Qn0+Qn1。根据图5354(b)给出的输入波形,可得触发器输出Q0、Q1波形和输出Z的波形,如图5355所示。 521阅读如图5356所示的Verilog源程序,画出该逻辑电路的逻辑图,并说明该逻辑电路的逻辑功能; 按照图5357给出的输入波形,画出输出波形,并说明该电路存在的问题。 图5355习题520波形图 图5356习题521 Verilog源程序 图5357习题521波形图(一) 解: 由如图5356所示的Verilog源程序,可以画出该逻辑电路的逻辑图,见图5358; 该逻辑电路的逻辑功能是具有置位端的门控JK锁存器。 按照图5357给出的输入波形,画出输出波形,见图5359。该电路存在的问题是在输出Sn和Rn均为0时,输出Q和Qn出现问题,不是互为反变量。 图5358习题521逻辑图 图5359习题521波形图(二) 522阅读如图5360所示的Verilog源程序,画出该逻辑电路的逻辑图,并说明该逻辑电路的逻辑功能; 按照图5361给出的输入波形,画出输出波形。 图5360习题522 Verilog源程序 图5361习题522波形图 解: 由如图5360所示的Verilog源程序,可以画出该逻辑电路的逻辑图,见图5362; 该逻辑电路的逻辑功能是具有置位端的JK触发器。 图5362习题522逻辑图 按照图5361给出的输入波形,画出输出波形,见图5363。 图5363习题522波形图