威海市网站建设,wordpress访问人数,app和网站开发语言的区别,网站建设实训主要收获及体会什么是亚稳态亚稳态会造成什么平均故障间隔时间如何解决亚稳态同步时钟和异步时钟单bit电平信号如何跨时钟域单bit脉冲信号如何跨时钟域多bit信号如何跨时钟域 目录 一、亚稳态1.基本概念2.危害3.平均故障时间4.解决亚稳态的方法 二、跨时钟域1.同步电路和异步电路#xff08;…什么是亚稳态亚稳态会造成什么平均故障间隔时间如何解决亚稳态同步时钟和异步时钟单bit电平信号如何跨时钟域单bit脉冲信号如何跨时钟域多bit信号如何跨时钟域 目录 一、亚稳态1.基本概念2.危害3.平均故障时间4.解决亚稳态的方法 二、跨时钟域1.同步电路和异步电路1同步电路2异步电路 2.单bit跨时钟域1电平信号2脉冲信号 3.多bit跨时钟域1格雷码2DMUX3异步FIFO 一、亚稳态
1.基本概念
亚稳态是指触发器无法在某个规定时间内达到一个确定的状态,当一个触发器进入亚稳态时既无法预测该单元的输出电平也无法预测何时****输出才能稳定在某个正确的电平上。在这个期间触发器输出一些中间级电平或者可能处于振荡状态并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 从CMOS层级分析亚稳态产生的原因下图是一个CMOS反相器的传输特性曲线 电子技术——CMOS反相器-CSDN博客
其中BC段为MOS的放大器区在BC端具有无限大的增益。将输入电压和输出电压相等的点即VmVDD/2称作是反相器的阈值电压电平在这个点附近迅速完成了电平切换。
当输入电压处于0—V_IL时反相器认为输入为低电平当输入电压处于V_IH—VDD时反相器认为输入为高电平。当输入电压处于V_IL—VIH之间时反相器有可能会将其判断为低电平或高电平中的任意一种。
当输入数据不能够满足寄存器的建立时间和保持时间要求时采样到的电压就可能会处于上述的V_IL和V_IH之间的区间就会导致输出处于亚稳态。
2.危害
由于产生亚稳态后寄存器Q端输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值。在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断有的判断到“1”有的判断到“0”有的也进入了亚稳态数字部件就会逻辑混乱。
3.平均故障时间
平均故障时间指的是系统两次发生故障之间系统平均正常工作的时间他是系统发生故障概率的倒数。用MTBF表示。平均故障间隔时间越长系统越可靠。 M T B F e t M E T / C 2 C 1 ⋅ f C L K ⋅ f D A T A MTBF\frac{e^{t_{MET}}/C_2}{C_1\cdot f_{CLK}\cdot f_{DATA}} MTBFC1⋅fCLK⋅fDATAetMET/C2
t_MET代表寄存器从时钟上升沿触发后的时序余量时间
C1、C2与器件有关的参数,器件的建立时间和保持时间越小C2越小
f_DATA是数据的变化频率
f_CLK是接收时钟域的时钟频率
4.解决亚稳态的方法
亚稳态不能消除只能降低其发生的概率。
我们从MTBF入手当数据的变化频率和接收时钟域的时钟频率越低C2越小MTBF越大。
因此可有以下几种方法
1降低时钟频率
2采用反应更快的触发器
3跨时钟域处理。
二、跨时钟域
1.同步电路和异步电路
1同步电路
同步电路是指电路中所有由时钟控制的单元都由一个统一的全局时钟控制。
优点
①时序收敛
②可以避免噪声和毛刺的影响采用的是边沿触发器
缺点
时钟偏移的存在会导致时钟树综合时加入缓冲单元以保证时钟偏移能够维持在一个较小的水平这样使得电路的面积和功耗增加
2异步电路
电路中不是由一个统一的时钟控制数据传输可以发生在任何时候。
优点
①由于是异步时钟无需考虑时钟偏移问题
②相同条件下比同步电路功耗低
缺点
①设计复杂缺少EDA工具支持
②很大概率存在竞争与冒险
③一般无法对异步电路进行静态时序分析。
2.单bit跨时钟域
1电平信号
电平信号是指长时间稳定在高电平或低电平的一种信号。因此对其进行跨时钟域处理时可以直接在接收时钟域对数据进行打拍处理即可一般为经过两级同步器。
跨时钟域之全面解析_cdc path-CSDN博客 需要注意的是经过两级同步器并不代表数据采样一定正确只是可以降低亚稳态发生的概率。
(1如果亚稳态维持的时间不止一个周期在下一个时钟上升沿没有稳定那么第二级的FF也会进入亚稳态这种情况的概率是1/MTBF
(2第一级亚稳态在下一个时钟上升沿稳定但是被是识别为0那么第二级的FF输出bq2_dat就是0说明信号跨时钟采样失败。但是这种情况不会造成亚稳态的传播也就是不会影响后面的设计。针对这种情况一般会改变设计不会让快时钟域的单周期脉冲跨时钟到慢的时钟内采样。
为什么跨时钟信号必须是寄存器的输出中间不能有组合逻辑
参考下面这篇文章写的非常好。
跨时钟域之全面解析_cdc path-CSDN博客 观察图中我们可以发现当采用组合逻辑后会出现adat在一个周期内出现了多次跳变也就是说数据变化的频率变大了而参考MTBF的公式当数据频率变大时会导致平均故障间隔时间变小因此会提高亚稳态发生的概率。
2脉冲信号
脉冲信号是指在源时钟下只保持一个时钟周期的信号为保持其信号特性跨时钟后该信号需要在目的时钟域下也只保持一个时钟周期。需要考虑原时钟和目的时钟的频率关系并在设计中采取不同的方式。
①慢时钟域到快时钟域
直接进行采样可能导致目的时钟对脉冲的重复采样。
将采样信号在目的时钟域打两拍稳定数据再根据额外打一拍之后做边沿采样与非产生脉冲。 ②快时钟域到慢时钟域
这种情况下可能会发生漏采因此需要先对脉冲信号进行展宽在源时钟域下根据脉冲信号生成电平信号检测脉冲信号将电平信号翻转一次。之后进行两级同步再提取信号边沿异或。 3.多bit跨时钟域
1格雷码
格雷码相邻两个数之间只有1bit变化只要其是连续变化就可以通过两级同步器进行跨时钟域。 2DMUX
对于数值非连续变化、数据保持多拍的多bit信号可以通过DMUX同步器的方式来进行跨时钟域。
其实现方式为
对数据有效信号通过两级同步器进行跨时钟域之后在目的时钟域提取边沿信号然后再在目的时钟域采样数据信号因为此时数据信号已经稳定。但是这是对于原时钟域慢目的时钟域快的情况当原时钟域快目的时钟域慢时需要对有效信号进行展宽然后跨时钟域。 通常同步器模块的输入和多周期路径规划数据路径需要使用set_false_path命令。因为同步器的输入会出现时序问题。
3异步FIFO
对于数值非连续变化并且数据保持一个时钟周期的情况应使用异步FIFO进行跨时钟域处理。