一种基于PT HyperScale适用于大规模设计的混合静态时序分析方法

SNUG China 2019 2019 15 页

一种基于PT HyperScale适用于大规模设计的混合静态时序分析方法

会议: SNUG China 2019 作者: Arthur Chen, Eric Liao, Y.J Xiao, Dennis Lin, Lewis Chu (Global Unichip Corporation, Shanghai) 页数: 15


摘要

随着设计规模和复杂性呈指数级增长,在时序收敛阶段,使用传统的分层全芯片静态时序分析(STA)流程签核(signoff)时将面临巨大挑战,同时导致研发人员开发的时间越来越紧张。通常,对于先进工艺全芯片级别的任务,需要几十台具有巨大内存资源的服务器,在此前提下全芯片在PrimeTime阶段也需要花费几天时间。HyperScale是最新一代的分层模型技术,旨在大规模设计应用于顶层时序阶段来提高签核的效率。本文首先介绍ETM 提取时序模型ILM 接口逻辑模型HyperScale 分层模型之间的差异,从而解释HyperScale如何带来快捷的全方位的分层签核。本文还介绍了包括"自下而上"和"分布式分析"的HyperScale流程。本文将重点介绍创意电子设计团队将HyperScale流程与自身提出的混合STA + Semi-HyperScale等流程结合应用于四个设计的案例。团队通过统计四个案例的机器运行时间与内存用量等数据,使之与平坦化STA流程相比,确保GUC混合STA和平坦化之间良好相关性的前提下,能够满足我们严格的设计要求。


目录

1. 简介 2. 适合大规模设计的STA方法 2.1 HyperScale是解决大规模设计的最佳选择 2.1.1 提取时序模型(ETM) 2.1.2 接口逻辑模型(ILM) 2.1.3 HyperScale 2.2 HyperScale上下文 2.3 HyperScale模型 2.4 HyperScale支持的场景 2.4.1 HS-Bottom Up 2.4.2 HS-Distributed Analysis (HS-DA) 3. 大规模芯片的挑战与创意电子提出的解决方案 3.1 HyperScale用于GUC大规模芯片与挑战 3.2 GUC针对大规模芯片的STA方案 4. GUC大规模芯片的案例研究 4.1 案例研究设计一(28nm, 2亿门) 4.2 案例研究设计二(16nm, 10亿门) 4.3 案例研究设计三(12nm, 8.5亿门) 4.4 案例研究设计四(7nm, 30亿门) 5. 总结 6. 参考文献 7. 致谢


1. 简介

近年来随着人工智能、超算与加密货币等应用蓬勃发展,因为设计本身的规模巨大和复杂性,需要使用分层(Hierarchical)工具和设计方法。今天的大型设计采用分层流程实现,模块单独实现并将它们集成在顶层。然而,全芯片静态时序分析 STA的签核(Signoff)流程,传统上依赖于平坦化(Flatten)技术以实现所要求的准确性,由此导致运行时间和内存使用量的增加极大地影响了设计人员的工作效率。从财务的角度来看,购买更多的机器并不是良好的解决方案。设计团队试图通过使用模块的黑盒子(.lib)或灰盒子(ILM)视图来解决这个问题,以减少周转时间(TAT)。这些模型具有各种精度限制,因此签核分析仍需要平坦化。近年来,凭借较少的机器资源签核已成为我们关注的焦点。

基于PrimeTime HyperScale技术的分层STA方法,重用模块时序可以大大改善运行时间和内存使用。自动和准确的在顶层(top)和模块(block)之间更新全芯片上下文(context)的模块精确抽象,以实现更快的时序收敛。HyperScale旨在与平坦化时序紧密相关,芯片级时序以分层方式运行,与平坦化时序相比,使HyperScale执行相同的延迟(latency)计算和时序分析,成为替代全芯片签核平坦化时序的可行选择。此外,HyperScale不需要对静态时序分析流程和脚本进行重大更改,只需要在当前的PrimeTime脚本中添加内容就行。

创意电子作为台积电的设计服务公司,服务广大对台积电先进工艺有需求的客户。我们针对四个大规模芯片使用基于HyperScale的各种独创的技术,这些项目中最大的逻辑门数超过30亿门。平坦化全芯片时序分析在运行时间和内存(DRAM)消耗对于这些大规模设计而言非常高,因为内存的限制甚至根本就做不到。因此,分层方法对于时序收敛是绝对必要的。

2. 适合大规模设计的STA方法

对十亿门等级的大规模设计必定会遇到运行时间跟内存容量的问题,传统平坦化STA方法学还能用吗?使用ETM/ILM的分层STA时,大规模模块的ILM时序模型或ETM这种包含时序弧(timing arc)的.lib文档,应用于更大规模顶层设计的时序签核是否合乎要求?

2.1 HyperScale是解决大规模设计的最佳选择

2.1.1 提取时序模型(ETM)

ETM是一种具有library格式的分层模型。在ETM模型中,只保留边界时序弧(timing arc)而没有任何逻辑。这种方式完全减少模块级实例的数量,以显着加快顶层签核时间。但是,基于最差的接口定时路径生成时序弧,当集成到顶层时难以绑定其他路径组合。因为模块逻辑在顶层视图中是黑盒子,所以它对ECO不友好。

2.1.2 接口逻辑模型(ILM)

ILM是另一种具有网表和寄生参数格式的分层模型,它保留了与接口相关的组合逻辑。模块接口逻辑在顶层视图中可见,这是与ETM相比的关键优势。但是ILM中保留的串扰信息仍然不完整,有三个已知的关键限制导致在顶层作SI ILM时潜在的乐观估计。

2.1.3 HyperScale

