弹性计算与大数据分析解决物理验证的复杂性问题

作者:Nitin Navale,美国圣何塞Xilinx公司CAD经理

更大、更复杂的芯片设计不仅让验证方法捉襟见肘,而且也在拖延获得结果及产品推向市场的时间。Xilinx工程师希望利用大数据分析简化其对先进芯片的验证流程,于是他们将目光投向了Ansys,以期解决这一问题。

当前,许多正在快速发展的应用,无论是人工智能、自动驾驶、基础设施,还是高性能计算(HPC),都主要依靠领先的现场可编程门阵列(FPGA)获得其性能和灵活性。

Save PDF 订阅
Elastic Compute & Big Data  Analytics Tackle Physical Verification Complexity

xilinx xcvu440

Xilinx XCVU440可能包含多达400个架构子域(FSR)实例,而每个架构子域实例则有多达5000个IP块实例

芯片设计趋势及其随之而来对获得更高性能及更大功能性的压力,驱使Xilinx工程师逆流而上。Xilinx坐落在美国硅谷,拥有长达35年的悠久历史,是一家令人敬重的公司,也是现场可编程技术的源头。由于其独特的可编程架构,与标准集成电路或定制片上系统(SoC)相比,FPGA一直是相对较大的器件,但最近该公司的Versal ACAP产品上新特性激增,这使得这些产品现已变得更大、更复杂。

此外,超低电压还可导致极其微弱的噪声裕量,因此可变性可能会很严重,这将影响时序,其中作为一种电压函数的时序延迟变量会一直随每个节点的变化而变化。

这些FPGA设计涉及几十亿个实例和晶体管,需要更大的容量以及足够的规模和覆盖范围(比传统动态分析和静态签核方案高50倍),才能进行适当的时序分析。如果工具容量已限制,团队一般就没有充足的预算或上市时间来承担运行时间更长的仿真或更大的仿真周期,因此就无法获得适当的覆盖范围。

其它需要考虑的问题包括2.5D及3D封装布线的复杂性、诸如晶圆基底芯片(CoWoS)等技术、鳍式场效应晶体管(FinFET)上老化导致的应力,以及热和焦耳加热等。此外,设计人员还需要对芯片、封装和系统一并进行建模,确保良好的整体供电网络。

silicon interconnect technology

芯片互联技术器件在一个芯片内插器上包含多个裸片,单个裸片包含100到400个架构子域(FSR)实例,FSR通常有2500到5000个IP块实例

绞尽脑汁解决复杂性问题

面对这类复杂性,Xilinx团队随机应变,解决了这些验证难题。该公司采用Ansys提供支持的大数据分析和弹性计算功能,可在加快设计完成速度的同时,准确覆盖可能在芯片上发生巨大变化的多物理场问题。

Xilinx XCVU440是Xilinx的一款最新产品,包含3千万个ASIC门。该系列的任何一款产品可能都包含多达400个架构子域(FSR)实例,每一个架构子域实例有多达5000个IP块实例。(FSR是仅次于整个芯片的第二大构建块。)IP块实质上为异构:定制、半定制、数字和混合信号。

Xilinx不缺乏静态时序分析(STA)经验,然而现代STA已成为愈发棘手的挑战,工艺节点更精细,特性复杂性更高。该公司需要针对电源电压以及更大的覆盖范围精确建模,单个裸片上有数十亿个实例和晶体管,工程师需要从能够在足够覆盖范围内进行扩展的解决方案获得更高的容量。

以前,要在子域上执行STA,设计人员会将整个芯片加载到工具及无需关注的黑盒区域。然而事实证明,通过隔离或删除设计部件来执行STA越来越艰难,使用传统方法进行扩展,现已开始分崩离析。而且,甚至黑盒IP也会消耗内存并对工具性能产生影响!传统方法最适合实例极少的大型模块,而XCVU440并非那种怪物。

相反,该团队研究了一种子系统方法,其不仅可简化STA挑战,而且还可在不影响精度的情况下,加速获得结果的进程。他们选择采用Ansys SeaScape,这是一款专门构建的大数据平台,可提供弹性计算功能和分布式文件/数据服务。SeaScape不仅可处理大型设计,而且还能以更少的内存占用,高效将其分配在更小CPU上的计算集群中。通过该平台,他们能够加载芯片并对其进行切分,从而为仅由整个器件最相关方面构成的STA分析创建虚拟设计。

