wordpress评论提示株洲seo优化哪家便宜
wordpress评论提示,株洲seo优化哪家便宜,综合网站推广的含义,网站搭建公司官网系列文章目录
FPGA静态时序分析与约束#xff08;二#xff09;、时序分析 FPGA静态时序分析与约束#xff08;三#xff09;、读懂vivado时序报告 文章目录 系列文章目录前言一、概述一、何为亚稳态#xff1f;二、图解亚稳态三、什么时候亚稳态会导致系统失效#xff…系列文章目录
FPGA静态时序分析与约束二、时序分析 FPGA静态时序分析与约束三、读懂vivado时序报告 文章目录 系列文章目录前言一、概述一、何为亚稳态二、图解亚稳态三、什么时候亚稳态会导致系统失效四、降低亚稳态发生概率的办法五、亚稳定性 MTBF 值的计算六、总结 前言
参考资料Altera公司的官方发布的白皮书《Understanding Metastability in FPGAs》提取码6Ese
一、概述
亚稳定性Metastability是数字电路含 FPGA中导致系统失效的一种现象当信号在非相关时钟域或异步时钟域之间传输时发生。本文叙述 FPGA 中的亚稳定性讨论了它如何发生如何导致系统失效。
数字电路的设计者通过对两次失效之间间隔的平均值MTBF进行计算得到亚稳定性的定量描述从而指示设计者采取适当的方法以减少发生失效的可能性几率。本文讲解了如何根据不同的器件和设计参数计算 MTBF解释了 FPGA 厂商和 FPGA 设计者两方面是如何改善 MTBF 的。设计者运用相关的设计技术和优化方案减少亚稳定失效的几率使得系统的可靠性得以提高。
个人理解亚稳态现象是在跨时钟域信号传输时不可避免的作为设计者我们无法彻底消除亚稳态现象只能尽可能地减少发生的概率。
一、何为亚稳态
数字电路例如 FPGA中所有的寄存器都具有所设定的时序要求。根据该要求每一个寄存器都可以正确地捕获它输入端口的数据并激励输出信号至它的输出端口。为了保证这种操作的可靠寄存器的输入信号必须在时钟沿之前的最小时间段保持稳定寄存器建立时间 t s u t_{su} tsu)以及在时钟沿之后的最小时间段保持稳定寄存器保持时间 t h t_h th。然后在特定的时钟输出延迟 t c o t_{co} tco之后寄存器产生有效的输出。如果某个信号的传输违背了上述建立时间 t s u t_{su} tsu和保持时间 t h t_h th的要求该寄存器就有可能进入亚稳态。发生亚稳态时某些时钟周期寄存器的输出值会漂浮在高电平高状态和低电平低状态之间这也就意味着指定的输出高状态和输出低状态会在 t c o t_{co} tco之后再度被延迟。
个人理解寄存器的建立时间或保持时间不能得到满足时寄存器有可能会进入亚稳态。亚稳态是一种电压的中间态假设寄存器的输出电压大于2V输出高电平1小于0.3V输出低电平0那么电压处于0.3V到 2V 之间并且能够短时间稳定的状态就是亚稳态。这时候寄存器输出的数据延迟将大于tco
在同步电路系统中输入信号总是满足寄存器的时序要求设计必须所以亚稳态不会发生。通常若在无关时钟域电路或异步时钟域电路之间发生信号传输亚稳态问题将会发生。此时设计者不能保证这些信号能符合 tsu 和 th这是因为这些信号可能在相对于目标域时钟的任何时刻到达。而这些信号中的任何一个若发生 t s u t_{su} tsu和 t h t_h th时序违规将导致一次亚稳态输出。寄存器或者不符合时序要求进入亚稳态或者符合时序要求回到稳态这两种可能性兼而有之而它们很大程度上取决于 FPGA 器件的制造工艺技术以及运行时的条件。大多数情况下寄存器将快速地返回到指定的稳定状态。 个人理解根据FPGA制造工艺寄存器进入亚稳态时会快速返回到稳定状态0或者1随着制作工艺地提升亚稳态回到稳态的时间越来越快
二、图解亚稳态
寄存器在时钟沿对数据信号进行采样的过程看作是一个球落到山顶上如图所示。 山的两侧代表稳定状态信号传输后信号的旧数据值和新数据值。山顶代表亚稳态 图中球停留在山顶正中的情况在真实电路中实际不会发生球总会在山顶微微地偏向一边继而滚落到山底快速地到滑落至山丘底部的那侧的稳定状态球离山顶越远它在底部达到稳定状态的速度就越快。 个人理解寄存器在进入亚稳态一段时间后会回复到正常的状态但是有可能回到高电平1也有可能回到低电平0
如果数据变化发生在时钟沿右侧的 t h t_h th之后好像球跌落至山丘的“旧值”这边此时输出信号保持为原先的旧值。当寄存器的输入数据变化发生在当前时钟沿左侧的 t s u t_{su} tsu之前以及前一个时钟沿右侧的 t h t_h th之后则好像球跌落至山丘的“新值”一边此时输出信号保持为变化后的新值。当寄存器的数据变化时刻违背 t s u t_{su} tsu和 t h t_h th时这就好像球从山顶向两边跌落。球开始跌落的时刻越接近山的顶部它返回底部的时间就越长这就使得从数据变化时钟沿至输出稳定状态的延迟将大于 t c o t_{co} tco。如下图所示
个人理解如果数据变化在采样寄存器th之后那么采样寄存器将采样到数据变化之前的旧值继而经过一个tco延迟后采样寄存器输出数据旧值。同理如果数据变化在采样寄存器tsu之前那么采样寄存器将采样到数据变化后的新值经过一个tco延迟后采样寄存器输出数据新值 。如果数据变化在tsu之后th之前那么采样寄存器将进入亚稳态数据可能输出0可能输出1寄存器输出时间大于tco 寄存器进入亚稳态输出示意图 三、什么时候亚稳态会导致系统失效
如果数据输出信号是在下一个寄存器捕获它之前就已滑落至一个稳定的状态此时的亚稳态信号并不会给系统带来负面影响。但是如果亚稳态输出信号不能在它到达下一个寄存器之前滑落到低或高的稳定状态它将导致系统失效。这仍然可使用球和山丘来解释当球跌落至山底的时间超过所允许的时间允许的时间是指时序分析中对应寄存器路径中的这些寄存器的正的 t c o t_{co} tco。当亚稳态信号没有在允许的时间段内滑落至稳定状态将发生逻辑混乱和失效此时目标寄存器将出现相互矛盾的逻辑状态那就是说对于相同的亚稳态信号不同的寄存器将会捕获到不同的值。
个人理解如果发生亚稳态的寄存器输出信号在下个时钟沿采样到之前就滑落到稳定状态那么系统不会失效如果在下个时钟沿来临时还在亚稳态那么后级的寄存器将会逻辑混乱不同的寄存器捕获的可能是不同的值此时系统将会失效
四、降低亚稳态发生概率的办法
当信号在非相关时钟域电路或异步时钟域电路之间传输时引用该信号前必须要将该信号同步到新的时钟域。新时钟域的第一个寄存器则成为同步寄存器。为了使异步信号传输的亚稳定性所导致的失效尽可能的最小电路设计者通常会在目标时钟域使用一个寄存器序列同步寄存器链或同步器以达到再同步的目的。同步寄存器链将该信号再次同步到新的目标时钟域。这些寄存器提供额外的时间用于那些可能出现的亚稳态信号使得这些亚稳态信号能够在它们被引用捕获前滑落至一个已知值0 或 1
同步寄存器链其定义是一个符合如下要求的寄存器序列寄存器链
链中的所有寄存器或者使用相同的时钟源作为驱动时钟或者使用具有相对相位关系的不同时钟源作为驱动时钟。链中的第一个寄存器的输入信号或者来自一个非相关时钟域或者来自一个异步时钟域。除链中最后一个寄存器外所有寄存器的输出仅扇出至一个寄存器。 如下图所示 注意到任何一个异步输入信号或那些在非相关时钟域之间传输的信号都可能在相对于捕获寄存器时钟沿的任何一个时刻发生变迁。因此设计者不能够预知这些变迁发生的序列以及变迁发生前目标时钟域时钟沿的个数。例如如果一个异步总线信号跨时钟域传输并且被同步这些数据信号将在不同的时钟沿上发生变迁其结果就是所接收到的总线的数值不正确。 个人理解多bit数据总线不能用同步寄存器链的方法同步因为每为bit到达寄存器链的时间可能不同所以每个同步寄存器链踩到的数据不同所以后级寄存器接收到的数据不同
对于多bit情况设计者必须习惯于采用例如双时钟 FIFO 这样的电路DCFIFO来存取数据和进行握手。FIFO 逻辑仅使用同步器传输转换两个时钟域之间的控制信号而数据的读和写则使用双端口的存储器。Altera 提供的 DCFIFO 即是用于此目的其中对于那些跨时钟域的控制信号提供了多级潜伏期设置和亚稳态的保护。另外如果跨时钟域握手信号中的有异步信号这些异步的握手信号将能够用于指示当前跨数据域的数据传输。此时同步寄存器用于保证亚稳态现象不会影响到这些控制信号的接收对于可能发生的任何亚稳态条件信号数据都有足够的约算时间使得在这些信号被使用前亚稳态已经滑落至稳态。
五、亚稳定性 MTBF 值的计算
两次失效之间的平均时间即 MTBF是亚稳定性能的一个评估指标它是由亚稳态所致的两次失效之间的平均间隔。一个较高的 MTBF 值表示一个更稳定的系统例如两次亚稳态失效之间的间隔达到数百或数千年。所需要的 MTBF 值的大小取决于系统的应用例如一个医学生命维持系统所需要的MTBF就比一个视频娱乐系统的MTBF要高。亚稳定性MTBF值的增加就意味着设备中信号传输时发生亚稳态问题的机会减小。无论是特定的信号传输的 MTBF还是当前设计中全部信号传输的 MTBF都可以依据设计参数和器件参数进行计算。同步寄存器链 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×f_{clk}×f_{data}} MTBFC1×fclk×fdataetmet/C2 其中
常数 C 1 C_1 C1和 C 2 C_2 C2取决于器件工艺和操作环境 f c l k f_{clk} fclk和 f d a t a f_{data} fdata取决于设计其中 f c l k f_{clk} fclk是接收异步信号时钟域的时钟频率而 f c l k f_{clk} fclk是驱动异步数据信号的时钟频率。 f c l k f_{clk} fclk越快或 f d a t a f_{data} fdata越快MTBF 值将越小亚稳定性恶化。 t m e t t_{met} tmet是空闲的亚稳定性约算时间或者说它是从寄存器的 t c o t_{co} tco之后到亚稳态信号滑落至已知值这个区间其时序分析的 Slack 值。同步寄存器链的 t m e t t_{met} tmet则是该链中各个寄存器输出时序的Slack 之和。
整个设计系统的 MTBF 值则可由设计系统中各个同步寄存器链的 MTBF 值确定。由于每一个同步器的失效率为 1/MTBF因而整个设计系统的失效率可以由每个同步器的失效率累加而得到: F a i l u r − r a t e d e s i g n 1 M T B F d e s i g n ∑ i 1 S N 1 M T B F i Failur_-rate_{design} \frac{1}{MTBF_{design}}\sum_{i1}^{SN}\frac{1}{MTBF_{i}} Failur−ratedesignMTBFdesign1i1∑SNMTBFi1 式中 Failure_ratedesign 整个设计系统的失效率 S N SN SN 设计系统中同步寄存器链或同步器的数量 M T B F d e s i g n MTBF_{design} MTBFdesign 整个设计系统的 MTBF 值 M T B F i MTBF_i MTBFi 每个同步寄存器链的 MTBF 值据此整个设计系统的 MTBF 为 M T B F d e s i g n MTBF_{design} MTBFdesign 1/Failure_rate d e s i g n _{design} design
六、总结
当信号在无关时钟域之间传输或异步时钟域之间传输时发生亚稳态现象。两次亚稳态失效的平均时间与器件的工艺技术设计性能和同步寄存器逻辑的时序 Slack 值有关。设计者使用恰当的设计技术增加同步寄存器链的 Slack 值使得 t m e t t_{met} tmet增加进而导致 MTBF 的增加Altera 对其 FPGA 的 MTBF进行了参数化并通过器件技术改进提高了亚稳态 MTBF。使用 Altera FPGA 的设计人员可以利用 Quartus II 软件功能来报告其设计的亚稳态 MTBF并优化设计布局以增加 MTBF。
FPGA静态时序分析与约束二、时序分析
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89748.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!