应对扫描压缩逻辑的合成挑战
与一个伪CDL拼接,根据扫描链的第一个触发器对CDL进行修改,以确保没有冲突。然后CDL单独进行合成,并与之前创建的网络表合并。
这种方法的优势在余不会在CDL边界增加锁定触发器,因为每次CDL都将根据扫描拼接进行配置。缺点是随着实施周期的进行,将添加新的触发器,且每次都需要对CDL进行修改。
反馈法:在这种方法中,先计算设计中正边沿和负边沿触发器的数量,然后根据扫描链的数量产生CDL。下面的示例说明了这种方法与自定义CDL方法的不同之处。假设一个设计中有4000个触发器,其中有3700个正边沿触发器和300个负边沿触发器。现在拼接扫描链(约100个触发器/链)并得到分布(如表1所示)。
现在将生成用于触发器合并的CDL,这样在CDL接口就不会存在正边沿-负边沿触发器对,同时将强制进行合成,以便根据RTL调整扫描链中的触发器。这可通过一些脚本来实现。
与自定义CDL方法相比,这种方法的优势在于整个合成在一次运行中完成。缺点是:在实施反馈法之后,CDL的RTL比较稳定,但是如果负边沿触发器的数量突然发生变化,则需要再次重复整个周期。
使用设计中现有的触发器:在这种方法中,CDL的RTL不会发生变化,且每次合成都通过同一个CDL完成。在扫描拼接后,扫描链将重新排序,以消除发生冲突的机会。
这种方法的优点是,即使新版本RTL的触发器数量突然发生变化,DFT团队也无须创建新的CDL,因为CDL代码是固定的。与自定义CDL和反馈法相比,这种方法效率更高,但是在对扫描链进行重新排序以消除冲突时,却可能发生覆盖丢失。"覆盖丢失"可通过下面的示例说明。
只要正边沿-负边沿触发器以这种顺序进行配对,便会发生发起和捕捉冲突,因为发起和捕捉将会在边沿2和边沿3发生,如图7所示。为了消除这种冲突,我们可以重新进行排序,或者在这两个触发器之间添加一个触发器。尽管这样能够消除早期冲突,但是我们将无法检查在插入的触发器上收到的数据,这将导致覆盖丢失。
添加伪触发器:这种方法克服了上述各种方法的所有缺点。该方法中,在预计发生冲突的所有地方都添加了一个伪锁定触发器。在这种情况下,不会存在增加覆盖丢失的影响,也没有移动设计触发器方法中讨论的问题。
这种方法非常高效,因为不需要增加DFT和合成团队的工作。此外,它还解决了覆盖丢失的问题。但此方法的缺点是添加了额外的单元。在对电力极其敏感而电力又十分关键的情况下,这会形成一种阻碍。这些少数单元的漏电量会显著增加设计的总漏电量。
本文小结
表2汇总了本文所讨论的各种技术。扫描压缩逻辑是复杂SOC必须提供的功能,而添加压缩逻辑却增加了合成过程中扫描拼接方面的挑战。有许多方法可应对这些挑战,然而,添加伪触发器方法具有其他方法无法比拟的优势。虽然因为添加了锁定触发器而需要进行一些权衡,但是,我们已经看到额外锁定触发器的数量非常有限(远小于总时序元件的0.1%),因为只会在预计发生捕捉冲突的那些链中添加锁定触发器。上述方法将有助于最大程度减少DFT和合成设计团队之间的重复工作,从而加快设计完成速度。
- 晶体管热阻测试系统的设计与实现(01-01)
- 一种超宽脉冲发生器的设计(02-16)
- 各种晶体管的检测方法大全 (07-05)
- 晶体管的检测经验(09-17)
- 判别端子晶体管测试仪(09-09)
- 内置波形发生器的示波器进行元器件测试(10-28)