模块级时钟树改进方法

SNUG China 2018 Shanghai 2018 18 页

模块级时钟树改进方法

会议: SNUG China 2018 Shanghai 作者: Wayne Bai (AMD) 页数: 18


议程

1. 亚16nm设计中的时钟挑战 2. 改善时钟树的方法 3. 一种新的时钟结构 4. 限制接收点 5. 多模式CTS 6. 结论


亚16nm设计中的时钟挑战

功耗挑战

- 时钟功耗约占总功耗的30% - 减少时钟树功耗对总功耗优化至关重要 - 在5个模块的测试中,时钟功耗占总功耗比例从10%到40%不等

布线挑战

- 新的DRC规则:双图案、禁止间距、布线延伸等 - 总时钟线长可达总线长的10%(90%以上模块为5-7%) - 时钟网络上的NDR 非默认布线规则结合屏蔽进一步降低可布线性

时序挑战

- 默认时钟树综合 CTS后,主corner时钟偏移小于50ps - 最差偏移在其他corner接近250ps - 这给所有场景下的MCMM 多角多模签核带来了挑战


改善时钟树的方法

新的时钟结构

传统时钟结构:ICG单元放置在所有接收点的曼哈顿中心。

新时钟结构: - 两种类型:复杂时钟结构(PLL/模拟宏/多路选择器等)和高速简单结构且大扇出 - 对第二种类型可以改进! - 时钟树变得更简单,不会有时钟树绕行 - 延迟可改善约20%

改进结果: - 延迟减少20-30% - 偏移减少最多40% - 时钟单元数减少15-20%

缺点: - 由于时钟单元密度增加导致IR drop增加 - 解决方案:在高时钟单元密度区域使用间距约束


为接收单元创建边界

- 在某些模块中,观察到布线DRC和时钟单元密度完全匹配 - 拥挤区域的时钟网络非常混乱 - 目标的拓扑图:如果优化SINK单元布局,时钟QoR会好得多

改进方案: - 添加布局约束,将同一驱动单元的接收点尽可能靠近放置 - 在一个模块中时钟线长从1,413,927um降至618,651um(约减少60%) - 应用选项place.coase.icg_auto_bound在此场景工作良好


多模式CTS

目的: - 减少DFT模式下的时钟偏移 - 减少延迟单元数和利用率 - DFT时钟周期通常较大,不影响时序

多模式CTS流程: 1. 功能模式CTS + OptCts 2. 扫描模式CTS + OptCts 3. 比较时序结果

结果: - Setup和Hold时序在两种运行中都得到修复 - 多模式CTS后利用率从72%降至68.5% - Pre-OptCts Hold时序得到大幅改善

多模式CTS时序对比表

指标功能CTS多模式CTS改善
Func WNS (ps)-154.42-155.38持平
Func Hold WNS (ps)-197.62-196.85改善
Scan Hold WNS (ps)-658.91-196.80大幅改善
利用率72%68.5%-3.5%

结论

基于我们设计中的问题,我们引入了以下方法提高CTS质量:

1. 绑定时钟单元(ICG/MUX等)到时钟根:延迟减少约20%,偏移减少约40%,时钟缓冲器面积减少约15%

2. 绑定接收触发器:减少时钟线长、时钟单元面积和拥塞

3. 多模式CTS:有助于减少利用率和改善时序,特别是扫描模式Hold时序得到大幅改善


图片索引

本文共69张图片,存放于 SNUG_CN_Bai_Block_Level_Clock_Tree_Improvement_paper_images/ 目录。本文为PPT格式,图片数量众多,包含:时钟功耗分布图、时钟线长分布图、时钟偏移分析图、新/传统时钟结构对比图、延迟/偏移/单元数改进柱状图、接收点边界效果对比图、多模式CTS流程图和时序对比表等。