HyperScale是新一代的二进制格式的分层模型,可以完全准确地模拟模块级的信息。它有几个好处和创新: 1. 最具创新性的特性是顶层的边界上下文生成 2. 自动检测并突显出顶层和模块级之间的约束映射不匹配 3. 从顶层视图保留并显示所有主时钟源和生成的时钟源网络 4. 记录完整攻击者信息,导致更准确的串扰分析

HyperScale解决了SI ILM的所有已知限制。

表1:HyperScale是解决大规模设计的最佳选择

特性平坦化STASTA w/i ETMSTA w/i ILMHyperScale STA
运行时间与内存使用效率基准较高中等
GOCV跨顶层与模块的时序质量最佳
AOCV跨顶层与模块的时序质量最佳缺少详细级数信息<10ps<10ps
模块时序分析精确程度没有没有有(上下文)

2.2 HyperScale上下文

HyperScale上下文在模块边界捕获实际的时序信息,利用上下文来记录模块边界转换(transition)、输入延迟(input delay)、时钟延迟(clock latency)等时序信息。顶层+HyperScale模型会将顶层的信息记录在上下文数据库里面,模块只要读上下文就可以知道外界的时序情况。

2.3 HyperScale模型

HyperScale模型包括三种类型的逻辑: 1. 输入到寄存器边界逻辑加上相关的侧输入引脚 2. 寄存器到输出边界逻辑加上相关的内部路径存根(stub)引脚 3. 高扇出引脚代表移除高扇出逻辑的时序

HyperScale模型包含在顶层进行精确时序分析的必要逻辑,从而产生快速紧凑的模型。

2.4 HyperScale支持的场景

2.4.1 HS-Bottom Up(自底向上)

自底向上的方法由下一层层往上: 1. 先产生模块级HyperScale模型 2. 顶层使用模块级模型重新计算边界时序并输出边界上下文 3. 使用精确的边界上下文对模块内部R2R时序进行模块级重新分析

好处:模块可以与顶层独立运行,加速5-10倍运行时间,比平坦化STA内存用量更小。

2.4.2 HS-Distributed Analysis (HS-DA)

分布式多核分析中,计算会被分为"多个分区"。操作方法是读入芯片平坦化的设计,自动运行顶层+HS模型STA以及模块+上下文STA。资源使用量是平坦化的一半,提供全芯片报告。

3. 大规模芯片的挑战与创意电子提出的解决方案

3.1 四种设计的问题与挑战

设计工艺逻辑门数STA方法
设计一28nm2亿AOCV
设计二16nm10亿AOCV
设计三12nm8.5亿AOCV
设计四7nm30亿POCV

面临的挑战: 1. HS-Bottom-Up与HS-DA哪一种方法合适? 2. 能否在512GB内存机器上运行"顶层+大规模HS模型"的STA流程? 3. 时钟穿过MIM模块时的时序收敛问题 4. 如何保证HyperScale STA的质量跟平坦化STA一样?

3.2 GUC混合STA方案

创意电子提出的混合STA方法使用Semi-flatten STA用切割(partition)的方式收集所有时序报告,再跟HyperScale STA做相关性比较。具体策略: 1. 采用HS-Bottom Up方法取代HS-DA 2. 使用Semi-HyperScale STA方法将模型分割得更细致 3. 当时钟穿过MIM模块时,利用"Selective MIM group"方法 4. 由Semi-flatten STA的相关性结果来保证GUC混合STA的质量

4. GUC大规模芯片的案例研究

4.1 案例设计一(28nm, 2亿门)

HS-Bottom Up比HS-DA快71%运行时间。HS-Bottom Up比平坦化减少33%运行时间跟85%的内存使用量。时序相关性在+4.4ps到-3.2ps之间。

4.2 案例设计二(16nm, 10亿门)

平坦化根本无法运行(内存不足512GB)。GUC混合STA - Semi-HyperScale方法将内存使用降至288GB,运行时序相关性在+2ps到-2ps之间。

4.3 案例设计三(12nm, 8.5亿门)

Selective MIM group方法解决时钟穿过MIM模块的上下文相关性问题。GUC混合STA内存仅用8.8GB,时序相关性在+1ps到-1ps之间。

4.4 案例设计四(7nm, 30亿门)

GUC混合STA仅需352GB内存(平坦化超过512GB无法运行)。时序相关性很好:+5ps ~ -5ps和+3ps ~ -2.9ps。

5. 总结

Synopsys的HyperScale STA对大规模设计更有效率,可以提升运行时间与内存的使用量。创意电子提出的混合STA方法有效实现最佳运行时间与解决有限内存的挑战。

6. 参考文献

[1] PrimeTime User Guide
[2] PrimeTime HyperScale User Guide
[3] PrimeTimeSIG_Taiwan_SNUG_2014_Mediatek
[4] PrimeTime HyperScale Training

7. 致谢

感谢新诺普思科技(北京)资深应用工程师冀文青先生为本文做出的贡献。


图片索引

本文共11张图片,存放于 SNUG_CN_Chen_PT_HyperScale_paper_images/ 目录:

- 图1: HyperScale模型包含的项目 - 图2: 通过HyperScale建模侧输入路径模型 - 图3: 自底向上STA - 图4: 分布式分析STA - 图5: 时钟通过MIM模块的情况 - 图6: GUC针对大规模芯片的STA方案 - 图7: 案例设计一运行时间与内存使用的比较 - 图8: 案例设计二的挑战与解决方法 - 图9: 案例设计三挑战与解决方法 - 表1: HyperScale是解决大规模设计的最佳选择 - 表2-10: 各案例运行时间与内存使用比较和时序相关性