DMSA 在时序签核中的应用*

2021-11-26 05:43王仁平蔡沅坤
电子技术应用 2021年11期
关键词:许可证时序命令

孙 恒,王仁平,蔡沅坤

(福州大学 物理与信息工程学院,福建 福州 350000)

0 引言

随着集成电路产业不断发展,芯片制造早已进入深亚微米时代,一直以来,时序签核一直是检验芯片设计是否合格的重要标准之一,在综合工具(Design Compiler,DC)、布局布线工具(Integrated Circuit Compiler,ICC)、时序分析工具(Prime Time,PT)中都嵌入了不同的时序分析引擎。当工艺节点达到90 nm 及以下时,为了使芯片在不同的极端环境下可以正常工作,就需要采用多工艺角多模式的物理设计方案来确保芯片在不同环境下稳定工作[1-3]。在对多场景物理设计进行时序分析时,传统PT 需要打开多个窗口反复切换场景以达到遍历每一个场景的目的,随后逐个场景进行时序分析,这样会使设计过程变得过于繁琐,而且,对于同一路径,不同场景下的时序违规可能会重复出现,对时序分析带来不必要的麻烦[4],工艺角或模式的合并,也会带来各种各样的问题,DMSA 的使用可以很好地解决这些问题。

1 静态时序分析原理

DMSA 是STA 的一种特殊模式,其原理和STA 原理如出一辙。STA 是通过“穷举法”抽取整个电路的时序路径,计算时序路径的传播延时,检查信号是否满足时序约束要求,其目的是保证所有路径满足内部时序对建立时间(Setup time)和保持时间(Hold time)的要求,从而实现时序签核[5]。

STA 的实现主要分为三个步骤:(1)时序路径的划分,如图1 所示,STA 在时序分析时一般将电路分为四种时序路径[6]。(2)路径延时的计算,静态时序分析的路径延时(Path delay)分为单元延时(Cell delay)和线延时(Net delay)。单元延迟多采用非线性延时模型(Nonlinear delay model),即用二维查找表进行单元延时计算,两输入变量分别为输入转换时间(Input transition time)和输出负载(Output load),同样,线延时的计算通过ICC 中实际绕线情况,由Start-RC 抽取寄生参数值,根据特定的线延时模型进行估算[7]。(3)路径时序的检测,就时序路径而言,需要通过延时计算得到路径的数据要求时间(Data required time)和数据到达时间(Data arrival time),然后通过比较数据要求时间和数据到达时间来判断路径是否存在时序违规问题[8-10]。

图1 物理设计中时序路径划分

2 DMSA 的应用

DMSA 是静态时序分析的一种特殊模式,通过启动主进程(Master)来充当所有场景的管理者角色,主进程是运行在DMSA 模式里的特殊进程,可以向从进程(Slave)远程分配服务器资源和任务,实现通过单个端口对所有的场景进行时序分析的目的[11-12]。

2.1 DMSA 使用过程

在DMSA 的使用过程中,需要对三个关键变量进行设置,确保时序分析准确、高效的进行。

(1)许可证数目。在DMSA 模式下进行时序分析时,主服务器(Master)需要分配一定数量的许可证(license)给从服务器(Slave)使用,没有许可证的从进程不能进行工作,使用“set_multi_scenario_license_limit”命令可以对许可证的数量进行设置,默认情况下,主服务器会最大程度地分配许可证给从进程,如果设置的从进程的数量多于许可证的数量时,没有许可证的从进程需要等其他从进程任务完成后,分配到许可证才可以进行工作。

9月的加州依然很热,洛杉矶周边的山路其实也不乏驾驶乐趣,但必须承认,林肯在中大型全能豪华SUV市场的最新成果很擅长营造轻松的驾乘体验。V6发动机的动力表现从容不迫,8速自动变速箱升挡时也懂得回应平顺,转向轻巧而柔和。据说CCD连续可调阻尼悬架在行驶中能以每秒约23000次的频率扫描路面,尽可能根据路面情况过滤掉多余的颠簸,面对粗糙铺装路面时给我的路感反馈甚至比全新林肯领航员Navigator还要得体一些。前后车窗配置的声学夹层玻璃,车辆底部与油箱加厚的吸音材质,配合ANC主动降噪系统,车内静音表现值得肯定。

