寄存器触发器锁存器区别及联系Word文档下载推荐.docx
《寄存器触发器锁存器区别及联系Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《寄存器触发器锁存器区别及联系Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
然而在计算阶段,打印机又无事可做。
如果设置一个缓冲区,程序可以将待输出的数据先输出到缓冲区中,然后继续执行;
而打印机那么可以从缓冲区取出数据慢慢打印。
1.4存放器和锁存器的区别
〔1〕存放器是同步时钟控制,而锁存器是电位信号控制。
〔2〕存放器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端〔打入存放器〕,而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化
可见,存放器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据之间的时间关系:
假设数据有效一定滞后于控制信号有效,那么只能使用锁;
数据提前于控制信号而到达并且要求同步操作,那么可用存放器来存放数据。
一、锁存器
1.
锁存器的工作原理
锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;
一旦锁存信号起锁存作用,那么数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的
。
锁存器原理见图
锁存器
是锁存控制信号输入端,D数据输入端,Q和
是数据互补输出端。
Ⅰ:
=0,
左与门被封锁,
被封锁
输出
∴
Ⅱ:
时,分两种情况
(a)
,所以D不影响
(b)
,所以D也不影响
∴结论:
原来状态不被改变,D不影响
.
由上述分析看出:
也就是说,
由0
1时刻将数据D锁定并保持,直到
由1
0.
本例锁存器是控制信号
上升沿锁存数据,高电平保持,非号的意义是低电平时输入数据可以直达输出端。
有的锁存器是控制信号C下降沿锁存低电平保持,即加一个非门将控制信号C反相;
有的锁存器在输出端加一个三态门,由另一个控制信号OC控制;
另外还有的锁存器带有直接置0〔去除〕、置1〔预置〕输入端,等同于触发器的RD,SD端。
集成锁存器有多种型号,如
TTL的74LS77,74LS363等,也有CMOS的如4508,4042,74HL373等,需要使用时可以查阅手册。
二、数据存放器
存放器用于存放一组二值代码,它被广泛的用于各类数字系统和计算机中。
因为一个触发器能储存1位二值代码,所以N个触发器组成的存放器能储存一组N位二值代码。
对存放器中的触发器只要求它们具有置1,置0的功能即可,因而无论是用同步RS构造触发器,还是用主从构造或边沿触发构造的触发器,都可以组成存放器,一般由D触发器组成。
下列图给出一个4位数码存放器,时钟CP被称为存数指令或存数命令,在CP脉冲的上升沿时刻,各触发器将各自数据输入端D的数据存入,除此时刻,无论CP是低电平、高电平、还是下降沿,各触发器保持各自的数据不变。
四位数码存放器
三、移位存放器
存放器只有存放数据或代码的功能。
有时为了处理数据,需要将存放器中的各位数据在移位控制信号作用下,依次向高位或向低位移动1位。
具有移位功能的存放器称为移位存放器。
移位存放器按数码移动方向分类有左移,右移,可控制双向〔可逆〕移位存放器;
按数据输入端、输出方式分类有串行和并行之分。
串行码与通信
数据通信几乎都用串行方式将传送的数据按时间顺序一位一位地传送,以节省电缆芯线条数,但是在终端的数据处理是并行的,这就需要在发送端将要发送的并行数据变成串行数据才能发送,而在接收端需要将接收到的串行数据再转换成并行数据进展处理,这些转换工作是由移位存放器完成的。
2.
串入并出移位存放器
4位串入并出右移存放器
上图是一个简单的4位右移存放器,在移位指令〔CP脉冲〕作用下输入数据D存入FF3,Q3的状态移存到FF2,由此得到逻辑式:
在四个CP脉冲之后,将四个串行码移位存入4个触发器,取出数据方式是在所有的触发器地Q端同时取出,称为并行输出,移位存放器即完成了串行码到并行码的转换功能。
假设输入串行码为4位二进制数1011,输入方式为低位在先,也就是按1101地顺序依次输入,可以分析动作特点:
经过4个时钟脉冲后,1011出现在存放器输出端
这样就将串行输入D的数据转换为并行输出。
同时在第八个时钟脉冲作用后,数码从
端全部移出存放器,这说明存入该存放器中的数码也可以从
端串行输出。
既可以右移,又可以左移,而且除了D边沿触发器构成移位存放器外,还可以用诸如JK等触发器构成移位存放器。
3.
并入串出移位存放器。
4位并入串出右移存放器
上图是一个简单的4位右移存放器
取样方式M=1时,CP的作用是取样指令。
在CP的作用下,输入数据
~
通过与非门存入
即出现在
输出第一个数据。
M=0时,封锁数据输入的与门,CP脉冲的作用也相应的转变为移位指令用逻辑式表示:
假设输入并形码为1011输出方式位低位在先,也就是按1、1、0、1顺序输出,我们可以画出状态表和波形图。
4位串入并出右移存放器状态表和状态图
4.
双向移位存放器
前面讲的右向移位存放器:
左边触发器的输出作为右邻触发器的数据的数据输入。
如果让右边触发器的输出作为左邻触发器的输入,那么可构成左向移位存放器。
当然如果增加一些控制门后,那么可以实现双向移位存放器。
在二进制数之计算中,左移相当于对数值乘2,右移相当于对数值除2,因而在计算机中常使用的既能左移又能右移的双向存放器。
在移存型计数器中介绍集成双向移位存放器74194。
四、存放器的应用
可以完成数据的并串、串并转换
可以用做显示数据锁存器
许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼那么无法识别迅速变化的显示字符。
在计数器和译码器之间参加一个锁存器,控制数据的显示时间是常用的方法。
用作缓冲器
缓冲器在数字系统中用途很多:
〔1〕如果器件带负载能力有限,可加一级带驱动器的缓冲器;
〔2〕前后级间逻辑电平不同,可用电平转换器加以匹配;
〔3〕逻辑极性不同或需要将单性变量转换为互补变量时,加带反相缓冲器;
〔4〕需要将缓变信号变为边沿陡峭信号时,加带施密特电路的缓冲器〔5〕数据传输和处理中不同装置间温度和时间不同时,加一级缓冲器进展弥补等等。
74LS373、74LS374即为带动驱动器的组件,可以用作缓冲器,能够完成上述〔1〕、〔5〕两个任务。
组成计数器
移位存放器可以组成移位型计数器,如环形或扭环形计数器。
存放器一般是边沿触发的触发器,电路里叫register,而触发器就是楼上所说的各种逻辑门构成的包含电平触发和边沿触发的两种,而锁存器那么是电平触发的。
所以一般说来,我们只叫存放器和锁存器两种,在时序电路中存放器的作用就是只在时钟的边沿有效传输data〔setuptime和holdtime满足〕,而锁存器那么在有效电平器件都可以传输data
存放器:
register,由时钟沿触发的,一般是主从的,我们这数字电路里也学过主要是由传输门和反向器构成,应用很广!
锁存器:
latch,由电平触发,有很很多种,有我们数字电路里学的JK,RS等,一般是用传输门和反向器构成构成在较多,其优点是面积小,但时序分析较困难!
触发器一般是指存放器:
flip-flop
D触发器上电时Q和Q非的电平是怎样的?
D触发器刚上不定的。
只有当有反应后才知道。
可以在R、S端加RC延时电路来预制初态
在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为存放器.由于触发器有记忆功能,因此利用触发器可以方便地构成存放器。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟〔或者使能〕信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。
触发器
触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进展同步的。
存放器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
其实存放器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。
存放器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位存放器。
触发器是在时钟的沿进展数据的锁存的,而锁存器是用电平使能来锁存数据的。
所以触发器的Q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效器件才会被更新。
有一些教科书里的触发器实际是锁存器。
在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。
钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。
两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。
锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升/下降沿才会将输入表达到输出,所以能够消除输入的毛刺信号。
触发器与锁存器的比拟:
1、latch由电平触发,非同步控制。
在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。
DFF由时钟沿触发,同步控制。
2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;
DFF那么不易产生毛刺。
3、如果使用门电路来搭建latch和DFF,那么latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。
所以,在ASIC中使用latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。
latch是电平触发,相当于有一个使能端,且在激活之后〔在使能电平的时候〕相当于导线了,随输出而变化。
在非使能状态下是保持原来的信号,这就可以看出和flip-flop的差异,其实很多时候latch是不能代替ff的。
4、latch将静态时序分析变得极为复杂。
5、目前latch只在极高端电的路中使用,如intel的P4等CPU。
FPGA中有latch单元,存放器单元就可以配置成latch单元,在xilinxv2p的手册将该单元成为register/latch单元,附件是xilinx半个slice的构造图。
一般的设计规那么是:
在绝大多数设计中防止产生latch。
它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。
latch最大的危害在于不能过滤毛刺。
这对于下一级电路是极其危险的。
所以,只要能用D触发器的地方,就不用latch。
有些地方没有时钟,也只能用latch了。
比方现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。
这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latchtimingborrow。
根本上相当于借了一个高电平时间。
也就是说,latch借的时间也是有限的。
对latch进展STA的分析其实也是可以,但是要对工具相当熟悉才行.不过很容易出错.当前PrimeTime,是支持进展latch分析的.现在一些综合工具置的STA分析功能也支持,比方RTLpiler,Designpiler.除了ASIC里可以节省资源以外。
latch在同步设计里出现的可能还是挺小的,现在处理过程都放在ff里打一下。