zoukankan      html  css  js  c++  java
  • ICC_lab总结——ICC_lab5:布线&&数字集成电路物理设计学习总结——布线

    字丑,禁止转载!

    这里将理论总结和实践放在一起了。

    布线的理论总结如下所示:

     

    下面是使用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

      ·进行DRCLVS的检查和修复

    --->查看是否有物理上的DRC错误、以及LVS是否通过:

      verify_zrt_route (DRC)

      verify_lvs (LVS)

    --->如果有错误,进行修复:

      route_opt –incremental

      不行的话,就进行:route_zrt_eco

    --->查看冗余通孔插入后的版图报告:report_design_physical -route

    --->保存设计

    ·通过layout GUI窗口查看布线后的各种图形情况,比如布线后的时钟树形状、拥塞情况、slack的分布、层次模块在版图中的各个位置等等

  • 相关阅读:
    VC++ 利用PDB和dump文件定位问题并进行调试
    MFC限制edit控件的字符输入长度
    VC++ 使用CreateProcess创建新进程
    正则表达式验证HTTP地址是否合法
    C++ _access和_waccess的使用方法
    最后一次谈 VirtualBox的安装方法
    解决/var/log下没有messages文件的问题?
    待续未完- 自己写后台内容管理程序的辅助内容
    php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串.
    未完待续
  • 原文地址:https://www.cnblogs.com/IClearner/p/6611003.html
Copyright © 2011-2022 走看看