深亚微米IC设计需要在更小的尺寸上实现更多的功能,并且对功耗、设计周期具有更高要求,而时序收敛问题成为满足这类设计要求的主要瓶颈。混合优化方法可以获得15%以上的时序增益,是传统时序收敛工具所能取得增益的2到4倍。本文详细阐述了混合优化与传统实现方法的能差异和具体实现方法。
当前基于标准单元的深亚微米集成电路设计正接近复杂度、性能和功耗的极限。为了满足市场需求,新一代的设计必须在更小的面积上实现更多的功能,并且要求更低的功耗、更短的设计周期。设计工具的时序准确性不足以及版图后的时序收敛问题已经成为成功实现这类设计项目的两大关键障碍。根据市场调研公司Collett International的调查,60%以上的ASIC设计都存在时序收敛问题。
一个成功的设计流程开始时必须具有明确的设计时序规范。如图1所示,设计创建的每一步都要求使用一种或以上的EDA工具来实现它的目标,包括RTL优化、逻辑综合、布局布线等。针对180nm及以下的小特征尺寸,在逻辑综合期间用于评估互连负载和时延的基于统计扇出(fanout)的线载(wireload)模型与版图设计完成后实际的互连负载和时延有很大的区别,从而导致设计的综合后和版图设计后两个版本之间缺乏可预测的时序,这也是讨论很多的时序收敛问题。此时,设计工程师必须修改RTL设计和/或约束,重新综合并重新设计版图,这是一项十分耗时的工作。在130nm以下尺寸时,估计的和实际的互连线特征之间的差异要比180nm时大很多。因此,在更小尺寸情况下,很多前端/后端迭代发生的几率会大大增加,除非新的设计工具能够在整个设计创建流程中消除或减少这些差异所带来的影响。
传统解决方案
EDA工具供应商针对这些时序收敛问题创建了中间的综合工具,该工具在逻辑优化期间会考虑到标准单元和专用宏模块的版图尺寸,这种方法也称为“物理综合”。物理综合是指将模块与宏的布局约束或限制在硅片的某个区域,以便估计出比统计线载模型更精确的互连长度的一种方法。这种在逻辑优化期间提供的物理设计信息,特别是布局信息非常有助于中等到较大规模设计的时序收敛,其收敛速度一般都要快于传统的逻辑综合/布局布线流程(见图2)。然而,物理综合并不能完全消除所有的时序问题。虽然物理综合所用的布局信息是准确的,但它缺少有关标准单元与宏模块之间连接的实际互连拓扑(详细布线)的足够信息。因此,即使在标准单元设计流程中增加了物理综合步骤,设计工程师还得在逻辑综合、物理综合和详细布线之间反复迭代才能实现时序收敛。另外,物理综合并不能完全解决实际的时钟树信息、串扰和信号完整性问题,要解决这些问题需要详细布线的精确信息。
除了物理综合外,为了解决标准单元设计中的时序收敛问题,业界还尝试了许多其它的办法。其中一个办法是扩大和改善标准单元库,提供数以百计的完全特征化单元。另外一个更费时且增加成本的办法是使用定制设计单元。设计工程师通常在设计的RTL描述中喜欢采用专门生成的大型宏单元,如专用存储器、乘法器和桶形移位器(barrel shifter)等。最后生产时,在金属层和铜互连之间使用低k值电介质也可以减轻130nm工艺节点的互连延时问题。因此有人认为,这些不同方法、工具和生产能力提高等因素的有机结合可以有效地解决时序收敛问题。然而,所有的这些方法和措施并不能完全解决时序收敛问题,而且在90nm以下时序问题将变得更加严重。
解决上面问题的一种方法是在标准单元设计流程中实现自动的单元定制设计。事实表明,如果能够认真地优化晶体管级设计,与相同复杂度的标准单元设计相比,定制设计无论在性能、面积还是功耗方面都有更好的表现。据估计,全定制设计中采用的晶体管级优化能够获得20%到70%的性能提升,同时能够极大地减少裸片尺寸和功耗。然而到目前为止,业界还不具备在ASIC设计方法中实现晶体管级优化的能力。
混合优化解决方案
为了从根本上改善时序收敛问题,业界推出了一种新设计方法,该方法结合了基于单元的ASIC设计流程与晶体管级优化功能。利用这种方法可以同时在门级、晶体管级和物理层对设计进行优化,能够充分利用定制单元、物理优化和布局精确时序方面的优势,并且不会对功耗和面积增加太大。采用这种混合优化技术,ASIC和SoC设计团队就能在对时序敏感的设计中溶入特殊设计优化单元,快速达到他们的目标性能,并获得很大的时序改进。
混合优化流程从经过综合的门级网表开始,这个门级网表带有布局信息(或无布局信息)和设计约束,然后执行静态时序分析(STA)以确定关键时序区域和路径。为了实现期望的时序目标,混合优化流程能够在晶体管级自动选择和优化门级逻辑的关键组件。一旦这些组件被确定,就会自动并透明地创建新的定制单元来替代这些组件(图3)。这是通过一组不同的晶体管级优化技术实现的,包括:1. 组件单元的晶体管级尺寸粗调整;2. 对组件中单元进行精确尺寸调整或连续的晶体管级尺寸调整;3. 在晶体管级重新构建组件中的单元;4. 创建原始库中找不到的全新单元;5. 以上这些优化步骤的有机组合。通过对晶体管级尺寸进行粗调整和精细调整,单元所需的时序关系就能得到精确匹配,从而最大化局部的时序精度,并最小化对芯片面积的影响。新的定制单元与给定库中所有现存的标准单元兼容。
给定设计的关键逻辑中发现的时序关系推动着整个混合优化流程。与预定义的固定库单元不同,混合优化流程能够根据所要达到的目的来选择修改已有库单元,或创建一个新单元。此外,该流程能够选用精细的连续和离散晶体管级尺寸调整操作,以满足当前的时序目标要求。混合优化完全能“意识”到布局,通过使用精确的布线预测器来确定一个已经实现布局的设计中指定部分的时序关系。
混合优化可以在布局前或布局后使用,可以在使用线估计(wire estimate)方法为相对较小的模块进行网表优化前使用。在这种用法中,Synopsys的DesignWare库函数可以使性能提高20%。通过插入特定内容的定制单元,该方法能够对设计最初阶段的全局时序产生重大影响。
混合优化还能用于布局后的大型模块。在提供内部模块布局信息的条件下,混合优化工具可以用于对时序要求严格的特定端点,并针对设计中具有严格时序要求的部分创建尺寸最优化的单元。为了解决物理设计问题,这些单元除了针对关键路径时序优化过外,还被设计用于避免出现高的局部拥塞。在布局导入后,可以采用路由估计法确保时序精度。最后,这种优化工具还能用来在时钟树综合完成后进行一定程度的修改,这种修改不会扰乱有序单元或时钟树本身(图4)。
一旦混合优化技术识别出一整套特定设计单元后,就可以通过自动单元版图和特征化流程为所有这些单元创建实际的版图和详细的视图。图5中所示为自动单元版图和特征化流程的典型示例,可以利用这一流程评估为特定设计创建的单元,并将这些单元用作标准单元库的一部分。该流程采用了领先EDA供应商提供的顶级工具中的即插即用架构,可以实现:单元版图创建;设计规则和正确性(DRC/LVS)检查;寄生参数提取;单元特征化;验证新建单元的设计功能。
混合优化技术的实验结果表明,设计工程师可以在设计周期末期获得15%以上的时序增益,是传统时序收敛工具所能取得增益的2到4倍。此外,这些实验证实,如此之大的设计性能提升可以通过缩短设计的非次要(关键)路径取得。而且,这些性能增益无需前端/后端设计迭代或重写就能实现,因此能够极大地减少纳米时代设计的成本和风险。
作者:Debashis Bhattacharya
Zenasis Technologies公司
Lorena Anghel
副教授
法国格勒诺布尔国家工学院
京公网安备 11011202001138号
