采用Magma Talus的时钟树实施
3.调整时钟树以减少偏移
调整时钟树是一项棘手的工作。首先,它要视起始时钟树的质量而定;其次,对它有一定要求,要求在尽可能少增加树延迟和面积的同时达成偏移目标。时钟偏移会影响建立和保持时序,最终影响整个芯片的时序收敛。其基本目标是要在不影响整体结构并保持转换率等标准的前提下插入缓冲器以调整时钟偏移(clock skew)。
Talus使用“run gate clock”来调整时钟树。如只针对偏移目标,这个功能的作用并不能很好发挥出来。尤其对于有些小分支,Talus可能会增加极长的缓冲链以平衡偏移,缓冲器间的距离很小。单元延迟在这些缓冲链的分支延迟中占主要部分;而其它常规分支延迟则是互连线延迟占主要部分。这可能导致横跨不同角点的巨大偏移问题。我们开发了一个半定制脚本来指导Talus应对这个问题。它可限制用于偏移平衡的缓冲器类型、缓冲器间线长距离以及新网络的布线方式。通过这些额外的控制,我们通常可获得100ps全局偏移和仅100ps左右的时钟树延迟增加。
第IV章:来自CTS实验的最佳实践
1.采用适当叶转换(leaf slew)来创建时钟树
表-4显示了叶转换是如何影响到时序和功耗。它依据不同叶转换时间对建立时序、保持时序和功耗进行了对比;当转换时间的增加、建立和保持时序总负余量提高时很容易就可发现这种情况。转换时间快对时钟网络功耗也较为有益。随着转换时间的提高,短路功耗会相应增加。它也是转换目标与树面积间的一种折衷权衡。过紧的转换会导致时钟树面积、层数和延迟的提高。它需要多次迭代的实验来才可获得最佳效果。
2. 指定缓冲器/反向器类型以指导Talus,实现更好QOR。
Talus的CTS性能易受到时钟单元类型的影响。如果不加以适当约束,Talus呈现给您的将会是具有长插入延迟的差的树结构。驱动能力弱的时钟单元也同样用于时钟树,这可能导致不同角点时序水平的显著降低。表-5是两个CTS结果间相同分支的比较:一个有时钟缓冲区和转换器控制,另一个则无。从表中,您可看出,通过采用时钟单元约束,Talus可创建更好的时钟树。
3. 优化时钟布线。
我们通常期望时钟网络可采用更高优先级、更好布线类型来进行布线。但光是这样还不够,特别是在深亚微米技术中,串扰效应对整个芯片的时序和良率都有重大影响。时钟信号通常以极高速度地运行,切换的频率比数据信号的都要高。因此如何隔离时钟线和常规信号就显得至为重要。首先,我们要尽可能多地在厚层上进行时钟信号布线。厚层的单元电阻和接地电容较低。显而易见,分配长的时钟网络到厚层中并采用更宽的宽度和更大的空间也可改善时钟转换。Talus可定义非默认规则并设置首要层从而实现它。出于对有些关键时钟的考虑,推荐防止串扰的方式就是用接地信号对时钟线进行屏蔽(shield)。由于非默认规则布线对可布性有影响,因此它是时序与布线间一种折衷方案。在我们的设计中,我们根据线长、驱动单元类型及等级来定义不同规则。最终,它可使得时序网络更具鲁棒性。
第V章:结论
在我们的案例中,Talus CTS引擎能够处理非常复杂的树结构。它提供了充足的CTS行为配置选项。CTS引擎的核心十分强大,足以创建一个平衡的基本时钟树。但如前几章所讲述的,它也是有些局限性。幸运的是,基于TCL环境和易于访问的DB,我们开发了一些功能强大的半定制脚本来指导CTS引擎并增强其性能。通过这种方式,我们的大部分设计要求都可得到满足。
评论