首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数字芯片

    FPGA中的亚稳态

    1.2 亚稳态发生场合 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。 2.2 复位电路亚稳态 2.2.1 异步复位电路 在复位电路设计中,复位信号基本都是异步的,常用异步复位电路Verilog描述如下: always @(posedge clk or 图3.3 异步复位时序 2.2.2 同步复位电路亚稳态 在复位电路中,由于复位信号是异步的,因此,有些设计采用同步复位电路进行复位,并且绝大多数资料对于同步复位电路都认为不会发生亚稳态,其实不然 ,同步电路也会发生亚稳态,只是几率小于异步复位电路。 图3.5 同步复位电路时序图 2.3 亚稳态产生概率以及串扰概率 在实际的FPGA电路设计中,常常人们想的是怎么减少亚稳态对系统的影响,很少有人考虑怎么才能减少亚稳态发生几率,以及亚稳态串扰的概率问题

    1.8K11发布于 2020-07-20
  • 来自专栏瓜大三哥

    如何理解FPGA的亚稳态

    ? ? ? ? ? ? ? ? ?

    68820发布于 2020-08-07
  • 来自专栏FPGA技术江湖

    今日说“法”:让FPGA设计中的亚稳态“无处可逃”

    2、亚稳态发生场合 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。 在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断,有的判断到“1”有的判断到“0”,有的也进入了亚稳态,数字部件就会逻辑混乱。在复位电路中产生亚稳态可能会导致复位失败。 2、复位电路亚稳态 2.1、异步复位电路 在复位电路设计中,复位信号基本都是异步的,常用异步复位电路Verilog描述如下: always @(posedge clk or negedge rst_n 2.2、同步复位电路亚稳态 在复位电路中,由于复位信号是异步的,因此,有些设计采用同步复位电路进行复位,并且绝大多数资料对于同步复位电路都认为不会发生亚稳态,其实不然,同步电路也会发生亚稳态,只是几率小于异步复位电路 3、亚稳态产生概率以及串扰概率 在实际的FPGA电路设计中,常常人们想的是怎么减少亚稳态对系统的影响,很少有人考虑怎么才能减少亚稳态发生几率,以及亚稳态串扰的概率问题。

    61010发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    今日说“法”:让FPGA设计中的亚稳态“无处可逃”

    2、亚稳态发生场合 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。 在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断,有的判断到“1”有的判断到“0”,有的也进入了亚稳态,数字部件就会逻辑混乱。在复位电路中产生亚稳态可能会导致复位失败。 2、复位电路亚稳态 2.1、异步复位电路 在复位电路设计中,复位信号基本都是异步的,常用异步复位电路Verilog描述如下: always @(posedge clk or negedge rst_n 2.2、同步复位电路亚稳态 在复位电路中,由于复位信号是异步的,因此,有些设计采用同步复位电路进行复位,并且绝大多数资料对于同步复位电路都认为不会发生亚稳态,其实不然,同步电路也会发生亚稳态,只是几率小于异步复位电路 3、亚稳态产生概率以及串扰概率 在实际的FPGA电路设计中,常常人们想的是怎么减少亚稳态对系统的影响,很少有人考虑怎么才能减少亚稳态发生几率,以及亚稳态串扰的概率问题。

    79520发布于 2021-04-16
  • 来自专栏数字IC小站

    同步时钟域是否会有亚稳态

    同步时钟域存在亚稳态吗 某网站上有人提问,同步时钟域是否会存在亚稳态的问题? 答案是肯定的,同步时钟域同样可能存在亚稳态,关于具体原因,我们从本质上进行初步分析。 1.什么是亚稳态? 在数字电路中,每一位数据不是1就是0。当然对于电路来说,并非1就是1V,0就是0V,对于不同的器件它们都有不同的对应区间。 同步时钟域下的亚稳态小栗子1-异步复位 在数字电路中,常常采用的DFF是异步复位同步释放的电路,这样的电路和同步复位电路之间的区别在此也不再多讲。 如下图所示电路 如果两个DFF在连接的是同一个clk,那么这段电路就是同步时钟域下的电路。 同步时钟域下的亚稳态小栗子2-可变延迟链 电路中存在延迟链,特别是可编程的延迟链时,是很容易发生亚稳态问题的,如下图所示。 这种电路在进行STA分析的时候,一般会采取两种方式。

    1.5K30编辑于 2022-08-26
  • 来自专栏FPGA技术江湖

    在FPGA中,同步信号、异步信号和亚稳态的理解

    在数字电路中,高电平和低电平是两个稳定的电平值,能够一直维持不变化。如果不满足建立或者保持时间的话,输出的电平值不高也不低,但是此电平不稳定,称为亚稳态(类似于健康和亚健康)。 可以想象,亚稳态走向稳态是必然趋势,可是需要一定的时间,如果在这一段时间内,被其他电路所引用,那么就会造成亚稳态的传播,进而导致整个电路的瘫痪(因为整个电路都会变成非高非低的信号在运行)。 只有最后一级寄存器可以给其他的电路使用。 对于第一点和第二点,不再解释。下面解释一下第三点。 ? D3信号为clk2时钟域的异步信号,那么D4信号就有可能出现亚稳态。 在上述叙述中,我们只是提高了得到稳态的几率,但是还是有亚稳态传播的几率。 在实际电路中,一般同步寄存器链会有两级甚至多级。那么多级的同步寄存器链会有什么作用呢? 再多级的寄存器,也无法避免亚稳态,只是级数越多,最后一级输出亚稳态的几率将会越低。 在实际电路中,一般采用两级或者三级即可。 ? - End -

    1.3K20发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:在FPGA中,同步信号、异步信号和亚稳态的理解

    在数字电路中,高电平和低电平是两个稳定的电平值,能够一直维持不变化。如果不满足建立或者保持时间的话,输出的电平值不高也不低,但是此电平不稳定,称为亚稳态(类似于健康和亚健康)。 可以想象,亚稳态走向稳态是必然趋势,可是需要一定的时间,如果在这一段时间内,被其他电路所引用,那么就会造成亚稳态的传播,进而导致整个电路的瘫痪(因为整个电路都会变成非高非低的信号在运行)。 只有最后一级寄存器可以给其他的电路使用。 对于第一点和第二点,不再解释。下面解释一下第三点。 D3信号为clk2时钟域的异步信号,那么D4信号就有可能出现亚稳态。 在上述叙述中,我们只是提高了得到稳态的几率,但是还是有亚稳态传播的几率。 在实际电路中,一般同步寄存器链会有两级甚至多级。那么多级的同步寄存器链会有什么作用呢? 再多级的寄存器,也无法避免亚稳态,只是级数越多,最后一级输出亚稳态的几率将会越低。 在实际电路中,一般采用两级或者三级即可。

    1.2K20发布于 2021-03-15
  • 来自专栏摸鱼范式

    【日更计划123】数字IC基础题

    [342] 什么是亚稳态亚稳态是如何产生的?它有什么影响? 亚稳态是一种电路状态,在电路正常工作所需的时间内,电路无法稳定在的“ 0”或“ 1”逻辑电平的状态。通常在建立时间和保持时间违例时发生。 对于跨时钟域时可能出现的亚稳态,还可以使用包括握手机制、异步FIFO等方法。对于同步电路中,要进行合理的设计与设计约束,避免建立时间和保持时间违例。 [344] 同步器的构成是怎样的? 以下是一个同步器电路的例子。这是一个两个触发器同步器,第一个触发器等待一个时钟周期,使输入端的亚稳态稳定下来/逐渐消失,然后第二个触发器在输出端提供稳定的信号。 ? 值得注意的是,在信号输入第二级时,第一触发器的输出仍然可能不稳定(并导致第二级输出信号变为亚稳态)。在这种情况下,我们可以使用三个触发器同步器电路。 但是,通常两个触发器同步器电路足以消除亚稳态,使用三个触发器的情况比较少。 [345] 什么是时钟门控? 时钟门控是一种低功耗技术,通过关闭了设计中某些部分的时钟达到降低功耗的目的。

    48810发布于 2021-07-16
  • 来自专栏网络交换FPGA

    带有同步器的NoC结构是解决FPGA高速时序收敛的关键原因吗?

    作者提出了上图中双采样的比较电路,可通过调整Rx_clk和Rx_clkd中间的相位差Wi,分成了五种情况来说明是否出现了亚稳态的情况。进而对如何控制亚稳态的出现进行评估和分析。 降低电路中出现亚稳态出现的概率,就相当于是增大TTM的值。 为了增大TTM的值,可以考虑采样时钟上升沿与被采样数据翻转沿的相位偏差,根据这个偏差可以将电路出现亚稳态的概率分类为Class-A和Class-B,还得到一个这两种状态下相位偏差的阈值。 因此,解决办法就是在同步器电路中添加移相器。始终保证采样时钟上升沿与被采样数据翻转沿的相位偏差处在Class-A的状态。 从而降低了电路出现亚稳态的风险。 把MEDAC同步器单元应用于异步FIFO中。 再把该异步FIFO应用于一款四个Router的NOC芯片中。

    1.2K20发布于 2020-06-19
  • 来自专栏开源FPGA

    时序逻辑电路基础

    题目:什么是亚稳态,产生的原因,如何消除? 亚稳态:是指触发器无法在某个规定时间段内达到一个确定的状态。 原因:由于触发器的Tsu和Th不满足,当触发器进入亚稳态,使得无法预测该单元的输出,这种不稳定是会沿信号通道的各个触发器级联传播。 消除:两级或多级寄存器同步。 理论上亚稳态不能完全消除,只能降低,一般采用两级触发器同步就可以大大降低亚稳态发生的概率,再加多级触发器改善不大。 ? ? 异步逻辑是各时钟之间没有固定的因果关系 同步电路和异步电路区别 同步电路有统一的时钟源,经过PLL分频后的时钟驱动的模块,因为是一个统一的时钟源驱动,所以还是同步电路。异步电路没有统一的时钟源。 题目:谈谈对Retiming技术的理解   Retiming就是重新调整时序,例如电路中遇到复杂的组合逻辑,延迟过大,电路时序不满足,这个时候采用流水线技术,在组合逻辑中插入寄存器加流水线,进行操作,面积换速度思想

    1.3K20发布于 2018-10-22
  • 来自专栏陌上风骑驴看IC

    Clock Domain Crossing, 跨时钟域检查

    如果规避亚稳态? ---- 数字电路是个1,0分明的世界,除此之外的状态都不是稳定状态,被称为亚稳态亚稳态会导致电路功能失效,本来期待一个1结果来了一个0,功能失效,只能姐妹六九天长地久了。 同步电路通过setup 跟hold 来规避亚稳态。 但是对于异步电路而言,因为时钟相位不固定,无法保证来的一定是0或1,所以无法用静态时序分析的办法来规避亚稳态,办法总比问题多,聪明的工程师们拍着地中海造出了同步电路,虽然不能彻底规避亚稳态,但是只要使其发生的概率逼近于无限小 在数字电路中用MTBF 来衡量亚稳态造成故障的风险,可能每家公司用于计算MTBF 的公式都不同,下面是网上找到的两个,看上去比较科学,根据MTBF 可以计算出在故障率可接受的范围内同步器所需要的寄存器级数 握手同步电路:如下图所示,是一个典型的握手同步电路,握手同步电路通过请求信号跟应答信号进行数据交流,当有数据需要传输时,源时钟域发出请求信号,同时发出数据,目标时钟域收到请求信号后将数据锁存,同时返回应答信号

    4.9K40发布于 2020-10-29
  • 来自专栏数字芯片

    IC设计基础 | 数字IC设计经典笔试题

    因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值 这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 6.什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 这也是一个异步电路同步化的问题。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。 两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间 24.如何防止亚稳态亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。

    1.9K20编辑于 2022-09-19
  • 来自专栏数字芯片

    同步与异步电路信号交互的问题

    1.同步电路设计 2.全异步电路设计 3.异步信号与同步电路交互的问题及其解决方法 4.SoC设计中的时钟规划策略 1.同步电路设计 同步电路,即电路中的所有受时钟控制的单元,如触发器( 同步电路的时序收敛 触发器的建立时间和保持时间 同步电路设计的优点 在同步设计中,EDA工具可以保证电路系统的时序收敛,有效避免了电路设计中竞争冒险现象 由于触发器只有在时钟边缘才改变取值,很大限度地减少了整个电路受毛刺和噪声影响的可能 异步电路设计的缺点 设计复杂 缺少相应的EDA工具的支持 在大规模集成电路设计中应避免采用异步电路设计 3.异步信号与同步电路交互的问题及其解决方法 3.1亚稳态现象 亚稳态示意图 亚稳态信号的传播 亚稳态问题的解决及其RTL实现 亚稳态现象的解决方法 module synchronizer ( bclk, //目的时钟, 而因为读/写指针属于不同的时钟域,两者显然不能直接连到比较器的两端来产生空信号,否则会造成读FIFO的目的时钟域的电路碰到亚稳态现象.

    1.3K21编辑于 2022-12-18
  • 来自专栏数字芯片

    数字IC设计经典笔试题之【IC设计基础】

    因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值 这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 6:什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 这也是一个异步电路同步化的问题。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。 两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间 24:如何防止亚稳态亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。

    1.6K10发布于 2020-07-20
  • 来自专栏数字IC小站

    【004】数字IC笔面试常见题

    本期题目 异步复位同步释放怎么做;请画图和写代码解释; 奇数分频;偶数分频; 小数分频; 上期答案 【003】数字IC笔面试常见题 同步电路的意思就是来自同一个时钟,宽松的定义是来自同一个时钟源的不同时钟 当不是来自同一个时钟源时,只要周期有倍数关系并且相互之间的相位关系是固定的就可以算是同步电路亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。 所以可以通过选择更快的触发器,来减少亚稳态发生的概率。 亚稳态的消除办法: 使用同步器;使用同步器可以减少采样异步信号导致的亚稳态。 在满足要求的情况下,降低时钟频率。 Clifford论文系列--多异步时钟设计的综合及脚本技术(1) 跨时钟域电路设计1--单比特信号传输 总的来说,同步复位的优点大概有3条: a、有利于仿真器的仿真。 b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。

    50410编辑于 2022-08-26
  • 来自专栏数字芯片

    一道简单的笔试题_亚稳态

    亚稳态亚稳态是由于违背了触发器的建立时间和保持时间而产生的; 同步系统中输入信号总是满足触发器的时序要求,所以不会发生亚稳态; 异步设计中,由于数据和时钟的关系不是固定的,因此会出现违反建立时间和保持时间的现象 组合延迟使得触发器的数据输入在亚稳态窗口内发生变化; 避免亚稳态措施: 1. 使用同步器(多级同步器、时钟倍频电路的多级同步器) 3. 采用响应更快的触发器(缩短亚稳态窗口Tw,与工艺有关,受硬件制约) 4. 使用亚稳态硬化触发器(专为高带宽设计并减少为时钟域输入电路而优化的采样时间) 5. 使用级联触发器 6. 减少采样速率 7. 避免使用dV/dt低的输入信号 8. 采用握手进行交互 对解决亚稳态问题有效果的方法是 A 用反应更快速的DFF B 改善时钟质量, 用边沿变化快速的时钟信号 C 降低时钟频率 D 引入同步机制, 如加两级触发器 解析: 根据以上可知,这四个选项都对解决亚稳态问题有效果

    1.5K31发布于 2020-07-20
  • 来自专栏数字IC经典电路设计

    边沿检测(上升沿检测、下降沿检测、双边沿检测|verilog代码|Testbench|RTL电路图|仿真结果)

    数字IC经典电路设计 经典电路设计是数字IC设计里基础中的基础,盖大房子的第一部是打造结实可靠的地基,每一篇笔者都会分门别类给出设计原理、设计方法、verilog代码、Testbench、仿真波形。 ②降低亚稳态往后级传输的概率:如果输入信号相对 clk时钟信号属于不稳定信号,则延迟输出信号相对 clk时钟信号属于相对稳定信号,从而有效地降低了亚稳态往后级传输的概率。 上文给出的电路似乎很简单地实现了边沿检测的功能,但是仔细分析就可以发现这种方法存在一个潜在的风险:当待测信号是一个异步信号时,输出可能是亚稳态。 例如,信号的变化刚好发生在clk时钟信号的建立时间和保持时间之内,那么第一级寄存器的输出就会进入亚稳态,从而使得整个电路的输出进入亚稳态,进而影响下一级电路的正常工作,甚至导致整个系统崩溃! 答案是增加寄存器的数目来减小亚稳态的发生概率。例如,增加多级寄存器可以几乎消除亚稳态带来的影响(亚稳态还是存在不过概率极小)。

    8.9K51编辑于 2023-05-24
  • 来自专栏摸鱼范式

    [十八]Cracking Digital VLSI Verification Interview

    [342] 什么是亚稳态亚稳态是如何产生的?它有什么影响? 亚稳态是一种电路状态,在电路正常工作所需的时间内,电路无法稳定在的“ 0”或“ 1”逻辑电平的状态。通常在建立时间和保持时间违例时发生。 对于跨时钟域时可能出现的亚稳态,还可以使用包括握手机制、异步FIFO等方法。对于同步电路中,要进行合理的设计与设计约束,避免建立时间和保持时间违例。 [344] 同步器的构成是怎样的? 以下是一个同步器电路的例子。这是一个两个触发器同步器,第一个触发器等待一个时钟周期,使输入端的亚稳态稳定下来/逐渐消失,然后第二个触发器在输出端提供稳定的信号。 ? 值得注意的是,在信号输入第二级时,第一触发器的输出仍然可能不稳定(并导致第二级输出信号变为亚稳态)。在这种情况下,我们可以使用三个触发器同步器电路。 但是,通常两个触发器同步器电路足以消除亚稳态,使用三个触发器的情况比较少。 [345] 什么是时钟门控? 时钟门控是一种低功耗技术,通过关闭了设计中某些部分的时钟达到降低功耗的目的。

    2.2K10发布于 2020-06-24
  • 来自专栏数字IC小站

    跨时钟域电路设计1--单比特信号传输

    当应用于数字电路中的触发器时,它表示触发器的输出可能尚未稳定,不确定是否能到最终期望值的状态。 触发器进入亚稳态的一种方法是违反了其建立或保持时间。 ---- 跨时钟域同步器 同步器是跨时钟域中设计的一种常用电路,其目的是把同步失败的可能性降到最低。 在跨时钟域(CDC)中出现亚稳态的概率与以下因素成正比: 目标时钟域的时钟频率 跨时钟边界的数据传输速率 根据上述因素,我们常用的同步器电路如下: 两个触发器同步器 ? 这个电路称为两个触发器同步器。 因为在组合逻辑电路中常常因为各个输入信号的不一致性以及各路径延迟的不一样,可能导致输出结果存在毛刺。

    1.9K20发布于 2020-06-30
  • 来自专栏数字IC经典电路设计

    异步复位同步释放(verilog代码|Testbench|仿真结果)

    虽然异步复位信号更加方便使用,但是因为复位信号与系统时钟异步的关系,很容易出现复位信号释放位置恰恰出现在时钟有效沿附近,导致亚稳态的出现。 图片 如果异步复位的释放时间不满足以上这两个条件,寄存器很可能进入亚稳态,导致电路运行失常。为了保证解决这个问题,可以采用异步复位同步释放的复位信号设计方法。 复位信号释放的随机性,可能导致时序违规,倘若复位释放时恰恰在时钟有效沿附近,就很容易使电路处于亚稳态。 且异步复位容易受到毛刺的干扰,产生意外的复位操作。 复位信号释放的随机性,可能导致时序违规,倘若复位释放时恰恰在时钟有效沿附近,就很容易使电路处于亚稳态。 且异步复位容易受到毛刺的干扰,产生意外的复位操作。 那就是异步复位同步释放,既保证了正常的异步复位不受时钟影响,又通过打两拍的方式消除了电路中的亚稳态(严格来讲是极大概率地消除亚稳态)。

    8K61编辑于 2023-05-23
领券