深度剖析“异步复位、同步撤离”

david 2021-12-25 09:00:15 5020

老生常谈的异步复位、同步撤离电路如下,reset_gen模块由两级寄存器级联而成,第一级寄存器D端接1,第二级寄存器的输出连接全局复位。当然随工艺演进,也有三级寄存器级联的同步撤离电路,原理相同,都是通过打拍子降低亚稳态概率。

通常大学教程上只讲解了不带复位/置位的寄存器电路分析,本文讲讲带复位/置位的寄存器分析,然后讲讲为什么时钟沿对齐复位撤销沿会有问题。

如下图,我们先理解下带复位/置位的寄存器结构图:

1)在时钟端口CP为0时,TG1导通,【Q’主】实时跟随输入D端变化而变化,TG3截止、TG4导通,输出数据Q被锁存保持。

2)在时钟端口CP为1时,TG1截止,TG2导通,【Q’主】在时钟上升沿时被锁存。TG3导通,TG4截止,因此输出数据Q依然被锁存保持。

总的来看,在CP的上升沿时刻输入数据D被前一级锁存器锁存,Q输出D的值,在CP的下降沿时刻,后一级锁存器锁住输出Q值保持不变,而前一级锁存器反馈回路断开,【Q’主】实时跟随输入D端变化而变化。

那么重点来了,复位/置位控制端口呢?上图复位/置位高有效。当RD拉高复位时,CP不管是低是高,RD与【Q’主】或非得到0,0再与SD或非得到1(此时假设SD无效,无效值为0),1再经过反相器输出为0,从而达到了复位效果。那么RD撤销时,CP上升沿到了,两者对齐的情况下,或非门G3的值是多少呢?这个时候CP上升沿锁存新的值,那么可能是0->1,而RD撤销也就是从1变成0,什么问题呢?没错,竞争冒险,会造成毛刺输出。关于竞争冒险,如下图的简单电路,由于门电路的延时,A非相对于A信号会滞后一丢丢(时间由工艺决定),这就会导致输出产生一个干扰脉冲。有两个概念必须知道,一个是Removal time,一个是Recovery time。

  • Recovery timing

Recovery time是指在时钟有效沿到来之前,复位信号保持高电平的最短时间(假设低电平复位有效),也就是说复位要撤离需要赶在时钟上升沿到来之前,满足这个Recovery time,这样才能确保在时钟有效沿时采样到数据。

  • Removal timing check

Removal time是指在时钟有效沿来临之后,异步复位信号需要继续保持有效的最短时间。满足这个最短时间才能确保对寄存器进行正常的复位。

从Removal 和Recovery time的定义知道,只要DFF的复位信号不在时钟有效沿附近变化(复位信号远离时钟有效沿),就可以保证电路的正常复位和撤销。在实际的设计中,比如有的模块是先复位再给模块供应时钟,即保证了复位信号与时钟在时间上是错开的,这种流程可以保证不会出现recovery和removal的问题,因为复位置起撤销时都没有时钟。当然,这样限制也大可不必,采用“异步复位、同步撤离”电路即可。
复位撤销后,同步撤离寄存器的第一级寄存器第一个周期可能是亚稳态输出,原因不再赘述,但是第二个周期一定是1。当第一级第一周期输出亚稳态,第二级寄存器能帮助恢复稳态,其第二周期输出要么0,系统继续复位,要么输出1,系统停止复位,其第三周期及以后输出1。对于复位置起,随时都是可以的,因为所有元器件都会最终回到初始值,那么有没有出现亚稳态、谁先谁后其实都没有关系。但是对于撤销不行啊,一旦复位撤销了各个元器件就会开始工作了,如果复位撤销点到达各个元器件的时间有差别,或者正好打在了时钟的亚稳态窗(即在Tsetup+Thold内跳变了)上了,就会造成有的器件当前周期开始工作,而有的器件在下一周期开始工作,那整个系统就紊乱了,因此复位的撤销一定要是同步的。

转载:全栈芯片工程师

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
david
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
david
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区