0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文彻底理解锁存器

jf_78858299 来源:ZYNQ 作者:ZYNQ 2023-04-25 11:00 次阅读

彻底理解锁存器,让你不再为锁存器头疼!

锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。

分为普通锁存器和门控锁存器,普通锁存器无控制信号,输出状态始终直接由输入决定。在实际的数字系统中,为了协调各部分的工作,往往需要有一个特定的控制信号去控制锁存器状态转换的时间,在控制信号无效时,输出保持不变,不随输入变换;当控制信号有效时,输出由输入决定,跟随输入变化。

图片

图片

①正是因为门控锁存器在控制信号有效的期间内,都可以接收输入信号, 所以,激励信

号的任何变化, 都将直接引起锁存器输出状态的改变。这时输入信号若发生多次变化,输出

状态也可能发生多次变化,这一现象称为锁存器的空翻。

②其次,当门控锁存器的控制信号有效时,锁存器就变成了一个组合电路,时序逻辑电

路的模型就等效为两个各组合电路互为反馈的反馈系统,因此,系统有可能会因为瞬态特性

不稳定而产生振荡现象。

触发器(flip-flop)是边沿敏感的存储单元,数据存储的动作(状态转换)由某一信号

的上升或者下降沿进行同步的(限制存储单元状态转换在一个很短的时间内) 。(钟控 D 触

发器其实就是 D 锁存器,边沿 D 触发器才是真正的 D 触发器)

触发器分为两种,一种是主从触发器和边沿触发器。主从触发器在时钟有效期内 (主触

发器) 接收数据,在时钟边沿输出状态转换。边沿触发器在时钟边沿期间, 触发器才接收数

据并使输出状态转换。

图片

目前,主从触发器基本上已经很少见了,实际使用的大都是边沿触发器。

寄存器(register):用来暂时存放参与运算的数据和运算结果。在实际的数字系统中,

通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。

区别与联系:由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于

一个触发器能够存储一位二进制码,所以把 n 个触发器的时钟端口连接起来就能构成一个存

储 n 位二进制码的寄存器。

从寄存数据的角度来讲,寄存器和锁存器的功能是相同的;它们的区别在于寄存器是同

步时钟控制,而锁存器是电位信号控制。

一般的设计规则是:在绝大多数设计中避免产生锁存器。它会让您设计的时序完蛋,并

且它的隐蔽性很强,非老手不能查出。锁存器最大的危害在于不能过滤毛刺 (使能信号有效

时,输出状态可能随输入多次变化,产生空翻) 。这对于下一级电路是极其危险的。所以,

只要能用 D 触发器的地方,就不用锁存器。

基本概念:

触发器是指有时钟边沿触发的存储单元。锁存器指一个由信号而不是时钟控制的电平敏

感的设备。

锁存器的工作原理

锁存器不同于触发器,锁存器在不锁存数据时,输出端的信号随输入信号变化,就像信

号通过一个缓存器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。因

此锁存器也称为透明锁存器,值得是不锁存是输出对输入是透明的。

锁存器具备下列三个缺点:

(1)对毛刺敏感,不能异步复位,因此在上电后处于不确定的状态。

(2)锁存器会使静态时序分析变得非常复杂,不具备可重用性。(首先, 锁存器没有时

钟参与信号传递,无法做 STA;其次,综合工具会将 latch 优化掉,造成前后仿真结果不一

致)

(3)在 PLD 芯片中,基本的单元是由查找表和触发器组成的,若生成锁存器反而需要

更多的资源。根据锁存器的特点可以看出,在电路设计中,要对锁存器特别谨慎,如果设计

经过综合后产生出和设计意图不一致的锁存器,则将导致设计错误,包括仿真和综合。因此,

在设计中需要避免产生意想不到的锁存器。

如果组合逻辑的语句完全不使用 always 语句块,就可以保证综合器不会综合出锁存器,

例如:

assign a = din ? x : y;

上述语句不需要保持信号 a 的前一个状态,因此肯定不会产生锁存器。

