ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

触发器与LATCH

2022-06-01 22:03:50  阅读:176  来源: 互联网

标签:触发器 Latch 组合 产生 存器 电路 LATCH


文章目录


前言

  触发器大家可能再熟悉不过了,就拿D触发器来说,触发器是边沿敏感器件,会在时钟的上升沿(或者下降沿)将输入数据打入触发器(满足建立保持时间的情况下),在下一个上升沿到来前一直保持该数据。
  Lacth是锁存器,是一种电平敏感器件。在输入信号未锁存时,输出跟随输入变化,此时锁存器是”透明的“,相当于信号经过一个缓冲器。一旦触发电平有效,输出锁存该时刻的输入,触发电平未解除之前输入信号不再有作用。
  在一些教材中都会避免设计中产生锁存器,原因是在同步电路中锁存器会产生不好的效果,比如对毛刺敏感、上电后处于不定态、不能异步复位等,同时还会使静态时序分析变得困难。在FPGA中没有锁存器这种资源,需要用寄存器来组成锁存器,从而会消耗更多的逻辑资源。在ASIC设计中,锁存器会带来额外的延时,不利于提高系统的工作频率。
  当然锁存器不是一无是处,锁存器在异步电路中还是很有用的,由于我们设计的大多是同步电路,所以要避免锁存器的产生。


一、Latch的产生

  Latch是在组合逻辑电路中产生的,时序逻辑电路不会产生latch。当然组合逻辑产生latch主要是由于代码编写不规范导致的,主要是包括以下几个方面:

  1. 组合逻辑只有if没有else
  2. case语句条件列举不完整且没有default语句
  3. 第三种情况比较少见,在组合逻辑中变量赋值给自己

二、解决办法

  在设计组合逻辑电路时要注意以上几点问题,规范编写代码。同时在组合逻辑中一定要避免输出信号处于未知状态,让输出在任何条件下都有一个已知的状态就可以避免Latch的产生。Latch作为一种基本电路单元,会影响到电路的时序性能,应尽量避免使用,但出现Latch造成设计与意图不符的情况,是由于设计人员代码不规范造成的。但也随着综合器越来越优化使之可以更精准的识别出该代码是否为设计者真正想要的Latch,并给出必要的提示。

标签:触发器,Latch,组合,产生,存器,电路,LATCH
来源: https://www.cnblogs.com/amxiang/p/16335864.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有