听说这本书对数字IC设计中的常见问题讲的非常清楚易懂,看了目录感觉确实都是数字设计中一些关键问题,而且一共才217页,争取这个月看完吧。
书的PDF资源:
链接:https://pan.baidu.com/s/1b981albw_aZwLOhBvlHqpw
提取码:80zc
1.1简介
同步系统中如果数据和时钟满足建立保持时间的要求,不会发生亚稳态(meastable)。
异步系统中数据和时钟关系不固定,可能违反建立保持时间,就会输出介于两个有效状态之间的中间级电平,且无法确定停留在中间状态的时间,或者过了一定的延迟后才能正常转换,这就是亚稳态。
1.2亚稳态理论
亚稳态产生原因:违背了触发器的建立时间和保持时间。
现象:触发器的输出产生毛刺,或者暂时保持在不稳定状态且需要较长时间才能回到稳定状态。
tsu:建立时间(setup)
th:保持时间(hold)
tco:时钟到输出的延迟(clock-to-output delay)
tMET:亚稳态输出恢复到稳定状态所需的超过tco的额外时间部分(settling time)
并非所有不满足建立时间和保持时间的输入变化都会导致亚稳态,还取决于生产工艺和外界环境。
一般来说,触发器会在一两个周期返回稳态。
同步失败:信号再一个时钟域里变换,在另一个时钟域内采样,导致输出变成亚稳态。
1.3亚稳态窗口
这里书上讲亚稳态窗口内信号和时钟都应该保持不变,但是这里时钟肯定是上升沿呀,怎么可能不变,我理解的应该只是数据不变。
窗口越大,进入亚稳态概率越高,一般新器件会有更小的亚稳态窗口。
1.4计算MTBF
MTBF(Mean/Average Time Between Failures,平均无故障时间),即故障率倒数.
公式成立条件:给定时钟频率,在该时钟周期内具有均匀概率密度的异步数据信号边沿的单级同步器。
两级同步器:
可以看出,增大同步级数可以显著提高MTBF
1.5避免亚稳态
以下条件中,信号可能违背时序要求。
亚稳态不能根除,但是可以减小亚稳态发生的概率。
最简单的情况下减小亚稳态概率的方法:确保时钟周期足够长,但是会影响性能,并不实用。
另一种方法是使用同步器。
1.5.1使用多级同步器
避免亚稳态最常见的方法:在跨时钟域的信号上加一个或多个同步触发器。
缺点:增加了观察同步逻辑输入的延迟。
1.5.2使用时钟倍频电路的多级同步器
多级同步器缺点:系统需要花较长时间去响应异步输入。
解决方法:使用倍频时钟作为两个同步触发器的时钟输入。Altera的FPGA中就具有这项技术。
这样不仅能让系统一个周期响应一个异步输入,而且改善了MTBF。然而倍频时钟会降低MTBF,这个影响比两个触发器引起的偏移量要大。
1.6亚稳态测试电路
当发生亚稳态时,异或非门会输出高电平,所以FFD捕捉到高电平就代表检测到亚稳态,时序图如下。
由于中间两个触发器是下降沿触发,所以高电平时间减去FFA的tco和FFB和FFC的建立时间等于稳定时间tMET。
1.7同步器的类型
一个异步信号不应被两个或者多个同步器所同步,一开始不太理解这句话,google了一下:一个信号扇出到多个同步器之后同步所需的时间不同,可能出现竞争冒险。
模式A当异步输入信号比时钟周期大得多时最有效:(这里书上两幅图总感觉有问题,根据书上描述的确定是给反了,迷惑了好久。。。)
模式B:第一级触发器输入直接与Vcc相连,输入信号直接连触发器时钟。输入信号短脉冲把q1置为1之后,便会一直保持,直到输出高电平。
总结:
1、信号跨时钟,要采用同步器。
2、clk1<clk2,采用模式A,否则采用模式B。
1.8亚稳态/综合性建议
这里面abde都很好理解,无非就是针对MTBF公式各个因子的优化,c亚稳态硬化触发可以理解为针对亚稳态专门优化设计的一种触发器,f则是增大输入信号摆率,使信号不稳定的时间减少。
第一章看完感觉有点蒙,感觉很多问题都没讲清楚,不像是之前看的国外书那种特别详细的模式,感觉有点像国内教材,就直接把结论告诉你。。。。碰到问题最好google,百度全是csdn各种复制粘贴怪。
标签:触发器,01,读书笔记,同步器,MTBF,亚稳态,信号,时钟 From: https://www.cnblogs.com/magnolia666/p/16884915.html