南京网站建设服务,信阳制作网站ihanshi,菏泽厚德网站建设公司怎么样,蜘蛛爬取网站Chapter 1 亚稳态的世界 一、简介 同步系统中#xff0c;数据和时钟有固定的因果关系(在同一时钟域(Clock Domains))中#xff0c;只要数据和时钟满足建立时间和保持时间的要求#xff0c;不会产生亚稳态(meastable) 静态时序分析(STA) 就是基于同步电路设计模型而出现的数据和时钟有固定的因果关系(在同一时钟域(Clock Domains))中只要数据和时钟满足建立时间和保持时间的要求不会产生亚稳态(meastable) 静态时序分析(STA) 就是基于同步电路设计模型而出现的其目的一方面是增加同步时钟的稳定性从而减少亚稳态的发生另一方面通过附加约束可以控制逻辑的综合(DC)、映射(Map)、布局(Place)、布线(Route)以减少逻辑和布线延时从而提高工作频率。 异步系统中数据和时钟关系不固定可能违反建立保持时间就会输出介于两个有效状态之间的中间级电平且无法确定停留在中间状态的时间或者过了一定的延迟后才能正常转换这就是亚稳态。
二、亚稳态理论
1.产生原因及现象
亚稳态产生原因违背了触发器的建立时间或保持时间。现象触发器的输出产生毛刺(输出在高低电平之间波动)或者暂时保持在不稳定状态且需要较长时间才能回到稳定状态。
tsu建立时间setup time th保持时间hold time tco时钟到输出的延迟clock-to-output delay tMET亚稳态输出恢复到稳定状态所需的超过tco的额外时间部分settling time 并非所有不满足建立时间和保持时间的输入变化都会导致亚稳态触发器是否进入亚稳态和返回稳态的时间还取决于生产工艺和外界环境。一般来说触发器在进入亚稳态之后一两个周期就会回到稳态
2.同步失败
如下图信号在一个时钟域(src_data_in)里变换在另一个时钟域(dest_data_in)内采样导致输出变成亚稳态。 三、亚稳态窗口 亚稳态窗口(Metastability Windows)具有特定的时间长度在这段时间内输入信号的数据保持不变。如果发生变化输出就可能编程亚稳态。如上图1.4所示建立时间和保持时间共同决定了亚稳态窗口的宽度。 窗口越大进入亚稳态的概率越大因此一般新的逻辑器件都会有更小的亚稳态窗口。
四、计算MTBF(故障率倒数) MTBF(Mean/Average Time Between Failures平均无故障时间)即故障率倒数. 对于单级同步器 1FailureRateMTBF1e(tr/τ)Wfcfd\frac{1}{FailureRate}MTBF_1\frac{e(t_r/\tau)}{Wf_cf_d} FailureRate1MTBF1Wfcfde(tr/τ) 公式成立条件该同步器具有跟定的时钟频率并且在该时钟周期内具有均匀概率密度
式中trt_rtr允许超出器件正常传输延迟时间的解析时间
τ\tauτ触发器的亚稳态(解析)时间常数
WWW亚稳态窗口
fcf_cfc时钟频率
fdf_dfd异步信号边沿频率 对于两级同步器 MTBF2e(tr1/τ)Wfcfd×e(tr2/τ)MTBF_2\frac{e(t_{r1}/\tau)}{Wf_cf_d}×e(t_{r2}/\tau) MTBF2Wfcfde(tr1/τ)×e(tr2/τ) tr1t_{r1}tr1是第一级同步器的解析时间 tr2t_{r2}tr2是第二级同步器的解析时间
可以看出增大同步级数可以显著提高MTBF
五、避免亚稳态 避免亚稳态当然要从能造成亚稳态的条件入手——违背建立/保持时间以下条件中信号可能违背时序要求 输入信号是异步信号 时钟偏移(Clock Skew)和时钟抖动(Clock jitter 上升/下降时间)高于容限值。 信号在两个不同频率或者相同频率但是相位和偏移不同的时钟域下跨时钟工作。 组合延迟使触发器的数据输入在亚稳态窗口内发生变化。 亚稳态不能根除但是可以减小亚稳态发生的概率。 最简单的情况下减小亚稳态概率的方法确保时钟周期足够长但是会影响性能并不实用。
另一种避免亚稳态的方法就是使用同步器
1.使用多级同步器 避免亚稳态最常见的方法在跨时钟域的信号上加一个或多个同步触发器。 **缺点**增加了观察同步逻辑输入的延迟。 2.使用时钟倍频电路的多级同步器 多级同步器**缺点**系统需要花较长时间去响应异步输入。 **解决方法**使用倍频时钟作为两个同步触发器的时钟输入。Altera的FPGA中就具有这项技术。 这样不仅能让系统一个周期响应一个异步输入而且改善了MTBF。然而倍频时钟会降低MTBF这个影响比两个触发器引起的偏移 量要大。
两种方法都不能保证同步器阻止亚稳态传播下去它们仅仅减少了亚稳态发生的概率。
3.消除亚稳态常用方法
对异步信号进行同步处理采用FIFO对跨时钟域数据通信进行缓冲设计对复位电路采用异步复位、同步释放方式处理。
六、亚稳态测试电路 图中asynv_in的触发器FFAFF_AFFA是时钟上升沿触发FFBFF_BFFB和FFCFF_CFFC都在时钟下降沿触发这样做是为了捕捉FFAFF_AFFA的亚稳态事件。
当发生亚稳态时异或非门会输出高电平所以FFDFF_DFFD捕捉到高电平就代表检测到亚稳态时序图如下。 由于FFBFF_BFFB和FFCFF_CFFC两个触发器是下降沿触发所以高电平时间减去FFAFF_AFFA的tcot_cotco和FFBFF_BFFB和FFCFF_CFFC的建立时间等于稳定时间tMETt_{MET}tMET。
tMETΔt−tACNt_{MET} \Delta t \ -\ t_{ACN} tMETΔt − tACN
七、同步器的类型
一个异步信号不应被两个或者多个同步器所同步一开始不太理解这句话google了一下一个信号扇出到多个同步器之后同步所需的时间不同可能出现竞争冒险。
**模式A**当异步输入信号比时钟周期大得多时最有效下面这张图才应该是模式A图标错了。 **模式B**第一级触发器输入直接与Vcc相连输入信号直接连触发器时钟。输入信号短脉冲把q1置为1之后便会一直保持直到输出高电平。下面这张图才是模式B。 总结 信号跨时钟要采用同步器。 clk1clk2采用模式A否则采用模式B。
八、亚稳态/综合性建议
采用同步器。采用响应更块的触发器(缩短亚稳态窗口TWT_WTW)。使用亚稳态硬化触发器 (专为高宽带设计并减少为时钟域输入电路而优化的采样时间)。如图1.6所示使用级联触发器(两个或多个)作为同步器。如果一个触发器的亚稳态失败概率为PPP那么N个触发器的亚稳态失败率就是PNP^NPN。减少采样速率。避免使用 dV/dt 低的输入信号。
九、[整理]跨时钟域处理方法总结
见另一博客跨时钟域CDC转载自mhq_martin 亚稳态的产生机理、消除办法 可以理解为什么打拍