• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 手机设计 > 业界动态 > 序列门控在扫描位移中实现强大的时序闭合

序列门控在扫描位移中实现强大的时序闭合

录入:edatop.com     点击:
    在本文中,我们将首先快速回顾锁存器与触发器的时序基本概念。在下一节中,我们将介绍扫描链以及与其相关的时序闭合问题。然后,我们将解释如何在扫描链中使用锁存器和触发器创建强大的扫描结构,以避免在小于90纳米的技术中出现时序故障。我们将介绍最优秀的解决方案,满足扫描链中所有可能出现的时序元件组合的时序要求。

建立/保持时序概述

触发器和锁存器是时序电路的两个基本构件。触发器在所应用的时钟脉冲的活动边沿(正或负)更改其状态。触发器在无活动时钟边沿时只保持其输出。另一方面,锁存器是电平敏感器件,它不断对其输入进行采样,并相应地在某些电平启动信号的活动脉冲电平(正或负)上更改其输出。触发器采用主从配置,有两个锁存器在彼此相对的活动电平上以级联方式工作。一个触发器的面积几乎是锁存器面积的两倍。

为了实现同步设计,我们需要确保触发器/锁存器的输出不处于亚稳状态。这可以通过在设计中满足建立和保持检查要求来确保。

在触发器中,1-1是保持检查,而1-3是用于单周期操作的建立检查(图1)。我们需要确保由触发器1发出的数据在下一个活动边沿之前由触发器2捕获。同时,我们也需要确保由触发器1发出的数据在相同的活动边沿上没有被触发器2捕获。

用于单周期操作的建立检查

图1

当第二个触发器被负边沿触发后,建立检查将是1-2(见图2),而保持检查将发生在上一个负边沿(见图2)。这意味着由触发器1发出的数据不应被之前触发器2的下降沿捕获。除非我们拥有超过半个周期的时钟偏移,否则无法以实时的方式将其实现。

当第二个触发器被负边沿触发后

图2

因此,在正-正或负-负触发器对中,建立检查默认为一个周期,保持检查为零周期,而在正-负或负-正触发器对中,建立检查默认为半个周期,而保持检查为反向的半个周期。现在让我们了解一下锁存器中的时序检查概念。

<script src="/jf/jf-arcMain-1.js" type=text/javascript></script><script type=text/javascript></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript></script><script src="http://pagead2.googlesyndication.com/pagead/js/r20110608/r20110607/show_ads_impl.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></script><script>google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script><iframe id=google_ads_frame1 name=google_ads_frame1 marginWidth=0 marginHeight=0 src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-7913339004558941&output=html&h=250&slotname=6759329637&w=300&lmt=1308048728&ea=0&flash=10.3.181.16&url=http%3A%2F%2Fwww.elecfans.com%2Femb%2Ffpga%2F20110614202028_2.html&dt=1308160371562&shv=r20110608&jsv=r20110607&saldr=1&correlator=1308160371609&frm=4&adk=698887027&ga_vid=1451151372.1308160372&ga_sid=1308160372&ga_hid=1239700367&ga_fc=0&u_tz=480&u_his=1&u_java=1&u_h=864&u_w=1152&u_ah=834&u_aw=1152&u_cd=32&u_nplug=0&u_nmime=0&biw=1123&bih=688&eid=33895298&ref=http%3A%2F%2Fwww.elecfans.com%2Femb%2Ffpga%2F20110614202028.html&fu=0&ifi=1&dtd=63" frameBorder=0 width=300 scrolling=no height=250 allowTransparency></iframe>

扫描链

