锁存器和触发器的概念及比较


前言

锁存器和触发器是具有记忆功能的二进制存贮器件,是组成各种时序逻辑电路的基本器件之一。

一、D锁存器

1. 什么是锁存器

锁存器(latch)是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据输入发生变化。
锁存器在不锁存数据时,输出端的信号随输入信号变化就像信号通过一个缓存器一样一旦锁存信号起锁存作用,则数据被锁住输入信号不起作用。因此锁存器也称为透明锁存器,指的是不锁存时输出对输入是透明的。

2. 锁存器的工作原理

D锁存器的电路图如下图所示:
在这里插入图片描述
D锁存器的特性表如下所示,Qn指触发前的状态,Qn+1指触发后的状态:
在这里插入图片描述
当C为0时,Qn+1=Qn,即保持之前的状态;当C为1时,Qn+1=D,即状态由D来决定。
D锁存器的波形如下所示,需要注意的是在以后的设计中的Q实际上是Qn+1。
在这里插入图片描述
从波形图我们可以看出,D 是锁存器的输入信号,C 是锁存器的控制信号,Q 是锁存器的输出信号。C = 0时输出状态保持不变,锁存输入信号D;C = 1时,输出随输入状态而改变。

3. 锁存器的代码

D锁存器代码如下(示例):

always @(clk1)
begin 
	if(clk1)
		Q1 = D1;
end

在这里插入图片描述

二、D触发器

1. 什么是触发器

触发器(Flip-Flop,简写为 FF) 对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变。

2. 触发器的工作原理

D触发器可以由两个D锁存器级联构成,它的具体结构如下,其中FF1和FF2都代表上文提到的D锁存器:
在这里插入图片描述
CLK=0时,主锁存器工作,接收输入信号Q1 = D;从锁存器不工作,输出 Q 保持不变。CLK=1时,主锁存器不工作,Q1保持不变;从锁存器工作,将Q1传送到输出端。

D触发器(上升沿触发)的波形图如下所示:
在这里插入图片描述
由于触发器只对时钟边沿敏感,我们可以看到输出的Q信号比较干净,因为D信号可能在时钟上升沿来临前发生多次跳变,但是Q的输出只取决于时钟上升沿信号到来一瞬间D信号的值,因此触发器可以消除毛刺

3. 触发器的代码

D触发器代码如下(示例):

always @(posedge clk2)
begin 
	Q2 <= D2;
end

在这里插入图片描述

三、锁存器和触发器的区别

锁存器和触发器都是数字逻辑电路中的基本存储单元,都可用于存储一位二进制信息,但是它们的工作方式和应用场景有所不同,二者的区别如下:
1、 latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。锁存器不依赖时钟,因此可以实现任意时刻的数据存储和保持功能,适用于某些特定的应用场景,如状态存储、临时数据保存等。DFF由时钟沿触发,同步控制,触发器广泛应用于同步逻辑设计中,其行为严格同步于全局时钟信号,便于设计者精确控制电路的状态转换和数据传输;
2、 latch对输入电平敏感,很难保证输出没有毛刺;DFF则不易产生毛刺
3、 如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方;
4、 latch由于是电平触发,因而将静态时序分析变得极为复杂
5、 一般的设计规则是在绝大多数设计中避免产生latch。latch最大的危害在于不能过滤毛刺,这对于下一级电路是极其危险的。

总结

锁存器更适合于异步逻辑设计和需要连续跟踪输入变化的应用场合,但因其敏感于电平而非边沿,容易受噪声和延迟影响。触发器在同步逻辑设计中占据主导地位,其边沿触发的特性提高了系统的可靠性和抗干扰能力。在现代集成电路设计中,特别是在高性能处理器和数字系统设计中,出于稳定性考虑,触发器的使用更为普遍。

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值