(2)从进程的数量。根据场景的数量,在主服务器通过“set_host_option -max_core -num_processes”命令对core数目、启动进程数目进行设置,一般情况下,场景的数目要小于等于从进程的数目,确保每一个场景都有一个专用的从进程,保证DMSA 顺利进行。

(3)场景的定义。DMSA 中场景的定义分为两种:(1)每一个场景都由一个脚本定义,通过命令“create_scenario-name ${mode}_${corner} -specific_variables {mode corner} -specific_data {pt_setup.tcl}”主服务器将变量工作模式、工艺角组合分配到从服务器并执行带有变量工作模式、工艺角的脚本pt_setup.tcl。(2)时序分析使用“save_session”命令后,可通过“create_scenario -name -image”指定之前保存过的场景。许可证、从进程、场景三个变量的设置是DMSA 设计方法能否并行运行的关键,需根据待分析芯片的物理设计进行正确的配置[13]。

2.2 DMSA 时序修复流程

芯片在流片(Tapeout)之前,要满足时序约束和物理规则等要求,为了进行更精确的时序分析,需要将ICC生成的网表以及提取的寄生参数文件导入PT 进行时序分析[14],对于多场景的物理设计,采用DMSA 设计方法,通过在terminal 中输入“pt_shell -multi_scenario”便可进入DMSA 模式。然后配置好相关路径和服务器资源,通过“create_scenario”命令进行场景创建,并将数据传递到每一个从进程中,使用“start_hosts”命令来启动所有从进程,完成环境配置之后“report_constraints-all_violators”命令可以查看合并后各场景下的时序违规,然后使用“fix_eco_timing”命令进行时序修复,待时序修复完成,用命令“write_changes-format icctcl-output icc.tcl”生成时序修复后的工具命令语言(Tool Command Language,TCL)脚本,返回到ICC 中进行时序修复,再提取优化后网表和寄生参数文件重新到DMSA 中进行时序分析,循环往复,直到实现时序签核[15]。DMSA 时序修复流程如图2所示。

图2 DMSA 时序修复流程

3 DMSA 在Cxdp13 芯片上的实现

本次实验基于Smic 90 nm 工艺库,待测试芯片Cxdp13设有2 种模式,8 个工艺角,共有16 个场景。在硬件配置方面共设置16 个进程,对应16 个场景。时序分析时,主进程将所有从进程中的时序信息整合筛选写入到一个文档报告中,自动过滤掉过多的重复路径,而不需要针对每一个场景进行时序分析,这样PT 在做时序修复时会顾及所有工艺角、模式的影响,可以有效减少各场景间的相互影响[16]。通过使用“fix_eco_timing -type hold-method{size_cell insert_buffer}-buffer_list $buf_list”命令和”fix_eco_timing -type setup -method{size_cell}”命令进行时序违规的自动修复,经过第三次迭代后,所有场景中时序违规全部修复完成。表1 是时序修复后通过“report_constraints”得到的所有时序和设计规则检查(Design Rule Check)违规,因为macro 端口后面没有连接负载,所以出现最小电容(Min_Capacitance)违规,此违规可以忽略。

表1 时序与设计规则检查违规 (pF)

4 结论

本文介绍了DMSA 技术在MCMM 物理设计中时序签核的应用,并利用Cxdp13 芯片设计实例阐述DMSA 技术的实现过程。实践结果表明,DMSA 模式下时序分析与修复可以并行进行,时序修复过程中也会考虑其他场景的需要并且不需要进行多窗口切换,提高了时序分析的效率,也大大缩减了时序修复的时间。另外,随着科技的发展,普通计算机的硬件条件也足以支撑DMSA 技术的实现。因此,在如今的MCMM 物理设计中,DMSA 技术在时序签核中得到了广泛的应用。

猜你喜欢
许可证时序命令
爆笑三国之打架许可证
只听主人的命令
基于Sentinel-2时序NDVI的麦冬识别研究
秦山核电厂运行许可证延续研究与应用
移防命令下达后
基于FPGA 的时序信号光纤传输系统
全国首批排污许可证落地
一种毫米波放大器时序直流电源的设计
这是人民的命令
银川市放疗许可证发放现状分析