如果在具有多个时钟的非同步系统中使用FPGA,或者系统中的时钟频率或相位与FPGA所使用时钟频率或相位不同,那么设计就会遇到亚稳态问题。不幸的是,如果设计遇到上述情况,是没有办法完全解决亚稳态问题的,不过还是有一些方法可降低系统出现亚稳态问题的几率。
先来深入研究一下引起亚稳态的原因,再谈谈用哪些方法加以应对。
什么是亚稳态
在FPGA等同步逻辑数字器件中,所有器件的寄存器单元都需要预定义信号时序以使器件正确地捕获数据,进而产生可靠的输出信号。当另一器件将数据发送给FPGA时,FPGA的输入寄存器必须在时钟脉冲边沿前保证最短的建立时间和时钟脉冲边沿后的保持时间,从而确保正常完整地 接收信号。
在一定的延迟后,寄存器输出端随后将信号发送到FPGA的其他部分。不过,如果信号传输违反了指定时间要求,那么输出寄存器可能就会进入所谓的亚稳态,这就导致寄存器输出值会在高低状态之间波动,且这种状态的时间不确定,从而使稳定输出状态无法达到寄存器指定的时间,进而造成性能略有延迟或逻辑行为的副效应。
解决问题
一般来说,将FPGA连接到另一个具有不同时钟域的数字器件时,必须给FPGA的输入部分添加一级同步,使FPGA时钟域中的第一个寄存器充当同步寄存器。为了实现这一目的,可在FPGA器件的输入级中使用一系列寄存器或同步寄存器链。该链可在输入寄存器将信号发送到FPGA的其他区域之前,允许 能有更多的时间解决潜在的亚稳态信号问题。亚稳态信号的稳定时间通常比一个时钟周期要短得多,因此即便延迟半个时钟周期,亚稳态出现的概率也会按数量级减少。
为了降低亚稳态问题的出现概率,在设计中实现的一系列寄存器(连接成移位寄存器)必须满足以下标准要求:
所有寄存器必须由同一时钟,或与同一时钟相位相关的时钟控制。
链中每个寄存器的扇出都仅针对相邻的寄存器。
由于不能完全消除亚稳态问题,因此必须做好解决问题的准备。为此,设计人员采用平均故障间隔时间(MTBF)这个指标来估算从问题出现并导致故障的两个事件间的平均时间。MTBF值越高,说明设计的稳定性越高。如果发生了“故障”,只是说明没有解决亚稳态问题,并不是系统本身真的出现了故障。
可用以下方程式计算出寄存器的MTBF:
在本例中,C1和C2代表寄存器技术相关常数,tMET代表亚稳态的稳定时间。
可根据每个寄存器的MTBF,确定总的MTBF值。同步器的故障率为1/MTBF,则将每个同步器的故障率相加,就能计算出整个设计的故障率:
从上式可以明显看出,通过改进寄存器单元的架构,优化设计以延长同步寄存器的tMET,甚至增加链中寄存器的数量等多种方法来改进MTBF。
高层代码与布局图
如果发现输入信号存在潜在的亚稳态问题,只需创建与同一时钟有相位关系的时钟驱动的寄存器链就能解决此问题。这需要提供如图1所示的电路。
图1 同步器链的默认布置图
图中,将寄存器链放置在两个单元中:第一个为ILOGIC单元,而另外两个寄存器放置在SLICE单元中(选择具有相同时钟的3个寄存器和链)。这是减少亚稳态问题的一种快速且非常简单的方法,还有其他一些方法不但可减少亚稳态问题,还可优化性能。
使用赛灵思逻辑块的IDDR方法
在Virtex-4和Virtex-5 FPGA中,赛灵思将其ILOGIC模块直接放置在I/O驱动器和接收器的后面。该模块包括4个存储元件寄存器和1个可编程绝对延迟元件。
Virtex-4与Virtex-5器件均采用这4个寄存器来实现双倍数据率输入(IDDR)寄存器,功能设计师只需例化IDDR原语便能实现。这将使 受益匪浅。
这种原语的其中一个模式称为SAME_EDGE_PIPELINED。图2显示了采用这种模式的DDR输入寄存器及相关信号。绿色矩形框显示了一系列最优的寄存器,可用其解决亚稳态问题。此外,使用 IDDR 方法还有一个优势,即能使用两三倍之多的主时钟,同时又不会造成任何设计时延问题。
图2 SAME_EDGE_PIPELINED模式中的输入DDR
只需少量代码
在《Virtex-4用户指南》的328~329页,举例说明采用VHDL和Verilog语言编写的IDDR原语的例化。以下采用Verilog语言的IDDR原码例化的典型实例:
defparam IDDR_INT2.DDR_CLK_EDGE = "SAME_EDGE_PIPELINED";
defparam IDDR_INT2.INIT_Q1 = 1'b1;
defparam IDDR_INT2.INIT_Q2 = 1'b1;
defparam IDDR_INT2.SRTYPE = "SYNC";
IDDR IDDR_INT2( .Q1(sync_data),
.Q2(signal_noload), .C(CLK_2X),
.CE(1'b1), .D(async_data),.R(), .S());
在图3中看到全新的布局图。 用这种方法将寄存器链放置在两个单元:前两个寄存器放置在ILOGIC单元中,另一个寄存器则放置在SLICE单元中(这里选择的链具有3个寄存器和2个不同的时钟,其中一个时钟速度是另一个的两倍)。
图3 显示IDDR替代的同步器链
整体而言,亚稳态问题会给设计带来不便,但采用一些快速便捷的解决方案(如以一种新的方式使用IDDR原语)就能大幅降低设计发生亚稳态问题的几率。大家应在创建设计时就采用上述方法,而不应事后亡羊补牢,这样就能创建出既能灵活应对亚稳性问题,而且所占面积、性能和成本又得到优化的架构。
上一篇:LDO 电压调整器的基础知识
下一篇:变频调速系统设计中的问题探讨
推荐阅读最新更新时间:2023-10-17 15:11
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET
- Vishay推出适用于恶劣环境的紧凑型密封式SMD微调电阻器
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 创益通:目前5G通讯连接器主要通过中航光电间接为华为供货
- 雷曼光电海外订单需求增加 国内Micro LED超高清显示份额提升
- 歌尔股份:公司MEMS气流传感器等产品在电子烟等领域应用
- 润欣科技:公司提供的芯片与IC方案用于连接和感知物理世界
- 风华高科:公司新增月产280亿只片式电阻器项目产能释放50%
- STM32小白入门(第12天)---I2C协议
- SPI I2C 的原理及在STM32上使用I2C总线的常见问题
- STM32常用通信——USART,IIC,SPI,CAN
- 关于stm32通信协议:软件模拟SPI、软件模拟I2C的总结
- 计算机与MCU通信及MAX232、CH340T与PL2303的区别