扫描链用于在SOC中执行测试。设计中的所有寄存器以串行形式连接,外部芯片提供刺激,然后读出这些链的输出,监测是否有固住/状态转换故障。当今的SOC都非常复杂,并且在单一芯片中具有多个时钟域。虽然在逻辑合成之后扫描会拼接出一个设计,一般还是需要注意将具有相同时钟结构的触发器拼接在同一个扫描链中。但是,由于可用于最高级别的扫描输入/输出端口是有限的,因此在不同时钟域之间混合寄存器是无法避免的。使扫描链具有不平衡的长度也不是最佳解决方案,因为这样会增加总体测试时间。因此,这种设计结构会在之后的设计阶段中导致时序闭合问题。因为扫描位移在低频进行,并且触发器对,之间需要的逻辑最小,如果有的话,因此建立闭合将不是问题。但是,因为最小逻辑和触发器对之间出现的偏移,这些路径是关键的保持路径。正如我们在前面所讨论的,因为来自不同域中的触发器在扫描链中被混合,所以在许多情况下发出和捕获触发器之间会出现巨大的偏移。在设计的后期阶段,由于噪声的影响会出现许多保持时间违规,这将导致无论在稳定或闭合设计中都会出现保持缓冲,从而引发设计故障。

更差的情况可能是,我们的减额裕量可能并不充足,并且我们仅可以从硅片上发现保持故障。如果异常的时钟路径非常巨大,并且硅片上的实际偏差高于预计偏差,则有可能会出现这种情况。当我们进一步使用小于90纳米的CMOS技术时,偏差影响将变得越来越占主导地位,并将导致硅片上出现许多保持偏差。扫描移位路径中的保持故障会导致严重的后果。需要进行多次调试,并且需要花许多时间来检测硅片上的故障链。当我们也具有用于扫描的压缩逻辑时,这种情况会变得更加糟糕。即使检测到了故障链,我们也需要将其阻塞,这将导致减少测试覆盖范围。

总之,扫描链中的保持故障风险很高,必须实现足够强大的设计才能处理这些不确定因素。

可以有多种解决方法,例如,对扫描链重新排序,根据寄存器的位置重新布置扫描链。尽管这些技术非常容易获得,设计者也必须对其进行仔细探究,正如我们前面所讨论的,扫描链在两个时钟域之间交叉的情况是不可避免的。

解决这种问题的一种更为有效的方式是提前采取措施,并在构建扫描链的逻辑合成阶段处理这些问题。来自相同时钟门控逻辑的所有触发器都应拼接在一起,并且在这些触发器束的末端可以插入一个锁定的锁存器,以避免从这个域的最后一个触发器到下一个时钟域的第一个触发器之间出现任何保持故障。

图3所示的例子将有助于我们理解这一概念。

扫描链例子

图3

如果时钟周期为50ns并且偏移为5ns,我们必须在设计后续阶段的触发器3和触发器4之间插入具有相当于5ns以上减额裕量的保持缓冲器。正如前面所讨论的,由于小于90纳米设计中的ocv,我们的标准减额可能因为异常时钟路径超出特定限制而变得并不充足。例如,对于具有10个额外时钟缓冲器的捕获路径来说,每个时钟缓冲器只具有5ps偏差(超出并超过减额值)将导致50ps的偏离。另外,由于OCV的因素。这一偏移可能会超过5ns,该一裕量可能并不充足。

解决上述问题的解决方案是在触发器3输出中插入锁定的锁存器,同时使锁定的锁存器具有与触发器3相同的延迟。

正如以上波形中所示(图4),当我们在 触发器3 和触发器4之间插入锁定锁存器时,我们的时序路径将被分为两个阶段。

波形

图4

1. 从触发器3到锁定锁存器

保持检查从1-1开始,它仍然是零周期检查,但是因为没有偏移,因此非常简单易行。默认建立检查从1-2开始。

上一篇:ON 安森美半导体推出创新的集成ESD保护的共模滤波器,用于高速串行接口
下一篇:引领平板电脑、PC的安全单芯片系统处理器

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

易迪拓培训课程列表详情>>

我们是来自于研发一线的资深工程师,专注并致力于射频、微波和天线设计工程师的培养。

  网站地图