在基于 always 的组合逻辑描述语句中容易综合出锁存器的地方:1:if 语句的使用中缺

少 else 语句(前提是不是始终边沿触发);2:case 语句中没有给出全部的情况。

图片

从上图可以看出综合出来的是锁存器。

针对这种情路可以采用一些措施来防止生成锁存器:给输出变量幅初值;增加 else 语

句;将锁存器改为带使能的触发器。如下:

图片

此时综合出来的就是选择器。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6795

    浏览量

    88730
  • 电平
    +关注

    关注

    5

    文章

    357

    浏览量

    39806
  • 锁存器
    +关注

    关注

    8

    文章

    904

    浏览量

    41417
收藏 人收藏

    评论

    相关推荐

    彻底掌握MOS管

    基础知识中 MOS 部分迟迟未整理,实际分享的电路中大部分常用电路都用到了MOS管, 今天势必要来篇文章,彻底掌握mos管!
    发表于 07-05 11:56 2.9w次阅读

    彻底理解Z-stack协议栈的工作机理与程序架构

    彻底理解Z-stack协议栈的工作机理与程序架构
    发表于 01-25 10:56

    51内核迪串口屏模拟手势解锁功能(九宫格&滑动)

    `用DGUS II(迪屏)模拟手势解锁功能,其中包括九宫格和滑动解锁,详细说明和文档如下:、 、效果展示 效果展示1:九宫格解锁 产品型
    发表于 10-31 10:51

    【答疑】关于锁问题的讨论

    逻辑才需要。问2:是不是只要组合逻辑的if else补充了,就不会生成锁了?答:不定。这里的关键在于“保持不变”,千万不要从“代码层次”来理解,而应该从“功能的层次”来
    发表于 03-02 00:25

    和触发原理

      1、掌握锁、触发的电路结构和工作原理;   2、熟练掌握SR触发、JK触发、D触发
    发表于 08-18 16:39 0次下载

    ,锁是什么意思

    ,锁是什么意思 锁定义位钟控D触发
    发表于 03-09 09:44 1.2w次阅读

    74HC573锁

    SL74hc573中资料(三态输出的八D透明锁),原理图及各篇573详细介绍。
    发表于 12-31 14:26 25次下载

    《深入理解Android》

    《深入理解Android》
    发表于 03-19 11:23 0次下载

    8张图让你彻底理解晶体管开关电路图

    8张让你彻底理解晶体管开关电路图
    的头像 发表于 02-05 12:41 1.1w次阅读

    彻底讲透电容— 充放电曲线的秘诀

    电流充放电曲线,怎么理解I=C(du/dt)和Q=CU,怎么理解电容电压滞后电流90度,怎么用仪器测量电容】等。 带有电容的电路分析往往不太容易下手,让我们用篇文章彻底理顺它,开始吧
    的头像 发表于 10-25 20:35 4078次阅读

    彻底了解射频收发信机系统指标计算

    彻底了解射频收发信机系统指标计算
    的头像 发表于 12-12 13:45 1284次阅读

    解锁

      存储电路由存储器件组成,能存储位二值信号的器件称为存储单元电路. 存储单元电路大多是双稳态电路。
    的头像 发表于 03-16 15:41 3.2w次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详<b class='flag-5'>解锁</b><b class='flag-5'>存</b><b class='flag-5'>器</b>

    d锁解决了sr锁的什么问题

    存在些差异,D锁定程度上解决了SR锁
    的头像 发表于 08-28 09:16 385次阅读

    简述锁的工作时序

    (Latch)是数字电路中的种重要组件,其工作时序对于理解其功能和在电路中的应用至关重要。锁
    的头像 发表于 08-30 10:42 328次阅读

    D锁的基本实现

    在Verilog HDL中实现锁(Latch)通常涉及对硬件描述语言的基本理解,特别是关于信号如何根据控制信号的变化而保持或更新其值。锁
    的头像 发表于 08-30 10:45 564次阅读