仿真高手的秘籍:华大九天ALPS大规模高精度仿真器之Snapshot功能的实战应用

在电路设计领域,为了追求极致性能并确保产品能以最快速度成功推向市场(TTM,Time to Market),工程师们常常面临着各种极具挑战性的难题。华大九天推出的大规模高精度模拟仿真器Empyrean ALPS®,凭借其卓越的Snapshot功能,突破了传统仿真的局限,宛如黑暗中的一盏明灯,为加速芯片设计带来了全新的解决方案。

芯片设计中的常见挑战

1 电压电流保存不足的困扰

一开始觉得芯片能正常工作,仿真后发现波形异常,然而却没有保存相应的电压电流?

当集成电路(IC)运行了一段时间后,若运行状况出现异常,此时需要保存更多的电压电流数据来进行故障排查(debug)工作。然而重新启动仿真速度慢效率低,且传统的功能也无法派上用场:这是因为要保存细查(probe)的电压电流和之前不同;这一差异会导致传统的模拟求解器无法正常工作,最终工程师只能无奈地选择重新跑仿真。如果能有办法让仿真具有从某个关心的仿真点继续跑仿真,同时可以更改保存的电压、电流信息就好了!

2 不收敛问题与精度问题和仿真配置的博弈

遇到不收敛问题,是否可以从某个时间点修改仿真设置,例如设置新的method?精度Liberal宽松提速后发现的问题,到底是精度问题,还是芯片内部藏有bug?

大规模电路仿真遇到不收敛问题,通常需要尝试很多不同的方法来解决。其中就涉及到可能更换新的仿真设置method,例如从trap变成gear等,是否具有不再重新kick-off仿真的快速验证仿真收敛问题的方法呢?为了提升仿真效率,工程师可能会将整体仿真精度设置为较为宽松的“Liberal”模式。然而,当模拟/数模芯片经过长时间仿真后,工程师们发现某些模块之间的协同工作存在问题,此时难以判断是仿真精度不足导致的误差,还是芯片设计本身存在bug。如果选择重新从零时刻开始仿真,则需要重复上电等耗时步骤,以致浪费大量时间,效率低下。是否可以从某个波形不太友好的时间节点、开启(turn on)了相应的模块之后,把精度设置到conservative呢?

3 面积与性能trade-off时电路反复调试的繁琐

使得模拟电路拥有极致的面积与性能平衡,是每一位工程师的不懈追求;为此,电路被反复迭代优化,在“设计-仿真-改电路-重新仿真”之间循环往返。

一个模块(block)在压榨面积的同时,单个模块的驱动能力尚可。但当多个block协同工作或者进行顶层(Top)仿真时,负载(loading)走线过长,导致驱动能力(Buffer)不足。工程师只能修改设计,在电路图中额外添加buffer来增强驱动能力。此外,上级模块的噪声会干扰子系统(sub-system)的指标,这就需要修改电路,并且针对修改部分重点进行仿真验证。要是在0时刻到300us内的仿真行为没有改变,能复用之前的仿真结果就好了。

4 后仿真版图微调的尴尬

流片前夕,后仿真发现版图寄生效应还是影响到一些性能,很快改了版图,然而电路后仿真如果重新开始,实在是太慢了...

在后仿真阶段,工程师提交仿真任务后,次日甚至更久后检查结果发现异常,发现是版图的寄生效应对芯片性能产生了影响。于是版图工程师迅速对几条关键信号线的版图进行了微调,不到一小时便高效完成。但新的难题接踵而至:尽管版图调整已完成,可后仿真网表有了细微变化。要是后仿真从头开始运行,至少将耗费数小时。而实际上,后仿真任务的前半部分毫无变动,真正需要验证的只是调整后的部分。此时若能复用之前的仿真结果,仅对调整部分重新仿真无疑会大幅节省时间,提升效率。

ALPS模拟仿真器的Snapshot功能

面对上述重重挑战,华大九天的旗舰产品—大规模高精度模拟仿真器Empyrean ALPS®的Snapshot功能完美地破解了这些棘手难题。该功能赋予工程师极大的便利,他们能够在指定时间点重新开启仿真进程,而无需再从初始状态开始漫长等待。更为关键的是,这种断点继续仿真的功能还能适用于在仿真过程中改变保存的电流电压信号,适应新的微调过版图的后仿真,甚至是增加了buffer等电路微调之后的仿真场景,并能支持后仿真对前仿真结果reuse等功能。

1 Snapshot功能的配置说明

