字丑,禁止转载!
这里将理论总结和实践放在一起了。
布线的理论总结如下所示:
下面是使用ICC进行实践的流程:
本次的布线实验主要达成的目标是:
·对具有时钟树布局后的设计进行可布线性检查
·完成布线
·完成初始布线和初始布线后的优化
·分析设计的 时序、逻辑和物理的DRC、LVS违规
·修复LVS错误
·使用颜色突出来分析设计的各个方面
具体流程为:
首先准备下面的文件:
·加载设计的设置和公共的设置
--->打开库和相应的设计,启动GUI
--->检查max库是否和min库对应:list_libs
--->加载在设计在布局和CTS阶段期间使用的公共设置,以及布线阶段也
需要的公共设置(这里需要注意,有些命令在新的版本中):
source scripts/common_optimization_settings_icc.tcl
source scripts/common_placement_settings.tcl
source scripts/common_post_cts_timing_settings.tcl
source scripts/common_route_si_settings_zrt_icc.tcl
·进行布线前的检查,确保已经准备好布线
--->查看是否有建立时间、保持时间以及逻辑上的设计规则违例:
report_constraint -all
--->没有理想的网络和没有高扇出网络:
all_ideal_nets
all_high_fanout -nets -threshold 501(扇出大于501pf的就列出)
--->首选布线方向是否符合预期,并加载TLUPlus文件:
report_preferred_routing_direction
report_tlu_plus_files
--->检查所有布局位置是否合法:check_legality
--->检查所有电源和接地引脚是否物理连接到P / G网络(也就是查看是否有悬空):verify_pg_nets
--->如果有,进行移除并且再检查:preroute_standard_cells -remove_floating_pieces
verify_pg_nets
·进行布线和优化设计
--->首先允许插入冗余通孔,使设计中的冗余通孔随布线更改保持最新:
set_route_zrt_common_options -post_detail_route_redundant_via_insertion medium
set_route_zrt_detail_options -optimize_wire_via_effort_level medium
--->检查非默认布线规则和布线设置:
report_routing_rules; # report routing rules
report_route_opt_strategy; # report route_opt_stretegy
report_route_zrt_common_options; # Reports zrt common route options
report_route_zrt_global_options; # Reports zrt global route options
report_route_zrt_track_options; # Reports zrt route track assignment options
report_route_zrt_detail_options; # Reports zrt detail route options
--->进行初始布线(初始布线包括:全局布线,路线分配和详细布线):
route_opt -initial_route_only
--->初始布线完成后,生成相应的报告:
view report_clock_tree -summary(总结)
view report_clock_timing -type skew(偏移)
view report_qor(质量)
view report_constraint -all(违例报告)
--->进行优化布线,解决违规(同时优化功耗):
route_opt -skip_initial_route -power
--->确认布线之后,电源地的逻辑连接是最新的(即重新进行电源地的逻辑连接):
derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS
derive_pg_connection -power_net VDD -ground_net VSS -tie
·进行DRC和LVS的检查和修复
--->查看是否有物理上的DRC错误、以及LVS是否通过:
verify_zrt_route (DRC)
verify_lvs (LVS)
--->如果有错误,进行修复:
route_opt –incremental
不行的话,就进行:route_zrt_eco
--->查看冗余通孔插入后的版图报告:report_design_physical -route
--->保存设计
·通过layout GUI窗口查看布线后的各种图形情况,比如布线后的时钟树形状、拥塞情况、slack的分布、层次模块在版图中的各个位置等等