随着仿真数据量增加至无法处理的程度,Xilinx利用Ansys SeaScape及其映射减少分析,为加速时序分析切分了芯片级设计。

timing capture

Xilinx有一个名为时序捕获(Timing Capture)的内部流程,其不仅需要芯片的物理视图,而且还需要有点对点互联延迟的意识。时序捕获关注的并非整个设计的时序,而是非常关键的互联路径的子集

ANSYS SEASCAPE为时序分析实现大规模设计扩展

设计团队一开始将整个芯片加载到SeaScape中,作为抽象物理视图:芯片级模块的设计交换格式(DEF)和标准寄生交换格式(SPEF)以及IP块的库交换格式(LEF),然后将其切分至只包含下游分析所需IP实例的精准列表。在SeaScape中,他们可以便捷删除不需要的IP实例,随后删除所有仍在浮动的网络。为确保不丢失电容性加载,所有悬空耦合电容都连接至一个虚拟干扰源,与原始芯片相比,最终视图的范围缩小了,其中包含精确的IP实例,以便进行准确的分析。

从那里,该团队可导出切分过的Verilog、DEF和SPEF视图,其可加载在其它分析中。

随着仿真数据量增加至无法处理的程度,Xilinx利用Ansys SeaScape及其映射减少分析,为加速时序分析切分了芯片级设计。

Xilinx做了一个在“mini-SoC”上使用单个FSR的实验,其中包含大约375,000个模块实例。如果该团队没有对其进行过滤,而是按原样运行纯FSR,其STA定时器将无法处理这个量。Ansys SeaScape无缝管理的切分工作只需40个SeaScape处理单元,运行时间为6.5小时,STA随后处理切分后设计所需的时间,每个工艺角可能会长达12个小时之久(以真实运行时间为准)。有趣的是,通过Ansys Path FX进行相同的设计,每个工艺角所需运行时间仅为1个小时(使用一个主设备许可证并由42个处理单元)。

该团队随后通过多FSR的中等规模实验(33个FSR和3200万个模块实例)进行了相同的测试。和之前一样,STA无法在未切分过的设计上完成。切分之后,以墙上的真实运行时间为准,每个工艺角完成STA的时间为4天。同样,Path FX仍然更快,完成时间为1天。

该团队获得的成果是:采用近乎整个芯片的设计版本,然后进行切分,以适应STA工具,最终在合理的时间内实现签核。

ANSYS REDHAWK-SC:全芯片EM/IR签核,满足未来需求

与此同时,Xilinx另一个团队正在使用Ansys RedHawk-SC进行EM/IR签核,以了解该工具如何处理同一大小全芯片的复杂性及扩展性。EM/IR签核的目的是将芯片分成可在1-2TB主机上处理并在夜间运行(最好能8小时运行)的区块。

为了更好地把握后续技术节点设计复杂性的增加,可将Xilinx 16纳米 UltraScale+设计作为一个参考点。该团队为整个这块芯片签核EM/IR的方式是将其分为7个分区,一个人大约需要一个月才能完成初始化设置。通过ECO执行迭代重复运行,一个人大约需要一周时间,才能覆盖整个芯片。要实现相同的工具容量和分析吞吐量,7纳米Versal芯片需要40个分区和5倍的工程师工作时间,才能在同一时限内完成,这种资源投资根本无法延伸至未来。

ansys redhaw-sc

但与STA不同,这次Xilinx工程师能够将未切分的数据集直接提供给RedHawk-SC,RedHawk-SC基于SeaScape,本身就能处理切分。在实验中,该团队针对静态IR压降(在供电网络中因其电气阻抗损耗的直流电压)分析了中等布局与布线模块,以对比经典4核RedHawk与16核RedHawk-SC的运行情况。以真实运行时间时间为准,经典RedHawk的测试时间为57分钟,而RedHawk-SC则为18分钟,这是进行其它比较的良好基线。接下来的比较测试了包含7800万个逻辑门的超大型布局及布线区域:再次在这两款工具中运行了静态IR压降,经典RedHawk在单台主机上最多只能运行16个内核,而RedHawk-SC 则可在LSF集群中轻松扩展至136个内核。

