floorplan完成了芯片的整体规划后,需要对标准单元进行摆放。布局阶段主要内容包括:
· 完成布局和时序优化的设置
· 完成DFT和功耗优化的设置
· 完成标准单元位置的摆放
· congestion、timing和功耗的分析
· 逻辑增量优化
LAB3:Placement 布局
相关文件的准备:
orca_lib.mw/CEL:
ORCA_floorplanned ORCA设计经过设计规划后,以Milkway格式保存
scripts/:
input_toggle_rate.tcl 用于设置输入端口的统计切换速率的脚本
ndr.tcl 包含定义非默认时钟布线规则命令的脚本
opt_ctrl.tcl 时序和优化控制
design_data/:
OECA_TOP.scandef 在扫描链重组期间使用的扫描链信息
.synopsys_dc.setup scripts/:设置的变量
1. 布局设置和检查
- 启动ICC GUI模式
cd lab3_placement
icc_shell -gui
- 打开经过设计规划后的设计(先打开设计库,再打开ORCA_floorplanned设计单元),如下图:
- 进行时序和优化控制
source scripts/opt_ctrl.tcl
- 进行macro的固定。一般情况下,macro在布局规划阶段已被fix住,但为了防止在更改macro位置后,忘记将其fix住,所有最好再次进行macro的固定。
set_dont_touch_placement [all_macro_cells]
- 检查route layer是否设置正确(是否有忽略的layer),否则会影响congestion map的准确性
report_ignored_layers
- 检查标准单元摆放约束(被放置在metal2-metal4下,且没