时钟网络仿真——早期偏斜与延迟收敛

SNUG 2022 2022 16 页

时钟网络仿真——早期偏斜与延迟收敛

会议: SNUG 2022 作者: Augustin Christopher, Kapil Kumar (Intel Corporation) 页数: 16 源文件: SNUG_2022_digital-design_Network_myTitle_paper.pdf


议程

1. 引言 2. 挑战 3. analyze_subcircuit 4. 实现步骤 5. 调试 6. 结果 7. 结论 8. 致谢


1. 引言

- 时钟偏斜对时序收敛至关重要 - PLL 锁相环到分区,时钟分布需要手动微调 - 偏斜计算需要非常精确 - 基于SPICE 模型的仿真可实现精确测量 - 为手动时钟调校提供早期反馈 - 减少收敛迭代次数


2. 挑战

- 快速周转时间,为时钟设计者提供持续反馈 - 提供通用平台,让设计者以最小的工具/环境变化构建和仿真 - 无缝调用仿真引擎以实现高生产率 - 签核级精度,减少ECO周期 - 可扩展到不同的时钟网络拓扑(PLL、H-Tree、Mesh、全局时钟缓冲器、局部时钟缓冲器)


3. analyze_subcircuit

- Synopsys APR 自动布局布线工具中的原生命令 - 从APR到SPICE 模型的直接且干净的接口 - APR负责人无需离开工具Shell - 断点支持用户自定义 - 原生或外部SPEF 标准寄生交换格式 - SPICE网表编辑 - SPICE调用 - 延迟和斜率反标 - 调试数据可用性 - 导出SPICE运行数据用于调试


4. 实现步骤

步骤1:APR数据库前提条件

# 为了精确仿真结果,UPF信息是必需的,且check_mv应清洁
load_upf 
commit_upf
set_voltage –object_list $supply_name $value
connect_pg_net –automatic 
check_mv_design

MCMM时钟定义

create_scenario –mode $mode -corner $corner –name $scen1

被仿真的网络需要无短路/开路

check_lvs –checks {short open}

步骤2:准备数据库用于提取+仿真

# 识别库subckt文件

为给定工艺构建SPICE头文件

analyze_subcircuit –spice_header_file $spice_header_file –driver_subckt_files $driver_subckt_files

确保在所有活跃场景中定义了时钟

set_case_analysis 1/0 [get_pins clk_mux/clken(scanclk)]

对于基于TLU+的提取,定义寄生参数

read_parasitic_tech –tlup set_parasitic_parameters –corner $corner_name –early_spec/late_spec –early_temp/late_temp

步骤3:提取时钟网络

# 默认APR工具运行TLU+提取

也可提供自定义SPEF用于SPICE仿真

analyze_subcircuit –extraction –spice_dir_name sim_run1 –from $drvpins –to $rcvpins

步骤4:仿真与反标

# SPEF和APR数据库连接转换为SPICE网表
analyze_subcircuit –create_spice_deck

调用SPICE引擎仿真时钟网络

analyze_subcircuit –run_simulation –write_annotation

反标延迟值到设计

analyze_subcircuit –apply_annotation

步骤5:报告生成(自定义脚本)

- 为接收器列表生成偏斜和延迟数值 - 为时钟网络中所有器件生成基于深度的延迟值


5. 调试

仿真测量失败时: - 检查时钟路径中每个节点的时钟传播 - 检查特殊时钟单元上设置的case analysis - 对网络进行必要修复(版图短路/开路) - 绘制波形进行调试


6. 结果

结果1:偏斜与延迟汇总 / 各阶段单元深度斜率信息

set_annotated_transition –rise(/fall) –max(/min)  
set_annotated_delay –cell –rise(/fall) –max(/min) –from  -to  

结果2:波形分析

- 来自时钟源的输入激励 - 在中间节点测量的信号 - set_annotated_transition rise/fall - set_annotated_delay rise2rise/fall2fall


7. 结论

使用analyze_subcircuit的提出方法解决了以下问题: - 克服了使用独立工具进行构建和仿真的问题 - 构建、提取和仿真在同一平台内完成 - 无需在工具或环境之间切换,生产率提高4倍 - 为用户提供选择提取引擎的灵活性(原生TLU+ / 自定义SPEF) - 提供额外灵活性来整合自定义钩子脚本 - 延迟和偏斜值与签核时序密切关联 - 减少了从构建到签核的总迭代次数


8. 致谢

感谢Synopsys合作伙伴的使能、调试和缺陷修复,特别是Srinivasan Krishnamurthy和Vinod Kumar Telkar。


图片索引

本文共 52 张图片(PPT型论文),存放于 SNUG_2022_digital-design_Network_myTitle_paper_images/ 目录。