亚稳态

异步复位,同步释放(转)

时光总嘲笑我的痴心妄想 提交于 2019-11-30 13:34:36
异步复位同步释放电路   在进行时序分析的时候要保证传输的信号满足建立时间和保持时间,避免采样发生亚稳态(亚稳态会造成采样不确定;亚稳态传播)。同样复位信号在复位和释放的时候也要满足建立时间和保持时间。一般采用 异步复位同步释放 的方式,如下图所示: 左边两个寄存器是同步释放寄存器,右边是需要复位的design。 1. 当rst_async_n为低,复位的时候,立马异步复位design。 2. 当rst_async_n由低变高,复位释放的时候,第一级寄存器采样VCC可能出现亚稳态,第二级再同步一次,基本不会出现亚稳态。 always @ (posedge clk, negedge rst_async_n) if (!rst_async_n) {rst_s2,rst_s1} <= 0; else {rst_s2,rst_s1} <= {rst_s1,1'b1}; assign rst_sync_n = rst_s2; endmodule    两级同步基本可以消除亚稳态 同步释放电路中,第一级寄存器一般会发生亚稳态,亚稳态传播一段时间(小于一个周期)后,会恢复稳定,第二级寄存器对稳定后的信号采样,不会发生亚稳态。但如果工艺很先进的时候,亚稳态持续了一个周期以上,那么第二级寄存器采样也会发生亚稳态,这样就需要第三极寄存器同步。 参考 https://blog.csdn.net

FPGA面试题

♀尐吖头ヾ 提交于 2019-11-28 08:37:55
FPGA面试题——网上资料整理 2019-08-23 21:22:30 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。 异步逻辑是各时钟之间没有固定的因果关系。 〔补充〕: 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 电路设计的难点在时序设计,时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的时间。 保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的时间

FPGA面试宝典

情到浓时终转凉″ 提交于 2019-11-28 02:35:45
http://www.cnblogs.com/qiweiwang/archive/2010/10/23/1859546.html   这段时间去面试了几家公司,发现比较大的公司相对于重视基础问题。这里边又有几个问题特别的突出。他们是:同步时钟设计、亚稳态、异步FIFO。可以说,这些个问题要是弄清楚了,就至少满足了技术方面1/3的要求,另外的2/3是什么,我就说不清楚了。又有人发了竞争冒险毛刺的问题,不过,对于采用同步设计方法的系统,这些问题一般不会遇到。下面就谈谈我对这些问题的看法,要是你觉得看这些东西觉得类似一堆狗屎,那么恭喜你,你面试成功的机会增加了1/3;要是你你觉得阿,什么样的牛人拉了一堆牛屎,那么不好意思,还是再去补补课把。这里推荐一本《数字设计——原理和实践》(John F.Wakerly)的书,仔细看一遍吧。   同步时钟设计   简单说就是一个系统中(或系统中的一部分)都采用同一个时钟触发。系统中的(D)触发器全部都连接到一个时钟,而且只控制触发器的同步端(输入,同步置位,同步复位)。这样的系统是相对于异步系统而言的,异步系统并不是不同的触发器时钟端连接到不同的时钟信号的系统(一般的这样叫做跨时钟系统,是相对几个较小的同步系统的组合),而是更本没有了时钟的概念,依靠和触发器构造一样的反馈电路组成。相对于异步系统,同步系统更好设计(异步设计则象一个魔术

什么是亚稳态?What is metastability?

梦想的初衷 提交于 2019-11-28 02:34:06
http://hi.baidu.com/hieda/blog/item/3374fd94b65a151ad21b708c.html 1. 什么是亚稳态? 1.1 亚稳态发生的原因 1.2 亚稳态的危害 1.3 亚稳态的解决办法 1.4 亚稳态与系统可行性 2. 你的PLD处于亚稳态吗? 3. What is metastability? [from www.asic-world.com ] ====================================================================== 1.什么是亚稳态? 亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 1.1 亚稳态发生的原因 在同步系统中,如果触发器的setup time / hold time不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间(resolution time)。经过resolution

亚稳态与同步器

橙三吉。 提交于 2019-11-26 10:29:07
亚稳态是由于违背触发器的建立保持时间产生的,一般来说,触发器都会在一个或者两个时钟周期内从亚稳态返回稳态。 亚稳态窗口(Metastability Window)具有特定的时间长度,这段时间内输入信号和时钟都应该保持不变,如果它们发生变化,输出可能变成亚稳态,建立时间和保持时间共同决定了亚稳态窗口的宽度。 亚稳态出现的条件通常有 输入信号是异步信号。 时钟偏移/摆动(上升/下降时间)高于容限值。 信号跨时钟域(包括跨同频不同相的时钟域)。 组合逻辑延时使数据在触发器的亚稳态窗口发生变化。 系统时钟频率过高。 关于亚稳态的建议 在两个异步系统的交界处亚稳态是不可避免的,但使用以下方法可以减少亚稳态的发生概率 采用同步器。 避免使用dV/dt低的输入信号。 采用相应更快的触发器(缩短亚稳态窗口)。 减少组合逻辑的延时。 降低时钟频率。 亚稳态监测电路 同步器 模式A (T async_in > T clk) 模式B (T async_in < T clk) 以上内容摘自 The Art of Hardware Architecture. 来源: https://blog.csdn.net/yhs18200259681/article/details/98785036