由于RedHawk-SC在众多机器和处理单元之间对设计进行分区,因此实验要求每个处理单元的峰值内存仅为29GB,而经典RedHawk的峰值内存则为655GB。对比真实运行时间,RedHawk-SC的分布式计算完成静态分析只用了2.5小时,而经典RedHawk则用了22小时。

这一结果是性能的显著提升,RedHawk-SC有助于加速完成的进程和分布式计算,这是通过比经典RedHawk更精细的粒度实现的。毫无疑问:这就是EM/IR分析的未来。

ansys redhawk vs ansys redhawk sc

ANSYS PATH FX:芯片级互联延迟的弹性计算

除了传统STA时序收敛外,Xilinx还有一个名为时序捕获的内部流程,其专门针对Xilinx全可编程架构提供,由XilinxVivado软件驱动。Vivado是对芯片进行编程的工具,其自身就像一个完整的实现流程,时序捕获不仅需要芯片的物理视图,而且还需要有点对点互联延迟的意识。

在对芯片进行编程时计算这些延迟是不现实的,因此Xilinx在设计芯片时预先计算了这些延迟,然后将其编程到Vivado中。这样,该工具不仅早已知晓位于不同PVT工艺角的互联时序,而且还会使用该时序在编程过程中对芯片进行优化。测量这些延迟的流程与传统STA中的关键路径时序分析类似,时序捕获关注的并非整个设计的时序,而是Vivado描述的非常关键的互联路径子集。

xilinx versal

Xilinx Versal是一款自适应计算加速平台(ACAP),这是一种全新的异构计算器件

对于传统STA工具而言,必须单独处理每个有冲突的路径,每个冲突都意味着更新时序的单独调用,即使是可以组合在一起的路径,这一过程也十分耗时。Xilinx希望在不影响精度的前提下,提高吞吐量和并行性。

该团队转而使用Ansys Path FX执行关键路径时序分析,其可在整个芯片间,甚至是有冲突的路径上同步计算引脚对引脚延迟。Ansys Path FX实现这一应用的方法是:先将约束单独用于每个路径,随后在众多处理单元之间完全并行地分配大量路径。基于FX晶体管级仿真模型进行延迟计算,就意味着不会影响精确度。

这就是弹性计算的用武之地:您可将这些路径按少量工作分配给LSF(负载共享设备)集群间的大量主机。

该团队运行端对端测试,通过95,000个查询路径将Path FX与其传统STA签核工具进行了性能比较。在测试中,以真实运行时间为准,在该公司信任的STA工具中创建数据库用了1个小时,而在Path FX中只用了15分钟,所用内存空间不相上下,约为55 GB。

下一个阶段是路径延迟计算,这才是Path FX真正大显身手的地方。所用的STA工具需要190个独立工具调用以及近2000个小时的计算时间,才能完成对所有路径的测量。真实运行时间很难精确确定,因为该团队使用了大量在半并行LSF配置中运行的工具调用,在完全并行运行所有190个工具调用的最佳(且成本最高的)案例中,理想情况下用时可能为3.5个小时(以真实运行时间为准),但实际更有可能接近100个小时。与此同时,Path FX的原生并行性帮助这个团队以单个工具调用和7.4个小时的计算时间,完成了相同的任务。Path FX的用时(以真实运行时间为准)极少,仅为21分钟

该结果大大超出了设计团队的预期,该团队使用传统STA工具的半并行方法,用一周时间熟悉了这项工作。

与传统STA工具的190个许可证相比,Path FX配置(1个许可证和42个处理单元)看起来成本更低。

sta tool vs ansys path fx

量大、速度快、精确

为突破现代仿真的瓶颈,Xilinx不仅重新构思了其设计方法,而且还采用了使用Ansys工具的全新方法。这些工具已证明,在涉及时序和EM/IR分析时,其可在不影响精确度的情况下,显著加速获得结果的进程。在该过程中,Xilinx采用了已得到Twitter和Amazon等公司支持的方法:大数据分析。

随着仿真数据量增加至无法处理的程度,Xilinx利用Ansys SeaScape及其映射减少分析,为加速时序分析切分了芯片级设计。同样,RedHawk-SC和Path FX可使用智能切分及分区功能,以及弹性大数据计算,将每一项庞大的EM/IR或互联时序工作分成一系列容易理解的块,在后端分析的各个环节中,新一代芯片将依靠Ansys工具推出。

与 ANSYS 取得联系

联系我们
联系我们