理论上,物理合成工具具有关于布局的所有必要信息;实际上,它们还必须非常仔细地与实际布局数据相关联。一个芯片的设计涉及很多阶段,从系统规格和架构设计,各种制造方法,到最终装入设备的成品芯片的封装。在这个周期中,准确预估时机和面积是非常重要的,因为这样,我们才能做出准确的计划,让产品满足各方面的需求。本文将介绍这一过程中的物理设计(或后端设计)部分,尤其是物理设计相关步骤中的时序和面积的相关性。

集成电路(IC)设计流程和物理设计步骤(图1)

大规模设计的整个物理设计过程可能需要很多天才能完成。因此,如果能够尽早向设计和架构团队提供反馈,使他们能够规划时间约束并自由、快速地使用布局选项,将会创造有价值的价值。为了实现这些目标,有必要可靠地估计时间和面积。在过去,我们很好地掌握了集成布局和布线之间的相关性。对于时间序列,精度大概在3%到4%左右,面积的结果更好。然而,在新的先进工艺中,从28 nm工艺节点开始,我们遇到了越来越多意想不到的结果。我们不仅看到物理综合结果与布局布线的实际时序差距更大,还看到一些时序路径明显变快,而另一些则慢得多,这是相当令人费解的。在观察该地区时,结果更令人担忧。从合成到布局,相关性变得相当差,如下图所示:

布局阶段(上)和布局阶段(下)的综合单元密度对比(图2)上图是CEVA-XM4岩心的单元密度图,对比综合阶段(上)和布局阶段(下)的单元密度。布局图像的橙色部分显示面积显著增加。在这种情况下,该地区的总体增长率约为18%。这很糟糕,但可能是可以忍受的。但考虑到大部分设计都是固定区域(内存和寄存器),从综合到布局根本不会改变,显然有些部分确实会超过最大限度。分离出缓冲区单元面积后,我们发现综合面积增加了118%,也就是说缓冲区的数量和面积都增加了一倍多。在达到极限单元密度(标记为橙色)的区域,布局工具发现很难确定单元的合理布局并进行多次迭代,因此需要花费大量时间来收敛。

通过增强时间序列和面积之间的相关性来解决这个问题的第一个尝试是收紧频率。也就是说,我们尝试以较高的频率合成,然后在布局布线阶段切换到稍低的频率。但是这个方案没能解决问题。另一种尝试是减少网络和单元的定时。其实减少时序就是增加使单元处理速度变慢或变快的系数。我们试了几个号码。我们探索的另一个方向是提高提取数字的相关性。这是通过将系数应用于网络的电阻和电容(RC)的提取值来实现的。这些值通过改变其RC值直接影响网络的延迟,通过改变其负载电容影响单元的延迟。从电气工程的角度,我们知道随着制造工艺的收缩,电阻的作用会越来越突出。一方面,导线的电容保持大致相同(或者至少相同的数量级)。另一方面,阻力也会越来越高。此外,在高级工艺节点上,顶部两个金属层的电阻远低于其他层的电阻。这也意味着,对于布局工具来说,决定哪些线进入较高层,哪些线留在较低层将会越来越成问题。受影响最大的当然是带缓冲的长期网络。那这就是为什么缓冲区有如此显著的增加,而与长线网络相关的计时会变得更糟。

将布局阶段(上)的综合单元密度与应用系数后的布局阶段(下)的综合单元密度进行比较(图3),我们发现越来越多的电阻提供了更好的面积相关性和时序相关性。为实现良好相关性而设计的不同因素是不同的。如上图所示,将系数应用于电阻后,综合与布局的相关性显著提高。我们再次对比了综合区(上图)和布局区(下图)。从布局图的橙色区域可以看出,仍然有相当多的高利用率负载,但比以前少了很多。在这个例子中,精度大约是5%,这是相当合理的,并且将实现良好和高效的工作流。

应用结果,我们看到在先进技术中,阻力对时序和面积有很大的影响。虽然在理论上,物理合成工具具有关于布局的所有必要信息,但在实践中,它们仍然必须非常小心地与实际布局数据相关联。这个过程可能很耗时,但收益显然大于成本。说到底的工作,最好是在设计过程的步骤之间保持可靠的相关性,从而获得快速灵活的设计,并从一开始就对最终目标有清晰的认识。