避免Latch的产生

避免Latch的产生

1. Latch是什么?

Latch其实就是锁存器,是一种在异步电路系统中对输入信号电平敏感的单元,用来存储信息。

锁存器在数据未锁存时,输出端的信号随输入信号变化,就像信号通过一个缓冲器,一旦锁存信号有效,则数据被锁存输入信号不起作用

因此,锁存器也被称为透明锁存器,指的是不锁存时输出对于输入是透明的。

2. Latch的危害

Latch在异步电路中是非常有用的,但是我们设计的是同步电路,所以要尽量避免Latch的产生

在同步电路中Latch会产生如:毛刺敏感不能异步复位,上电后处于不定态;静态时序变得复杂

且在FPGA里大部分器件没有锁存器,所以使用寄存器组成锁存器会占用更多的资源

3. 几种产生Latch的情况

组合逻辑中 if 语句没有 else

组合逻辑中 case 条件不能完全列举没有写 default

组合逻辑中输出变量赋值给自己 (形成闭环)

4. 结论

FPGA设计是设计同步电路,避免Latch的产生十分重要,编写代码的时候一定要小心

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值