亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态,是触发器的一个固有特性,正常采样也会有一个亚稳态时间,一般所说的出现亚稳态是指亚稳态时间长影响数据的准确性的情况。
参考:亚稳态的产生与消除
会发生亚稳态的几种情况
1、跨时钟域信号传输
2、异步信号采集
3、异步复位电路
1.跨时钟域传输
单bit信号跨时钟域,常用两级D触发器级联消除亚稳态;此外需要考虑三种情况:
①慢时钟域信号同步到快时钟域;
②快时钟域信号同步到慢时钟域;
③结绳法处理单bit信号跨时钟域。
①慢时钟域信号同步到快时钟域
只需要使用边沿检测同步器即可,即使用两级D触发器打两拍信号,根据以下电路结构编写代码。
使用条件:慢时钟域下的单bit信号的脉冲宽度,必须大于或等于快时钟域下2个时钟周期。
②快时钟域信号同步到慢时钟域
使用一个脉冲同步器进行同步,根据以下电路结构写代码。
使用条件:快时钟域下的两个输入脉冲的间隔必须大于或等于慢时钟域的2个时钟周期。
③结绳法处理单bit信号跨时钟域(如:快时钟转慢时钟)
将快时钟的信号脉冲展宽,等慢时钟同步器采样后,再解绳将信号脉冲还原为原来的周期宽度。
- 结绳法适合采样数据少(信号脉冲间隔大)的信号;
- 脉冲间隔应该大于3个慢时钟域时钟周期(因为要同步打三拍);
- 等待3拍后,才能完成复位,允许下一个输入脉冲同步。