时序逻辑中的 亚稳态问题


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

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 快采慢电平同步
异步 单bit 慢采快 && pulse间隔>2*Tbclk打拍展宽or异或展宽
异步 单bit 慢采快 && pulse间隔≤2*Tbclk异或握手展宽
异步 多bit 快采慢 && 允许中间值 && 变化慢电平同步
异步 多bit 快采慢 && 不允许中间值 && 变化慢valid DMUX
异步 多bit 慢采快 && 变化慢valid打拍展宽MUX or valid异步握手展宽MUX
异步 多bit 数据流异步FIFO

3.1. 同步时钟

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

3.2. 异步时钟

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

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

异步跨时钟域解决方案总结如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Starry丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值