这里将理论总结和实践放在一起了。 布线的理论总结如下所示: 下面是使用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的分布、层次模块在版图中的各个位置等等
|