时钟网络仿真——早期偏斜与延迟收敛
时钟网络仿真——早期偏斜与延迟收敛
会议: 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/ 目录。