Save仿真时间的配置有以下几种(见图1):

  1. save clock:单位为小时,作为仿真本身所使用的CPU/GPU的物理时间;例如每间隔0.5小时、1小时等,保存信息到auto.asf中(见图2)。

  2. save period:为tran仿真间隔保存的时间/周期;例如,tran仿真每间隔设定为2us时候,则仿真在2us、4us、6us、8us等仿真时间完成后均保存信息到auto.asf中,且更新到最新的“偶数”us的仿真时间。

  3. 当save clock和save period都设置的时候,auto.asf仅保存最后一次,从而减少对仿真空间的占用且同时得到了最新的仿真结果。

  4. save time:可以填写任意希望保存的文件,只要写了这些仿真时间点,系统就能生成对应的Snapshot 文件,从而让用户能够更加精准地选择从某个特定的仿真时间节点开始继续运行仿真。例如,当填写了1us、5us、13us几个仿真时间节点,就会产生图2中相应的1e-06.asf、 5e-06.asf 和1.3e-05.asf文件。

1.jpg

图1. Aether仿真平台的设置

2.png

图2. 仿真保存的asf文件示例

设置好这些配置后,再次跑仿真时,只需写明“recover path”并标注好文件即可。例如选择auto.asf文件,就可以以save clock获取的最新物理仿真时间(如2小时)或者save period得到的最新tran 仿真时间(如16us)作为断点续存内容。按照save time配置,可在1e-06.asf、5e-06.asf 和1.3e-05.asf等文件中自由选择希望recover的asf文件。

2 Snapshot功能的波形查看

当两次仿真都完成之后,采用华大九天模拟电路设计全流程EDA工具系统的iWave波形显示工具,可以将两次仿真波形进行融合(merge),轻松合并两次仿真结果。

  1. 打开iWave工具--> Tools ---> Files Merge,将两次仿真波形添加(Add)进来

  2. Merge过程中的重叠部分(例如图3中紫色矩形框中的波形),有选项(option)配置,可以自由选择上一次的仿真结果,也可以选择当前第二次的仿真结果,从而形成merge之后的、具有完整时间坐标的波形。

3.jpg

图3. iWave 合并(merge)两次仿真结果

显著成效:选择ALPS 就是选择了更高效、更精准的芯片设计之路

ALPS的Snapshot功能为芯片设计带来了诸多显著优势。它极大地加速了芯片的debug过程,显著提升了设计与仿真的快速迭代效能,助力工程师们更迅速地锁定问题根源,并能针对待解决问题/改动,开展“快速”且“精准”的仿真验证。

1 快速定位设计异常,避免重复仿真

某资深工程师在进行环路反馈仿真时,发现功能波形异常。此时仿真已持续4-5小时,若按传统流程需重新启动仿真并保存所有节点数据,耗时极长。

解决方案:

  • 启用Snapshot功能,仅保存关键节点电压/电流(初始仿真速度提升2~3倍以上);

  • 发现异常后,从问题时间点加载快照,扩展保存更多节点数据重新运行;

  • 通过新增的波形快速定位异常信号,直接指导电路修改,省去传统流程的重复等待。

2 流片前版图微调的高效验证

某知名IC公司在芯片赶流片前的关键时刻,借助版图寄生参数分析工具Empyrean ADA®,发现某个敏感信号受干扰较严重,需要对功能电路中部分版图做微调。此时原仿真已运行10小时,若重新验证需重复等待。

解决方案:

  • 基于Snapshot保存的仿真状态,仅针对修改部分进行增量仿真;

  • 20分钟内完成版图微调的后仿真验证,结果符合预期;

  • 相比传统全流程重启,节省10小时等待时间,效率提升显著。

3 复杂PVT/蒙特卡洛仿真的智能加速

部分资深工程师通过Snapshot实现仿真策略的层级化:

  • 初始阶段:在典型工艺角(TYP)下运行仿真,保存电路稳定状态快照;

  • 扩展阶段:以快照为起点,快速加载至PVT(工艺-电压-温度)或蒙特卡洛仿真中;

  • 结果优化:结合对PVT趋势的预判,加之对电路的理解,懂得如何取舍、选择性分析关键波形,避免余数据存储,形成快速迭代。

  • 效益:

  • 单次仿真节省2小时,100个蒙特卡洛案例共减少200小时物理仿真时间;

  • 形成“仿真-分析-迭代”的闭环,大幅缩短设计周期。

ALPS的Snapshot功能,通过 “按需保存-增量仿真” 的机制,解决了传统流程中 “全数据存储拖慢速度” 与 “异常修复成本高昂” 等棘手问题,让工程师们能够更加高效地进行仿真和调试工作,为芯片按时流片以及产品成功推向市场(TTM)提供有力保障。选择ALPS,就是选择了一条更高效、更精准智能化的芯片设计之路。

来源:华大九天