1. 从零理解Floorplan与Powerplan设计
在数字IC后端设计流程中,floorplan和powerplan阶段就像盖房子时的地基和电路布线。记得我第一次用Innovus做28nm项目时,以为只要把宏模块随便摆一摆就能过关,结果时序违例多到像蜂窝煤。这两个阶段直接影响芯片面积、时序收敛和功耗分布,是后续所有物理实现的基础。
floorplan决定了芯片的"户型图":核心面积、IO位置、宏模块摆放。就像装修时要先确定承重墙位置,我们得考虑数据流走向、模块间互联密度、时钟域分布等因素。常见误区是只关注利用率而忽视布线拥塞,我曾有个设计利用率冲到85%,结果后期绕线资源耗尽不得不返工。
powerplan则是芯片的"供血系统":通过电源环(power ring)、电源条带(power stripe)和电源网格(power mesh)构建供电网络。新手容易犯的错误是只关注顶层供电,忽视不同电压域的隔离。有次我在40nm项目中发现IR drop超标,排查发现是M7层电源网格密度不足导致局部电压跌落15%。
2. Metal Stack变更引发的Endcap错位问题
2.1 问题现象与根因分析
最近有个典型案例:学员将T28工艺从1P10M切换到1P7M后,endcap cell出现异常错位。具体表现为:
- endcap未按预期贴合标准单元边界
- 部分endcap甚至偏离site row摆放
根本原因在于tech LEF中的site定义不一致。虽然使用同一套标准单元库,但1P7M工艺的site高度比1P10M小了15%。Innovus在floorplan阶段会按照tech LEF的site定义进行对齐,当单元库与工艺文件不匹配时就会出现"对不齐"现象。
2.2 解决方案与操作步骤
这里分享我的调试过程:
- 检查tech LEF一致性:
# 查看当前使用的site定义
get_site_defs
# 对比两个工艺文件的site参数
diff tech_1P10M.lef tech_1P7M.lef | grep SITE
- 手动修正方案:
# 临时修改site定义(适用于短期验证)
set_site -name CORE -height 0.48 -width 0.18
# 永久方案是要求foundry提供匹配的stdcell库
- endcap重摆放验证:
deleteInst -inst endcap_*
addEndCap -prefix EC_ -fitGap
chec

1869

被折叠的 条评论
为什么被折叠?



