【Verilog基础】锁存器(Latch)知识点总结

本文介绍了Lock存器(Latch)的概念及其在异步电路中的作用,强调了在同步电路设计中避免Latch的重要性,因为它可能导致毛刺敏感、不定态、资源浪费和时序分析复杂。文章列举了三种常见的产生Latch的组合逻辑错误:if语句缺少else、case语句不全列举且无default、输出赋值给自己,并提供了对应的RTL视图示例,提醒开发者遵循规范编码以防止意外的Latch产生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Latch 是什么

Latch 其实就是锁存器,是一种在异步电路系统中,对输入信号电平敏感的单元,用来存储信息。锁存器在数据未锁存时,输出端的信号随输入信号变化,就像信号通过一个缓冲器,一旦锁存信号有效,则数据被锁存,输入信号不起作用。因此,锁存器也被称为透明锁存器,指的是不锁存时输出对于输入是透明的

二、Latch 的危害

之所以在这里讲关于 Latch 的问题是因为只有组合逻辑才会产生这种问题,产生 Latch是我们在同步电路中尽量避免的,但并不表示 Latch 没有用的或者说是错误的, Latch 在异步电路中是非常有用的,只是我们设计的是同步电路,要尽量避免。

在同步电路中 Latch 会产生不好的效果:

  • 如对毛刺敏感;
  • 不能异步复位,上电后处于不定态;
  • 还会让静态时序分析变得十分复杂;
  • FPGA 的资源中,大部分器件没有锁存器这个东西,所以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值