FPGA跨时钟域亚稳态研究
FPGA设计中跨时钟域的问题与方法
图2 :反馈方式设计电路
f
— — —— — —— —驯
f
T l x l 一 一
M L _ _
+ l — — — 衄 l
+ .
n^ ^ ¨
【 关键词 】F P G A跨 时钟域 亚稳 态
3 . 2多结构 同步设计
对 于多位信 号在不 同的时钟域之 问传输 , 多路复用设计可 以保持跨 时钟 域传 输时的正确 Ar r a y), 即 现 场 可 编 程 门 阵 列 , 它 是 在 性 ,如下 图所示 。多路 复用 设计可以适用于如 P A L、GAL、C P L D 等可编 程期 间的基 础上进 下的设计 中,一组数据 需要 从一个 时钟域传输 步发展起 来的一种可编程 门阵列 。它是作 为 到另外一个时钟域 ;当断言时,有标 记的表明 专用 集成 电路 ( A S I c)领 用 中的一 种 半定制 数据信号稳定的一组信号 。 电路而 出现 的,既解决 了定制 电路 的不足 ,又 . 3握 手设 计 克服 了原 有可 编程 期 间 门 电路 数 目有 限的缺 3
误。
亚 稳态 现象 :数 字信 号通 过异 步 时钟域 时,如果时钟信号 不能满 足触发器的建立时 间 或保持时间 ,此时很可 能产生亚 稳态现象。 毛刺 现 象: 同步逻 辑 电路 中产 生毛 刺现 象主要取决 于数字 信号传播时延 ,这些毛刺有
可能会被成功锁存 ,也有可能导致错误脉冲在 同步装置 中输 出。 多扇 出现象 :在 同步 逻辑 电路 中,由于
握 手 设计 是基 于 以下协 议进 行 设计 的: 源 时钟域 向目的时钟域发 出请求 ,而且该请 求 信 号一直保持着,直到源时钟域接受到 目的时 钟 域的返回信号 ;目的时钟域接收到请求信 号 之 后,连 续不断地发送确认信号 ,直到其接 收 到源 时钟域是重复断言 的。握手机制可 以设计 为 简单 的反馈 同步器,也可 以设计为全握手机 制或者 半握手机 制。 3 . 3 . 1 反馈 同步 设计 对于图 2 所示 ,使 用 的是反 馈 同步 设计 实 现 的逻辑 电路。对 于 该 电路来 讲 ,时钟 A 和 时钟 B之间的频率差值是没有极 限要求 的, 时 钟 A 的频率 可 以比时钟 B的频 率低 ,也可 以 比时 钟 B 的频率 高。然 而该 电路 使用 的是 信 号 A 由一个 时钟 周期 组成 ,而且从 当 前脉 冲到下一个脉冲 的时 间间隔要 大于两倍的时钟 A和 两倍的时钟 B的时 间之和 。 3 - 3 . 2请求 . 应答 设计 请求和 回答 传输方式在 发送信 号 T x和 接 收信号 R x之间需要双 重 同步 ,而且数据 的保 持时间必 须保持 到发送信 号 T x收到确认无 效 之后,如图 3所示。
Xilinx FPGA 设计中的跨时钟域问题
浅谈XLINX FPGA设计中跨时钟域的同步设计问题摘要本文介绍了FPGA设计中的同步设计原则并对FPG A设计中的触发器亚稳态问题进行了阐述本文通过具体的设计实例论证了跨时钟域同步处理的必要性并介绍了一种实现跨时钟域同步处理的方法和其具体电路关键字同步设计异步设计触发器亚稳态时序稳定一同步设计的原则尽量使用同步电路避免使用异步电路这句话是电路设计的几个原则之一同异步设计相比同步设计设计出来的电路更稳定可靠在XILINX FPGA设计中时常有设计人员遇到如下类似的问题设计的电路升级困难可移植性差也就是说一些原本工作正常的电路移植到高端的FPGA中就根本工作不起来了设计的电路一致性差同一电路设计每次布线后工作的结果不同设计的电路时序仿真正常但实际电路上却工作不起来设计的电路极易受毛刺的干扰通常这些类似的问题都于电路的异步设计有关二亚稳态图1 触发器的亚稳态示意图对于触发器当时钟沿到来时其输入要求是稳定的这时其输出也是稳定的但假如时钟沿到来时其输入也正在变化即翻转这时触发器会瞬时进入亚稳态通常触发器对输入信号都有一个建立时间的要求也即setup时间当这一建立时间得不到满足时触发器也会进入瞬时亚稳态如图1通常触发器即使进入亚稳态也会很快进入稳态但其输出值是不定的这有可能对使我们设计的FPGA模块尤其是哪些有复杂状态机的模块产生错误的逻辑对于亚稳态问题我们还应明白亚稳态问题并非指输出结果数据的不确定性而是指输出变化的时序不确定性遵循同步设计的原则有助于解决亚稳态问题使我们设计出稳定可靠的电路模块对于单时钟系统我们可以很方便地设计出稳定易于设计及仿真的同步单一时钟系统但在电信和数据通讯领域中我们设计的系统中往往具有多个时钟往往需要将数据或时序由一个时钟域传到另一个时钟域这类设计的难点在于实现不同时钟域之间数据和时序变化的稳定可靠地传递采用经验证的设计技术可以实现跨时钟域的同步设计进而设计出可靠工作的电路三跨时钟域的异步设计案例本人曾经设计过如下几个模块这些模块中的几个子模块分别工作在各自的时钟域中但在他们之间有着数据和时序的传递在设计这些模块的初始时并没有考虑到跨时钟域时序和数据传递的特殊性使得在系统上使用这些模块时出现过一些较为棘手的问题现把它们列举出来供大家研究模块一名称:芯片配置模块模块功能从平行口接收从PC 机下传的命令和参数产生相应的控制时序完成单板上芯片的配置模块结构框图图2 同步处理前芯片配置模块结构框图各子模块简介模块A 实现同PC 的平行接口PC 机控制程序通过操作并行口各个引脚把各个参数信息如数据地址信息传递到参数控制总线上并且发出相应的命令如start, write 等命令启动下层模块模块B 是一个状态机clk 是状态机的主时钟模块B 根据模块A 传来的命令启动相应的状态机完成从参数传递总线上获取参数信息或产生相应的配置时序完成芯片的正确配置在上图中模块A 中各寄存器都受控于并行口各引脚的状态它们在并行口引脚中stroble 引脚的上跳沿发生状态的迁移可以说stroble 引脚是模块A 的主时钟信号由上分析得模块A 和模块B 分属于两不同的时钟域时钟域A 和时钟域B中时钟域A 的主时钟为stroble, 时钟域B 的主时钟为clk 两时钟域的主时钟stroble 和clk 是不相关的它们之间的信号就为跨时钟域A 和时钟域B 之间的信号线其中write 信号线,start 信号线及回馈握手信号线用于实现控制时序的传递而参数传递总线用于实现数据的传递在如上的设计中没有对跨时钟域的时序控制线进行同步处理在系统使用此模块时出现如下的问题Parrel port with PCPC机上芯片配置命令并不能总是成功的启动模块B 中相应的状态机也即PC机上芯片配置命令并不能总是成功地实现芯片的正确配置芯片配置时序的不稳定性故障的偶然性故障的不可重复性模块二名称:突发调制器模块模块功能完成数据的突发调制模块结构框图图3 同步处理前突发调制器模块框图各子模块简介模块A 为突发调制器主控模块它的主时钟为CLKA它利用CLKA定时产生周期的Send_data信号去启动模块B中的状态机模块B为突发调制器时序控制模块它的主时钟是从专用调制器芯片送来的TXBITCLK时钟信号模块B根据模块A的触发信号启动相应的状态机产生相应的调制器控制时序专用调制芯片中的DPLL(数字锁相环)根据相应的设置参数以CLKB为参考时钟产生TXBITCLK时钟信号上图中R1R2为跳接电阻通过R1R2不同的焊剂方式可以改变CLKB时钟信号的时钟源在如上的设计中没有对跨时钟域的时序控制进行同步处理在系统使用此模块时出现如下的问题在R1短接R2断开情况下CLKA时钟信号和CLKB时钟信号共用一个时钟源晶体A,上述模块工作正常稳定在R1断开R2短接情况下CLKA 时钟信号的时钟源为晶体A CLKB 时钟信号的时钟源为晶体B 晶体A 和B 是两个独立不相关的晶体这时模块A 和模块B 工作于不同的时钟域(时钟域A 和时钟域B) 它们之间的信号就为跨时钟域A 和时钟域B 之间的信号线Send_data 信号和回馈握手信号线用于实现两时钟域之间控制时序的传递此时上述模块工作很不稳定模块B 中的状态机经常进入一种未知状态不能产生正确的调制器控制时序四 跨时钟域的同步设计的方法经对上述案例仔细地仿真和深入分析后笔者发现作成上述两模块工作不稳定的主要原因是没有按照同步设计的原则对跨时钟域的时序控制信号进行同步处理可以有好几种电路用于实现跨时钟域的时序控制信号的同步处理下面的电路模块Asy_syc 可以用于跨时钟域时序控制信号的同步处理Asy_inSyc_clkSyc_outTime periphery图4 Asy_syc 电路原理图上述电路的时序仿真图如下:图5 Asy_syc 时序仿真图由时序仿真图可以看出主时钟Syc_clk 的异步输入信号Asy_in 经该电路后输出同步于主时钟Syc_clk 的Syc_out 信号, 从而实现了异步信号的同步处理按照同步设计原则利用Asy_syc 模块对上述模块二(突发调制器模块)中跨时钟域的信号线Send_data 进行同步处理同步处理模块示意图如图6经实际电路验证得: 同步处理后突发调制器模块运行可靠稳定同样按同样的处理方式对上述模块一(芯片配置模块) 中跨时钟域的信号线进行同步处理经实际电路验证得: 同步处理后,芯片配置模块模块运行可靠稳定图6 同步处理后突发调制器模块框图五总结同步处理模块Asy_syc是一个很好的模块笔者用它和其它的简单模块实现了如下的功能:1. 上沿同步2. 脉冲同步3. 异步系统同步解决了好多Xilinx FPGA设计中棘手的问题参考资料XILINX FUNDATION3.1 TRAINING跨越异步时钟边界传输数据的解决方案 Peter Alfke。
关于FPGA设计中多时钟域和异步信号处理有关的问题
有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域。
换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口。
虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPGA外各种系统限制,只使用一个时钟常常又不现实。
FPGA时常需要在两个不同时钟频率系统之间交换数据,在系统之间通过多I/O接口接收和发送数据,处理异步信号,以及为带门控时钟的低功耗ASIC进行原型验证。
本章讨论一下在FPGA设计中多时钟域和异步信号处理有关的问题和解决方案,并提供实践指导。
这里以及后面章节提到的时钟域,是指一组逻辑,这组逻辑中的所有同步单元(触发器、同步RAM块以及流水乘法器等)都使用同一个网络作为时钟。
假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域。
假如设计有两个输入时钟,如图1所示,一个时钟给接口1使用,另一给接口2使用,那么我们说这个设计中有两个时钟域。
图1:双时钟域设计平时我们在设计中遇到的门控时钟、衍生时钟以及事件驱动的触发器都可归为时钟域类别。
如图2所示,通过一个简单门控时钟创建了一个新的时钟域。
我们知道,这类时钟控制在FPGA设计中并不被推崇(可以使用时钟使能替代时钟门控),然而它却非常有利于我们理解时钟域这一概念。
本章我们将着重详细讨论以下主题:•两个不同时钟域之间传输信号。
•亚稳态的产生以及对设计的可靠性的影响•通过相位控制避免亚稳态•在时钟域之间传输单个信号,将信号打两拍•使用FIFO在时钟域之间传输多位数据•使用分区同步器模块提高设计的组织架构•处理ASIC验证原型里的门控时钟•建立一个单时钟模块•自动门控移除图2:通过门控时钟创建的时钟域一、跨时钟域设计中包含多时钟域,首先要解决的是在不同时钟域之间传输信号的问题。
信号跨时钟域传输将会是一个大问题,原因如下:1、信号跨时钟域传输产生的故障总是不太容易复现。
关于FPGA中的亚稳态现象
第一章绪论 1第一章绪论1.1 论文产生的背景对于研发人员来说,可靠性是必须保证的设计目标之一。
为了验证系统的可靠性,产品在出厂前都会进行大量的整机测试,包括常温测试、高低温测试直到最终的外场测试,这些测试需要耗费大量的人力和物力。
对于开发人员来说,通常这个阶段出现的问题也是最头疼的,因为其中很多属于偶发性故障,难以复现。
比如芯片上电初始化配置经常失败,或者正常运行的系统突然发生复位,或者网口突然发生阻塞,或者常温下的通过的指标,在进行高低温实验的时候出现了恶化。
整机测试不同于平时研发的单板测试,测试手段受到很多限制。
比如由于单板装入了机壳,就不能使用JTAG口进行实时监测,也不能使用示波器排查。
但是如果在开发初期,设计者能够对系统的各个环节进行认真的评估,充分考虑了可靠性问题,那么在面对测试阶段层出不穷的故障时便能轻松一些。
关于可靠性问题,几乎所有的研究资料都推荐使用同步设计解决,因为同步设计可以保证时钟触发沿避开输入数据发生变化的区域,这也就避免了不稳定采样。
的确,实际中复杂逻辑电路均采用同步设计,FPGA厂家也只对客户的同步设计给予技术支持。
但是同步设计并非不需要考虑异步问题,因为绝大多数的设计都需要与外界通信,比如某项目中的FPGA的外围设备包括CPLD、CPU、DSP 和大量的射频芯片,这些外围器件的工作时钟与FPGA的工作时钟没有任何关系。
因此,每次FPGA与这些外围设备通信都面临着失败的风险,如何降低通信故障率是设计中的一个难点。
本文将围绕异步信号对同步系统的影响进行详细的理论分析,从数字电路的结构出发讨论亚稳态发生的根源,并结合FPGA实际设计经验介绍几种解决方法。
1.2 发展历史输入数据与采样时钟发生沿打沿(marginal trigger)的情况,双稳态电路不能在规定的时间(由厂家定义)进入稳态的现象称为亚稳态。
一旦双稳态电路进入亚稳态,那么在亚稳态停留的时间将不可预知。
在这段时间里,双稳态电路输出的电压处于非法的逻辑电平区间,具体的电压值无法预测,输出还可能发生振荡。
时序分析基础:Setuphold,跨时钟域处理和亚稳态
时序分析基础:Setuphold,跨时钟域处理和亚稳态⼀、建⽴时间和保持时间Setup/holdTsetup和Thold内数据都稳定时,data1和data2才会正常被D触发器采样⼆、什么是亚稳态百度百科上说亚稳态是指触发器⽆法在某个规定时间段内达到⼀个可确认的状态。
当⼀个触发器进⼊亚稳态时,既⽆法预测该单元的输出电平,也⽆法预测何时输出才能稳定在某个正确的电平上。
讲⼈话就是,亚稳态就是在建⽴时间或保持时间⾥数据处于不够稳定的状态、正在变化的状态,下⾯以单bit跨时钟域处理为例⼦。
三、单bit跨时钟域中的亚稳态处理先说什么是时钟域,打个⽐⽅,FPGA的主控芯⽚⼯作在系统时钟之下,系统时钟由晶振产⽣为50MHz,如果不分频,板内的所有资源都⼯作在系统时钟之下,那么这就是⼀个时钟域clk_a。
同⼀个时钟域下的信号,综合以及布线⼯具可以在data路径或者clock路径上插⼊buffer使得每⼀个D触发器的setup/hold时间都满⾜,这个时候可以简化⼀下模型,把系统时钟看成clk_a域的理想时钟,并在时钟上升沿D触发器采样(实际上是建⽴时间这个时间段采样的)。
那么当另⼀个时钟域的信号data_b来了(⼀般是外设的标志位或者数据组),就是跨时钟域了,就可能发⽣下图情况。
这时就产⽣了亚稳态,这个数据是不稳定的,可能采样到0,也可能采样到1。
可能会导致信号⽑刺、逻辑判断混乱、振荡等问题。
消除亚稳态有三种⽅法,⼀是⽤多级DFF来延时,俗称打两拍。
打⼀拍的verlog代码如下always@(posedge clk or negedge rst_n)if(!rst_n)data_r<=0;elsedata_r<=data_b;View Code这样就会发⽣下图情况在时钟的上升沿对clk_b域的data_b采样,并将其值赋给clk_a域的data_r。
亚稳态判读出的是1值,data_r就像上图中的data_r,是⼀个稳态值,亚稳态已经消去;亚稳态判读出的是0值,data_r就像上图中的data_r‘,也是⼀个稳态值,亚稳态已经消去。
FPGA_跨时钟域
跨时钟域4.1跨时钟域处理(20160620)时钟对于FPGA就像我们的心脏,时刻控制着“跳动”的频率以及“血液”的流速;时钟域好比通过心脏的血液血型,不同血型的血液会产生排斥作用。
在设计中建议时钟越少越好,好比于人有两个甚至更多的心脏,其内脏工作将会多么混乱。
但是某些情况下多时钟又不可避免,比如从FPGA外部输入的数据,其自带有个随路时钟,数据终归要在FPGA内部时钟域下处理,这来自外部的“血液”如何处理才能与内部的“血液”融合呢?配对及转换工作则是必不可少的,这就引入本节的主题:跨时钟域处理(Clock Domain Crossing):跨时钟域处理需要两方面的工作:1、设计者处理;2、FPGA工具(Vivado)处理。
1.设计者处理首先讲解一下如果不进行跨时钟域处理,会出现什么问题呢?如图1所示路径,QA属于CLKA时钟域的数据输出,另一个时钟CLKB去捕获节点REG A 的输出QA,假定CLKA与CLKB是异步时钟,它们之间的相位并不固定,因此捕获过程中可能会出现建立冲突(setup violation)和保持冲突(hold violation),如图2所示,左右分别为发生建立冲突和保持冲突的情况。
图1图2当冲突出现时(我感觉整个人都不好了),会发生什么事情呢?在发生建立冲突或者保持冲突,捕获节点(REG B)会处于一个不定的状态,正常的状态是高电平或者低电平,而此时的状态停留在高电平和低电平的中间,无效的电平X,称这个状态为亚稳态。
如图3所示,捕获节点输出保持在亚稳态,可能在整个时钟周期内都保持在亚稳态,由于不正确的状态,其后连接的逻辑在功能实现上就会出现问题,比如一个判断信号上升沿的逻辑,通常判断D==HIGH&&D_PREV==LOW(D为信号当前电平状态,D_PREV为信号上个时钟的电平状态)是否成立,而发生亚稳态时则D_PREV==X,这个上升沿将会错过。
因此,加入跨时钟域处理设计是必须的。
简谈FPGA学习中亚稳态现象
简谈FPGA学习中亚稳态现象
大家好,又到了每日学习的时间了,今天我们来聊一聊FPGA学习中,亚稳态现象。
说起亚稳态,首先我们先来了解一下什幺叫做亚稳态。
亚稳态现象:信号在无关信号或者异步时钟域之间传输时导致数字器件失效的一种现象。
接下来主要讨论在异步时钟域之间数据传输所产生的亚稳态现象,以及如何降低亚稳态现象发生的概率(只能降低,不能消除),这在FPGA设计(尤其是大工程中)是非常重要的。
亚稳态的产生:所有的器件都定义了一个信号时序要求,只有满足了。
FPGA
FPGA跨时钟域亚稳态研究作者:周伟杜玉晓杨其宇张育俊曾浩来源:《电子世界》2012年第03期【摘要】在FPGA电路设计中,一个系统可能包含了很多跨时钟域的时钟信号,当其目标域时钟与源域时钟不同时,如何在这些不同域之间传递数据成为了一个重要问题。
特别是在中心模块与外围电路芯片的通信设计中,容易导致亚稳态的跨时钟域就不可避免。
针对FPGA设计中的亚稳态问题,本文给出了一系列行之有效的解决方法,很好地抑制亚稳态,提高系统可靠性。
【关键词】亚稳态;建立时间;保持时间;异步FIFO;握手协议1.引言在FPGA同步时序电路设计中,即所有时钟寄存器的时钟共享一个时钟,可以有效地消除亚稳态。
然而,许多实际应用要求在同一个可编程逻辑器件内采用多个时钟,且核心模块与外设的通信设计也涉及跨时钟域的数据传递。
跨时钟的异步时序电路含有的多个时钟源,它们存在频率和相位的差异,当它们用作寄存器的输入时钟时,就可能违背建立时间和保持时间的要求,出现亚稳态[1-5]。
亚稳态问题是跨时钟域异步数据传输过程面临的主要问题。
在FPGA设计中,每种触发器都有时序要求。
“建立时间”(Setup time)是指在时钟沿到来之前,触发器输入信号必须保持稳定的时间。
“保持时间”(Hold time)则是指在时钟沿之后,信号必须保持稳定的时间。
这些指标通常比较保守,以应对不同的PVT(工艺、电压、温度)环境下时序各有差异的情况。
如果一个设计满足了这些时序要求,则触发器出现错误的可能性可以忽略不计。
亚稳态是当信号在跨时钟的异步电路中或是无关的时钟域之间传输时导致数字系统失效的一种现象。
为了使触发器能够正确捕获并输出数据,FPGA的信号传输数据信号都会有一定的时序要求,为了确保可靠的操作,输入寄存器的数据信号必须在时钟沿的某段时间(寄存器的建立时间Tsu)之前保持稳定,并且持续到时钟沿之后的某段时间(寄存器的保持时间Th)之后才能改变。
寄存器的输入反映到输出则需要经过一定的延时(时钟到输出的时间Tco)。
fpga中的亚稳态
fpga中的亚稳态FPGA中的亚稳态引言:FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,具备高度灵活性和可重构性。
在FPGA设计中,亚稳态是一个重要概念。
本文将深入探讨FPGA中的亚稳态,包括其定义、形成原因、影响和应对措施等方面。
一、亚稳态的定义亚稳态指的是FPGA中的一种不稳定状态,即在特定条件下,FPGA 中的逻辑电路可能会出现持续摆动的现象,而不是稳定在某个确定的状态。
这种状态不仅会导致逻辑错误,还可能对FPGA系统的可靠性和性能产生负面影响。
二、亚稳态的形成原因亚稳态的形成通常与信号传输延迟、电路噪声和时序限制等因素密切相关。
在FPGA设计中,由于电路中存在不同的时钟域、复杂的逻辑路径以及时序约束等,这些因素可能导致信号到达某个逻辑元件的时间存在微小的差异,从而导致亚稳态的产生。
三、亚稳态的影响亚稳态可能导致FPGA系统在特定条件下产生错误的逻辑输出。
这种错误可能会导致系统的功能异常,甚至严重影响系统的可靠性。
亚稳态还可能导致时序约束的失效、电路的功耗增加以及系统性能的下降等问题。
四、亚稳态的应对措施为了解决亚稳态带来的问题,在FPGA设计中,可以采取以下措施:1. 时序分析和约束优化:通过对电路的时序分析,确定逻辑元件之间的最小延迟,以优化时序约束,减少亚稳态的发生概率。
2. 时钟域划分和同步技术:将FPGA中的电路划分为不同的时钟域,并采用同步技术,确保在不同时钟域之间的数据传输的一致性,减少亚稳态的发生。
3. 噪声抑制和滤波技术:通过合理布局和设计电路,采取噪声抑制和滤波技术,减少外部噪声对FPGA系统的干扰,降低亚稳态的产生。
4. 逻辑优化和仿真验证:对FPGA设计进行逻辑优化,并进行仿真验证,以确保电路的正确性和稳定性,减少亚稳态的出现。
五、结论亚稳态是FPGA设计中需要重视和解决的一个问题。
了解亚稳态的定义、形成原因、影响和应对措施有助于提高FPGA系统的可靠性和性能。
fpga亚稳态处理方法研究
FPGA 亚稳态处理方法研究Research on FPGA Metastable Processing Method 姜群兴朱怀宇(国核自仪系统工程有限公司,上海200241)1FPGA 触发器亚稳态问题在FPGA 内部,如果触发器的输入和输出的建立时间和保持时间不满足要求,那么触发器无法在规定时间段内达到一个可确认的状态。
当一个触发器进入亚稳态引时,完全无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。
触发器可以输出高、低、亚稳态三种可能的状态,如果触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
亚稳态向后面的触发器级联传播会导致FPGA 内部逻辑失效。
使FPGA 运行在高度不确定的状态。
2三种处理方法FPGA 内部的亚稳态处理方法常见的分为三类方法。
①单bit 信号的跨时钟域亚稳态处理方案;②并行信号的跨时钟域亚稳态处理方案;③单bit 脉冲信号的跨时钟域亚稳态处理方案。
2.1单bit 信号的亚稳态处理单bit 信号的跨时钟域亚稳态处理方案,将异步时钟域的单bit 信号接入两级本时钟域的触发器。
进行两级同步处理。
可以大大降低亚稳态概率,达到常规我们认为可以接受的水平。
如图1所示,时钟域B 的输出信号进入时钟域A ,需要经过两个D 触发器处理。
处理后的输出信号出现亚稳态的概率极低,一般我们认为达到了技术要求。
图1单bit 跨时钟域信号的亚稳态处理方案如果只采用一级D 触发器处理,亚稳态虽然会降低,但是还有发生的可能性。
如果该D 触发器后有两个loading ,那么会造成同一信号出现不同结果的可能性,如图2。
经过一级D 触发器处理后会有较低概率产生亚稳态信号,如果不再经过一级处理,若是该D 触发器后挂两个以上loading 时,极有可能造成同一个信号,出现不同结果。
经过二级以后亚稳态发生的概率就极低了。
如果经过三级D 触发器,虽然效果会变得更好,但是提高的可靠性有限,且需要多耗50%资源,性价比不高。
信号跨时钟域问题分析及验证方法研究
摘 要 :航 天 用 F P GA设 计 复 杂 度 越 来 越 高 , 其 表 现 之 一 就 是 设 计 中存 在 多 个 时 钟 域 , 当信号 从 一个 时钟 域进入 另
一
个时钟域 , 即 不 同 时 钟 域 之 间发 生 数 据 交 互 时 , 就 会 带 来 信 号 跨 时 钟 域 产 生 的 亚 稳 态 问题 ( C D C 问题 ) 。亚 稳 态 问
M i c r o y
航 天计 算 机 与微 电子 2 0 1 6年 学 术 年 会 论 文 精 选
信号跨 时钟域 问题分析及验证方 法研究
王 菲, 张 莎莎, 王 茜
( 中 国航 天科 技 集 团公 司第 九 研究 院第 七 七一 研 究 所 , 陕西 西安 7 1 0 1 1 9 )
中 图 分 类 号 :T N 7 1 0
文 献 标 识 码 :A
D OI : 1 0 . 1 6 1 5 7 / j . i s s n . 0 2 5 8 — 7 9 9 8 . 2 0 1 7 . 0 1 . 0 l 1
中 文 引 用 格 式 :王 菲 , 张莎 莎 , 王 茜 .信 号 跨 时 钟 域 问 题 分 析 及 验 证 方 法 研 究 【 J ] . 电子 技 术应 用 , 2 0 1 7 , 4 3 ( 1 ) : 4 3 - 4 5, 4 9 .
( 7 7 1 I n s t i t u t e o f C h i n a A e r o s p a c e , X i a n 7 1 0 1 1 9, C h i n a )
Ab s t r a c t:T h e F P GA d e s i g n u s e d i n a e r o s p a c e i s b e c o mi n g mo r e a n d mo r e c o mp l e x ,w h i c h i n c l u d e s t h e a p p e a r a n c e o f mu l t i c l o c k d o ma i n i n d e s i g n .T h e i s s u e w i t h me t a s t a b i l i t y wi l 1 a i r s e w h e n a s i g n a l t r a v e r s e s f r o m o n e c l o c k d o ma i n i n t o a n o t h e r 。 Al t h o u g h t h e me t a s t a b i l i t y e x i s t s wi d e l y ,i t i s d i f i f c u l t t o l o c a t e t h e i s s u e b a s e d o n t r a d i t i o n a l v e i r ic f a t i o n me t h o d s ,i n c l u d i n g f u n c t i o n s i mu l a t i o n a n d t i mi n g s i mu l a t i o n .T h i s e s s a y w i l l p r o p o s e a h i e r a r c h i c a l a n d mu l t i -mo d e v e r i i f c a t i o n me t h o d f o r c l o c k d o ma i n c r o s s i n g ,w h i c h p r o v i d e s a s t r o n g r e f e r e n c e or f a n a l y z i n g c l o c k d o ma i n c r o s s i n g i s s u e .
fpga跨时钟域处理方法
fpga跨时钟域处理方法fpga 跨时钟域处理方法1.什么是FPGA跨时钟域处理?FPGA跨时钟域处理是指在FPGA中处理不同的时钟域的信号,把不同的时钟域的信号转换成成某种特定的格式或者特定算法,以便FPGA 能够处理这些不同的时钟域的信号。
2. FPGA跨时钟域处理的优势(1)更低的功耗,由于时钟频率较低,其功耗比信号时钟频率高的系统低得多。
(2)更高的可靠性,由于时钟频率较低,其硬件的可靠性比信号时钟频率更高。
(3)更快的切换和转换速度,在跨时钟域中,由于只需要处理少量的信号,因而切换和转换的速度会更快。
(4)更小的面积,由于少量的信号需要被转换,相应的FPAG占用的面积也会更少。
3. FPGA跨时钟域处理的实现(1)时间轴划分:第一步是将FPGA转换时钟域中需要处理的信号根据频率分类,并将其根据实际应用场景放置在不同的时间轴上,以便进行后续的处理。
(2)位转换和跨域转换:第二步是将这些处理过的信号转换为不同时钟频率域的信号,这种转换可以采用位级或字节级转换等,以便这些信号能够更好的处理。
(3)中转处理:第三步是将不同时钟频率域的信号做一个中转处理,将其转换成FPGA能够处理的信号,再对每个时钟域上的信号进行处理,完成跨时钟域处理。
4. FPGA跨时钟域处理的应用(1)通信领域:一些通信应用中会存在部分接收信号的处理只能在低频率的时钟域上完成,比如协议及协议解析。
采用FPGA跨时钟域处理,可以有效的提高系统的处理能力。
(2)信号处理领域:有不少信号处理应用一般要求高速处理,这就需要高频率的时钟域;而有些信号处理应用却完全不需要,而FPGA跨时钟域处理可以有效解决这个问题,同时又能提高系统的可靠性。
5.总结FPGA跨时钟域处理是将不同时钟域的信号转换为特定类型或特定算法,以便FPGA能够处理这些不同的时钟域的信号。
它具有更低的功耗、更高的可靠性、更快的切换和转换速度以及更小的面积等优势。
FPGA跨时钟域处理的具体步骤包括时间轴划分、位转换和跨域转换、中转处理等。
FPGA设计中的跨时钟域问题
Copyright©博看网 . All Rights Reserved.
152
2014 年第 37 卷
现代电子技术
MTBF(Mean Time Between Failure,平均无故障时间)是
在一些高速的设计中,可能两级寄存器同步也无法
衡 量 一 个 设 计 的 可 靠 性 指 标,MTBF 的 值 越 大,则 出 现
Keywords:CDC;metastability;synchronization;simulation
0
引
立时间或保持时间要求),其输出信号就会在一段不可
言
预知长度的时间内处于一个非“0”非“1”的中间状态(这
在 FPGA(Field Programmable Gate Array,现场可编
段 时 间 称 为 亚 稳 态 恢 复 时 间),之 后 可 能 稳 定 在“1”状
保持稳定的时间。亚稳态(Metastability)现象就是如果
寄存器数据端的变化与时钟的有效沿很近(不能满足建
图1
亚稳态示意图
亚稳态现象是寄存器的一个固有特点,由于亚稳态
恢复时间的不确定性,不能根本的去除亚稳态的影响。
通过在设计中预留一定的亚稳态恢复时间,使信号恢复
收稿日期:2013⁃12⁃19
到 确 定 的 电 平 后 参 与 逻 辑 运 算 ,降 低 亚 稳 态 的 影 响 。
Abstract:With the increasing clock frequency in the FPGA design,the clock scheme is more and more complex,and the
issue of crossing the clock domain becomes a key point in design and verification. In order to correct the function error in FPGA
【精品博文】高级FPGA设计——第四章:跨时钟域问题
【精品博文】高级FPGA设计——第四章:跨时钟域问题在FPGA设计中,不太可能只用到一个时钟。
因此跨时钟域的信号处理问题是我们需要经常面对的。
跨时钟域信号如果不处理的话会导致2个问题:(1) 若高频率时钟区域输出一个脉冲信号给低频率时钟区域,则该脉冲很有可能无法被采样到,示意图如下,clk2根本采样不到pulse(2) 亚稳态问题在说明亚稳态之前,我们需要先了解什么是建立时间和保持时间建立时间:在时钟沿到来前,被采样信号应该提前一段时间就进入稳定状态,这个时间称为建立时间保持时间:在时钟沿到来后,被采样的信号应该保持稳定一段时间,这个时间称为保持时间而亚稳态就是建立时间和保持时间不满足导致的。
如下图所示,就是建立时间不满足,造成dout是个不确定值,即亚稳态。
亚稳态会造成严重的后果。
就像将军发命令一样,若其发出的是一个亚稳态的命令,士兵A可能判定这个命令为进攻,士兵B可能判定这个命令为撤退,这将引起极大的混乱。
解决方案:1,握手操作针对问题1中所描述的情况,即快时钟域传递一个脉冲信号到慢时钟域,慢时钟域很有可能采样不到该脉冲。
这时就需要采用握手操作来解决了。
首先,快时钟域应该将脉冲信号转换为一个持续信号,慢时钟域采样到该持续信号后,返回一个反馈信号,告知块时钟域将持续信号拉低。
2,相位控制:考虑下面2种情况,情况1:情况2:上面2种情况中,数据是随着慢时钟所变化的,现将该数据发送到快时钟模块。
两种情况唯一的区别在于时钟相位的不同,但这就导致情况1满足建立与保持时间,但情况2不满足建立时间。
因此,跨时钟域的时钟相位控制是决定跨时钟域功能正常的关键因素。
这种情况一般出现在我们使用DCM模块时,这时候才能控制输入与输出的相位关系。
建议无特殊要求下,相位选择0,从而避免因相位问题导致的跨时钟域问题。
3,双跳技术(打两拍)在很多情况下,设计者是无法控制两个时钟间的相位关系的,因此方案1并不太适用。
若跨时钟信号为单比特信号,我们可以采用双跳技术来解决。
fpga中的亚稳态
fpga中的亚稳态FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,它具有可重构性和灵活性,可用于各种应用领域。
在FPGA中,亚稳态是一个重要的概念,它在电路设计和时序分析中起着关键的作用。
亚稳态指的是在电路中存在的一个临界状态,处于这种状态下的电路可能会产生不可预测的行为。
在FPGA中,由于其可编程性,电路的状态可能会在不同的时钟周期之间发生变化,从而引发亚稳态问题。
亚稳态的产生主要有两个原因。
首先,由于FPGA中的可编程资源(如查找表、寄存器等)可以在运行时进行重配置,因此电路的状态可能会发生变化。
其次,由于FPGA中的多个逻辑单元(如查找表、寄存器等)之间存在时序差异,即不同逻辑单元的输入和输出信号在时间上存在一定的延迟,这也会导致亚稳态的出现。
亚稳态在FPGA设计中可能会导致一系列问题。
首先,亚稳态可能会导致电路的输出值不稳定,即在不同的时钟周期内,相同的输入可能会产生不同的输出。
这对于一些对输出值精确性要求高的应用来说是不可接受的。
其次,亚稳态还可能会导致电路的功能失效,即电路无法按照设计的预期进行工作。
这对于一些对电路功能要求严格的应用来说是无法容忍的。
为了解决FPGA中的亚稳态问题,设计者可以采取一系列的措施。
首先,可以通过合理的时序约束来避免亚稳态的产生。
时序约束是指在设计中明确规定各个逻辑单元之间的时序关系,以确保电路的正确运行。
其次,可以通过引入冗余逻辑来提高电路的容错性。
冗余逻辑是指在电路中引入一些冗余的逻辑单元,以增加电路的稳定性和可靠性。
此外,还可以通过优化布线和时钟分配来减少亚稳态的发生。
除了在设计阶段采取措施外,还可以在验证和测试阶段对FPGA进行亚稳态分析。
通过使用专门的工具和方法,可以检测和分析电路中存在的亚稳态问题,并对其进行修复和优化。
例如,可以使用模拟和仿真技术来模拟电路的工作过程,并通过观察电路的输出来判断是否存在亚稳态问题。
FPGA中的亚稳态问题
1. 应用背景1.1 亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发器的T su和T h不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。
这段时间称为决断时间(resolu tion time)。
经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。
1.2 亚稳态发生场合只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。
1.3 亚稳态危害由于产生亚稳态后,寄存器Q端输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值。
在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断,有的判断到“1”有的判断到“0”,有的也进入了亚稳态,数字部件就会逻辑混乱。
在复位电路中产生亚稳态可能会导致复位失败。
怎么降低亚稳态发生的概率成了FPGA设计需要重视的一个注意事项。
2. 理论分析2.1 信号传输中的亚稳态在同步系统中,输入信号总是系统时钟同步,能够达到寄存器的时序要求,所以亚稳态不会发生。
亚稳态问题通常发生在一些跨时钟域信号传输以及异步信号采集上。
它们发生的原因如下:(1)在跨时钟域信号传输时,由于源寄存器时钟和目的寄存器时钟相移未知,所以源寄存器数据发出数据,数据可能在任何时间到达异步时钟域的目的寄存器,所以无法保证满足目的寄存器Tsu和Th的要求;(2)在异步信号采集中,由于异步信号可以在任意时间点到达目的寄存器,所以也无法保证满足目的寄存器Tsu和Th的要求;当数据在目的寄存器Tsu-Th时间窗口发生变化,也即当数据的建立时间或者保持时间不满足时,就可能发生亚稳态现象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有时序要求 。 “ 建立时 间” ( e u 和 复杂 化 ,只 要系 统 中存 在跨 时钟 产 生亚 稳 态 ,此 时 触发 器 输 出端 Q Stp
tm )是指在时钟沿到来之前 ,触发 域 ,亚稳态就是无法避免的,因此设 在有 效 时钟 沿之后 较长 时间处于 不 ie
器输 入信号 必须保 持稳 定 的时间 。 计 的电路首先要减少亚稳态导致错误 确定状态 ,在这段时间 内Q 端产生毛 “ 保持时间 ” (o d t m )则是指 的发生,其次要使系统对产生的错误 刺并 不断振 荡 ,最 终 固定在某一 个 H l ie
即所有时钟寄存器 的时钟共享一个时 的建立 时间T U S )之 前保 持 稳 定 ,
2 2亚稳态分析 . 跨 时钟异 步输入信 号可 以在任
并且 持续 到时钟沿 之后 的某段 时 间
( 寄存 器 的保 持 时间T )之后 才 能 何 时间 点翻转 ,它与下 级 同步采样 h
辑器件 内采用多个时钟,且核心模块 改变 。寄存器 的输 入反 映到输 出则 信 号没有 必然联 系 。此 外 ,在 数据
在 时钟 沿之 后 ,信 号必 须保 持稳定 不敏感。前者要靠 同步来实现 ,而后 值 ,这 个值 不一定 等于 原来数据 输 的 时间 。这 些指标 通常 比较保 守 , 度 )环 境下 时序各 有差异 的情 况 。 如果一个设计满足 了这些 时序要求 , 则 触发器 出现 错误 的可是一 个不 e i
F G 设计 中,要 减少亚稳 态导 正确 定 的稳 态值 。也就 是说这 种处 PA
定状态 ,就会导致系统混乱 。
致 的错误 并使系 统对产 生 的错 误不 理方 法不 能排 除采 样错 误 的产 生 。
亚 稳态 的危害 主要是 破坏 系统 敏感 ,就要 正确 定义和处 理F G 内 P A 这 时就要 求所 设计 的系 统对采 样错
保证第二级的输出的稳定电平就是正 确的电平 。前面说过经过R sl to eou in
亚稳态周期 。输 出D T O T A A U 传递 到后 传输延迟增大,状态输 出错误 。 面 的组合 逻辑 会产 生不定状 态 ,若
在 进入 下一级 采样 前还没有 进入 稳
3F G 跨时钟解 决方案 .P A
是时钟C K A L 同步产生 的,输入信 号
—
亚 稳态 是当信 号在跨 时钟 的异 态 ,即触发 器无 法在 时序要 求 的规 时采样数据D T I ,数 据信号 d t AA N aa
步 电路 中或是 无关 的时钟域 之 间传 定时间段 内达到一个可确认的状态。 输 时导致数字系统失效的一种现象 。
与外设的通信设计也涉及跨时钟域的 需要 经过一 定 的延 时 ( 时钟到 输 出 翻转 前 ,设计者 无法预 知该被 采样
数据传递 。跨 时钟的异步时序 电路含 的时间T o c )。如果数据信号 的变化 信 号的 时钟 沿或 翻转顺 序 ,也 就不
有 的多个时钟源 ,它们存在频率和相 违反 了T u h s  ̄T 的要求 ,那么寄存器 能保 证信 号满足 建立 时间 。无 法保
一
种较理想 的方法 。
有效。传输在不相关时钟域 的信号 ,
由图4 以看 出 :整个 系统 分 都有 可能在 相对 于捕获 寄存器 时钟 可
别 使用脉 冲检测 方法进 行 同步 。在 为两个 完全 独立 的时钟 域— —读 时 沿 的任何 时间 点变 化 。因此 ,设计 具体实现 中,首先 ,电路A 明它 的 钟 域和 写时 间域 ;F F 的存储 介质 者无 法预测信 号变 化 的顺 序或 者说 声 IO 请 求信 号, 即先 把数 据放入 总线 ,
下 一级产 生亚 稳态 ,即亚 稳态 的传 采样 异步输 入信 号 ,使 产生 的输 出
播 。逻辑 误判 导致 功能性错 误 ,而 信号 满足 同步系 统对建 立 时间和保
3 2握手协议 .
握手 协议 是实现 总线数据 跨 时
亚稳态传播则扩大故障面 。另外 ,在 持 时间 的要 求 ,从而抑 制亚稳 态对 钟域 通信 的一种 有效方 法 ,它 能在 亚 稳态 下 ,电源干扰 、环 境噪 声、
号 后锁存 数据 总线 ,声 明它 的 响应 址 ;读 时钟 部分 由读地址 产生 逻辑 可根 据具 体的实 际情况 而使用 异步
的方法是 使用两 级寄存 器 ,即一个
CK L
删
——●嚣●— ■
图1
信 号要进 入另外 一个 时钟域之 前用 另一 时钟 域 的时候进 行两次 寄存 ,
。
0_ L h
“J ■
。 ■ t日■ I b
]
■
产]
在 图2 中,左边 为异 步的输入端 ,经 过 两级触 发器 采样 ,在右边 的输 出
此第二个触发器Q 端基本不会产生亚 稳态 。理论上 如果 再添加 一级 寄存 器,是同步采样达 3 级。则末级输出
为亚稳态的概率几乎为0 。因此使用
两级 寄存器采 样可 以有效地 减 少亚 稳态继续传播 的概率 。 使用图2 所示两级寄存器采样不 仅能降低亚稳态的概率。但是并不能 图3握手协议 图4 异步F F l0
略不计 。 者根 据不 同的设计应 用有 不 同的处 入端 口D 的数值 ,这短时间称为判 决
时 间 ( e O u i n i e ,经 过 R S l t o t m ) 以 应对 不 同的P T ( 艺 、 电压 、温 理 办 法 。 V 工
2F G 设计 中的亚稳态 .P A
1引 言 .
在F G 同步 时序 电路设计 中 , PA 钟 ,可以有效地消除亚稳态 。然而 , 许多实际应用要求在同一个可编程逻
靠 的操作 ,输入 寄存器 的数据 信 号 电平无法 上升或 下 降到所 需逻 辑 电
必须 在 时钟 沿 的某段 时间 ( 寄存器 平 1 0 或 。
跨 时钟域 的转换 的核心就 是要
样 的T u T 时间 。如 果触 发器 的 s和 h
稳态 问题 是跨 时钟域 异步数 据传输 的输 出达到一个稳定的高或者低 电平 保证 下级 时钟对 上级 时钟数据 的采
过程面临 的主要 问题。 在F G 设计 中,每种触 发器都 PA 的状态所需要的时间会大于T o c。 随着跨 时钟域 设计 的愈发 常见 T u 间或T 时间不能满足 ,就可能 s时 h
为一块双端 HR M A ,可 以同时进行读 信 号两次变 化 间经过 了几个锁 存 时
随后发送有效 的请求r q 号给 电路 写操作 。在 写时钟域 部分 , 由写地 钟周 期 。设计者 必须考 虑到 电路 的 e信 B 。然后 ,电路B 检测到有 效的r q e信 址产 生逻辑 产生 写控制信 号和 写地 这些 情况 ,在 实际应用 中 ,设 计者
…
…
…
…
…
…
…
…
…
…
一
研发展_- (J ( ( (
FG P A跨 时钟域亚稳态研究
广 东工业大学 自动化 学院 周 伟 杜玉晓 杨其 宇 张育俊 曾 浩
【 摘要 】在F G 电路设计 中,一个系统可能包含了很多跨时钟域的时 PA 钟信号,当其目 标域时钟与源域时钟不同时,如何在
数据 信号在 传输 过程 中触发器 的建 d t 对下一级的触 发器 的时钟C K B aa L
是跨时钟 的异步信号, 由于dt 的变 aa
为 了使触 发器 能够 正确捕 获并输 出 立时间或保持时间不满足时序要求,
数据 ,F G 的信 号传输数据 信 号都 即信 号在稳 定前 的状态 ,一般 是 由 化与c _ PA L Ⅲ 时钟域 时钟 的采样边沿太 KB 会 有一 定的 时序要 求 ,为 了确保 可 于 时序余量 不够 ,使得 电路 的输入 接近 ,未满足采样建立 时间,造成的
2 1亚稳态 .
R s l t o t m 之后Q eou in ie 端经稳定 到
0 1 ,但 究竟是0 或 上 还是 1 ,是 随机
在F G 设计 中,数据信 号在 不 的。与输入没有必然 的联系 。 PA 同时钟域 间传递 ,最 容易产 生亚稳 如 图1 所示,时钟CKA L 在上升 沿
的稳定性。由于输 出在稳定前可能有 部与 外部 时钟之 间 的接 口。对 于异 误 有一 定的容 忍度 。有 些应用 本 身 毛刺 、振荡 、固定的某一电压值 ,因 步或 无关 时钟域 间传 输 的信 号 ,在 就对 采样 错误 不敏感 ,有些 系统对 此 亚稳 态将 导致逻 辑误判 ,严 重 的 F G 本地 时钟 域使用 该信 号前 ,必 错 误采样 比较 敏感 ,可 以采用 一些 PA 情 况输 出0 之 间的 电压值 还会 使 须对 其进行 同步 。 同步器 的功 能是 纠错编码手段完成错误 的纠正。 ~1
电路 的影 响 。在许 多应 用 中,跨 时 避 免亚稳态 传播 的 同时正确地 捕获
工 作温度 等细 微 的扰 动都 可 能导致 钟域 传送 的不只 是简单 的信号 ,数 总线 数据 。握手 信号 ,双方 电路在 更 恶劣 的状态 不稳 定 ,这 时系统 的 据总 线 、地 址 总线和控 制总线 都会 声 明或 中止 各 自的握手 信号前 都要
这些不 同域之间传递数据成为 了一个重要 问题 。特别是在 中心模块与外围电路芯片的通信设计 中,容易导致亚稳态的跨 时钟域就 不可避免。针对F G 设计 中的亚稳态问题 ,本文给 出了一系列行之有效 的解决 方法 ,很好地抑制亚稳 态,提 高系统可靠性。 PA
【 关键 词】亚稳态;建立时间;保持时间;异步FF IO;握手协议
位的差异 ,当它们用作寄存器 的输入 的输 出就会处于亚稳态 。此时,寄 证稳 定 的采样 ,给跨 时钟域 的F G PA 时钟 时 ,就可 能违背 建立 时 间和保 存器 的输出会在高电平1 和低 电平0 之 设计带来难题 。