floorplan完成了芯片的整体规划后,需要对标准单元进行摆放。布局阶段主要内容包括:
· 完成布局和时序优化的设置
· 完成DFT和功耗优化的设置
· 完成标准单元位置的摆放
· congestion、timing和功耗的分析
· 逻辑增量优化
cd lab3_placement
icc_shell -gui
source scripts/opt_ctrl.tcl
set_dont_touch_placement [all_macro_cells]
report_ignored_layers
report_pnet_options
printvar physopt_hard_keepout_distance
printvar placer_soft_keepout_channel_width
source scripts/ndr.tcl
check_physical_design -stage pre_place_opt
check_physical_constraints
report_scan_chain
通过报告可以看到报告为空的,没有任何扫描链信息。此时我们就需要读入scandef文件了。
read_def design_data/ORCA_TOP.scandef
v roport_scan_chain
此时可以看到扫描链的信息了。若想在place_opt过程中执行扫描链的顺序优化,只需在place_opt命令后带上 -optimize_dft,进行扫描链重组。
report_saif
source scripts/inputs_toggle_rate.tcl
report_saif
report_power_options
set_power_options -low_power_placement true #2011前的版本命令
set_optimize_pre_cts_power_options -low_power_placement true #2011后的版本命令
reoprt_power_options #2011前的版本命令
reoprt_power #2011后的版本命令
save_mw_cel -as ORCA_preplace_setup
place_opt
由上图可以发现,已完成了标准单元的摆放。接下来对布局进行优化,命令如下:
place_opt -area_recovery -optimize_dft -power
a. -area_recovery可以减小非关键路径的单元尺寸,帮助减少拥塞和power
b. -optimize_dft:对扫描链重组,减少扫描链的走线长度,节约布线资源,减少congestion
c. -power:对设计进行功耗优化。
save_mw_cel -as ORCA_place_opt
由上图可以发现,拥塞情况还比较好,没有集中在某一区域。
4. 关闭GR 拥塞面板,并生成物理设计报告(cell个数、利用率)
report_design -physical
report_qor
report_power
通过前面的分析和优化,若设计还存在拥塞等问题,可以进一步做增量优化,来满足要求。同时可以使用GLPO技术进一步降低功耗。
set_power_options -dynamic true
psynopt -area_recovery -power
save_mw_cel -as ORCA_placed
exit