130nm串扰延迟的处理技术

来源:EDN CHINA 电子设计技术 作者: 时间:2005-01-10 23:30

     (华强电子世界网讯) 在当今的深亚微米设计中,诸如串扰延迟等信号完整性效应可能导致无穷尽的信号损害,对时序收敛造成负面影响。然而,你可以通过串扰延迟预防、分析和修复方法,来应对这种挑战。在采用这三种方法时,Freescale公司利用诸如MPC5554 型32位嵌入式控制器之类的IC,迅速实现了130nm SOC(单片系统)设计的时序收敛。这种器件基于符合PowerPC Book E的e500芯核,拟应用于需要复杂实时控制的应用系统,如先进的汽车传动系统。图1简要示出了这种SOC设计所集成的主要外围设备。


    图1,MPC5554的方框图(a)及其相应的芯片相片 (b)展示了这种32比特嵌入式控制器的集成度和复杂度。

    
      随着几何尺寸不断缩小,为了管理信号完整性问题并减少达到时序收敛所需的分析与修复迭代次数,在设计流程中及早预防串扰变得越来越重要。某几种由串扰引起的时序扰乱修复起来很困难、很费时,从而使得预防工作至关重要。有几种方法有助于你在设计的早期预防串扰。
    
      串扰预防
    
      当侵扰网络和受害网络相距很近时,就会产生串扰。因此,高度拥挤的区域或设计都提供一种容易产生串扰的环境。结果是,为了降低整个设计的拥挤程度,就需要更多地进行平面规划。
    
      合适的平面规划可降低所产生的串扰量,并可在串扰发生时和串扰发生处有予以修复的余地。例如,设计过头的供电网不必要地减少了布线资源。尽管这些供电网一开始会加快IC的制造速度,但却会使信号完整性修复起来更加困难。因此,把时间花费在定制供电网上应能腾出布线资源,有助于减少串扰问题。
    
      为了有助于防止布局中的串扰延迟,重要的是使用为设计中的预防和校正而配备的一种工具来完成彻底的串扰与噪声预分析。这种设计使用了Synopsys Astro-Xtalk。尽管定时窗口及其它延迟计算可能不如Synopsys Primetime SI等STA(静态时序分析)工具提供的计算准确,但是信号完整性预防功能有助于缩小串扰的初始范围。
    
      时钟网络及其它高扇出网络包含许多级逻辑电路。时钟树网络中的每一个接收器都可能引起一个几乎可忽略不计的很小串扰增量。但是,这些由时钟源至目的地的延迟之和(即总增量)可能足以引起一个很大的定时扰乱。
    
      尽管STA工具可能会在被称为定时时钟再收敛的过程中降低来自时钟树公共部分的定时分担量,但当启动时钟和捕获时钟不一致时,这种选择对于最大延迟分析并非总是合理的。另外,当许多小串扰分量引起定时扰乱(例如在一棵时钟树上)时,修复就会很困难。而且,修复即使很成功,也会严重影响设计。因此,预防串扰延迟是最佳途径。将时钟网络布线间隔增加一倍或两倍,再将时钟网络布线限制在拥挤程度不高的顶部金属层内,就可以有效消除时钟网络的串扰延迟。屏蔽时钟网络布线是另一种方法,不过这种方法有一个缺点,那就是时钟等待时间会因接地电容增大而增加。
    
      虽然间隔增加两倍、屏蔽及利用保留金属层三种方法适用于时钟和其它高扇出网络,但是这三种方法都需要昂贵的资源。有一种代价不大的方法就是不使用低驱动单元,尤其是在串扰噪声干扰具有极强破坏性的异步网络上。具体地说,在复位网络的结构中使用较高驱动单元,可提高潜在侵害网络的门限,从而降低受害网络的受害程度和数量。
    
      预防串扰延迟的一种有效措施是在导线负载综合时将最大转换时间DRC设置为1 纳秒。这一步可促进更稳定的不大容易受侵害的缓冲器的使用。
    
      另一种有效措施是为“建立与保持”定时目标提供保护间隔。当你考虑信号完整性效应,这些目标具有更多的设计余量。在未意识到信号完整性的综合阶段,还不可能预测串扰会对一条条定时路径产生何种影响。不过,间隔较小的路径更容易转变成定时扰乱。因此,在未意识到信号完整性的综合阶段,为“建立与保持”定时提供保护间隔有助于降低串扰引起的定时扰乱的数量。尽管提供保护间隔会导致门电路数量和面积的增加,但其好处是降低了总体串扰量。
    
      为了在时钟树综合阶段降低串扰量,不使用小缓冲器和使用更高驱动单元可使时钟树和复位树上的受害网络更少。此外,减少时钟树的插入延迟也可能意味着沿启动时钟和捕获时钟路径上累加的递增串扰增量更少。
    
      为了验证这些串扰预防措施是否起作用,我们在Synopsys PrimeTime SI中使用TCI(工具命令程序)程序来分析时钟树网络上的串扰分担,并将每一对驱动器-接收器上的最小与最大分担量之间的差别写到一个文件中。这些数值说明串扰对每个时钟树部分的总体影响。对这些数据进行分类就能使我们很方便地确定问题并修复有问题的网络。
    
    

    图2,修复串扰延迟的顶级算法流程说明了该过程的迭代性。

    
      串扰延迟修复
    
      目前的预防技术无法消除所有由串扰引起的损害,因而必须进行串扰延迟修复。图2示出了串扰延迟修复的顶级流程。你首先在非信号完整性流程上进行迭代,直到达到或至少接近于没有负间隙。然后在启用信号完整性以确定是否存在需要修复的任何负间隙的情况下,执行静态定时分析。一个生成串扰修复制约条件的程序可产生两类修复输出文件:一个针对网络排斥的方案原程序和一个针对网表变化的写入原程序。
    
      方案原程序输出能自动生成网络排斥,或者,在时序收敛的最终阶段指导网络手工移动。你可以利用Synopsys 公司的Astro布局、布线和修复工具输出的寄生文件来检查修复的效果。写入原程序输出包括来自最大延迟分析的单元扩容和用于最小延迟分析的延迟单元插入。你可以将这个文件读回到STA/信号完整性工具中,以便验证所提议的修复情况,否则,RTL综合工具就会利用这个文件来生成已修复的网表。你可以按照达到无负间隙所需的频度来重复导线排斥和网表更新循环。
    
      这个流程采用了用户定义的变量来确定每个方法产生的修复比率。如果你的物理布局资源短缺,网表变化又允许,你就可以更加着重于网表更新。随着网表变化的容许极限消失殆尽,你可更加着重于网络排斥。
    
      静态定时分析
    
      为了给信号完整性分析和修复扫清道路,你可以在非信号完整性定时流程上进行迭代,直到你的设计接近于100%无时序扰乱。当在STA工具中启用信号完整性时,运行时间及内存使用量就会大大增加。幸运的是,可采取简单而有效的步骤来仔细监视和控制这个过程。首先,通过在整个原程序的关键点上插入“mem”和“cpu”命令,可以提高对某个会话的内存占用面积和CPU使用量的可见度。
    
      第二,通过将STA工具定时更新变量和时序报告变量设置为高设定值,可以获得有关报告生成特别是定时更新的详细进展情况。内存占用面积可能增加一倍,因此,在大型设计上,必须使用64位版本的STA工具。与禁用信号完整性的情况相比,在这种方式下需要花费更长时间来执行定时更新,所以应该避免不必要的更新。
    
      因为这个过程会大大延长运行时间并提高对计算资源的要求,所以设计小组从信号完整性的角度来确定关键的STA模式是很有好处的。当你充分降低你在这些主要模式下观察到的扰乱数量时,就可以运行所有的STA模式来进行最终分析和修复。
    
      生成修复
    
      解决串扰问题的方法有:将受害网络从主要侵害网络处移开,提高受害网络驱动器的驱动强度,在受害网络中插入缓冲器,或者降低侵害网络驱动器的驱动强度。为了生成修复,这一设计采用了除最后一种方法之外的所有方法,因为降低侵害网络驱动器强度可能会对非信号完整定时产生不利影响。这一流程能自动地一一分析所有定时扰乱,并根据失效路径特征和用户自定义变量的值生成修复。单元扩容或导线排斥可以修复最大延迟扰乱。你也可以通过单元插入或导线排斥来修复最小延迟扰乱。从理论上说,导线排斥可以单独修复所有串扰引起的扰乱,但是这种方法的迭代次数可能比预想的多,尤其是就通过高度拥挤区域的定时路径而言更是如此。
    
      信号完整性分析与修复
    
      修复时序扰乱的流程采用两个嵌套环路来处理一组扰乱路径(图3)。外环路处理失效路径,内环路处理驱动器-接收器对。对于每个部分来说,你可以根据该信号在失效路径中的转换方向来选择上升或下降的串扰增量。如果该部分的串扰低于用户定义的门限变量,串扰分担量就可忽略不计,你可以处理下一个部分。如果串扰增量超过了最小值,你就需要针对最大延迟扰乱进行扩容修复。在分析了每条定时路径之后,你将沿路径的总串扰分担比率除以间隙,再与用户提供的最小比率进行比较,以确定是否可以利用导线排斥来得到“一次通过”修复。你可以将比率超过了最小比率的路径看作是适合这种方法的路径,并将这些路径加入待修复的路径组。要通过单元扩容(最大延迟)或缓冲器插入(最小延迟)来修复串扰-间隙比低于该门限的路径。系统并不实时进行扩容或缓冲器插入,而是将其写入RTL综合工具可以用来生成新网表的一个原程序文件。换句话说,STA/信号完整性工具可以利用这个网表来验证修复是否成功。
    
    

    图3,为了修复串扰引起的定时扰乱,这种算法使用了一对嵌套环路。

    
      在对所有路径进行分析之后,系统生成一个完整的待修复路径组。具有串扰延迟的网络能生成多个失效定时路径,因而在修复文件中存在多个条目。这一过程的最后阶段是从方案中消除冗余线路并编写原程序文件。
    
      单元扩容
    
      要通过对受害网络上的驱动器单元进行扩容来修复最大延迟扰乱。由于在不产生新扰乱的情况下修复受害网络是合乎需要的,因此我们可以根据串扰增量的大小来选择新驱动器强度,由此确定单元扩容的程度。Tcl程序可以查找替代驱动器单元,并根据单元名称提取所有的有效强度值。然后,该程序将这些强度值放入一个数组,将其分类,并将一个指针调到当前驱动强度。此外,该程序还将受害网络上的串扰增量与用户提供的四个门限值进行比较。你可以根据串扰增量符合哪一个门限值来使驱动

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子