时序逻辑中的 亚稳态问题


亚稳态问是时序电路中寄存器的信号传输问题,也是老生常谈。

1. 亚稳态定义

对于一个寄存器来说,需要posedge clk采样D端的信号嘛,采样之后还需要寄存器将D端的信号驱动到Q端嘛。

为了保证采样和驱动的稳定,就需要在posedge clk之前D端信号就得稳定了,并且要一直稳定到Q端被正确驱动之后。

所以有了以下两个寄存器特性

建立时间 T s e t u p T_{setup} Tsetup:触发器CK端有效时钟沿到来之前,D端输入数据保持稳定的最短时间。

保持时间 T h o l d T_{hold} Thold:触发器CK端有效时钟沿到来之后,D端输入数据保持稳定的最短时间。

在这里插入图片描述

亚稳态:触发器建立时间或保持时间不满足,导致Q端输出电平为介于高电平和低电平之间的第三稳定点。

需要一定时间恢复
在这里插入图片描述

2. 亚稳态的原因

2.1. 同步时钟

静态时序分析(Static Timing Analysis, STA)

2.2. 异步时钟

其实STA的分析是对于同步电路而言,异步电路同样会出现亚稳态问题,就是跨时钟域了。

跨时钟域

就是两个触发器用的时钟频率不相同,那么UFF1/CK采样的时候采样或驱动时UFF1/D端不稳定那可太常见了。

在这里插入图片描述

3. 亚稳态 的解决方案

亚稳态问题解决方案总结如下。

在这里插入图片描述

如图所示,跨时钟域这么多情形,都可以追溯至电平信号打两拍解决亚稳态问题。例如当单bit跨时钟域不满足“3个沿”条件,即可以稳定采样时,就需要找到一个满足“3个沿”条件的电平信号,因此先使用异或展宽构造一个电平信号

多bit跨时钟域时若满足“3个沿”,可以稳定采样时,使用Grey码将多bit跨时钟域 转化为单bit电平跨时钟域,之后就可以电平同步了。也可以使用valid作为多bit的等效电平信号,之后直接电平同步即可。

3.1. 同步时钟

同步时钟亚稳态问题 的解决方案

3.2. 异步时钟

异步时钟亚稳态 的解决方案——单bit信号

异步时钟亚稳态 的解决方案——多bit信号

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Starry丶

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值