当前位置: 首页 > ds >正文

数字IC后端PR阶段Innovus,ICC,ICC2修复short万能脚本分享

下面为一个训练营学员做完一轮timing eco后的绕线结果。innovus中做完绕线后drc就只有个位数,属于正常现象,但做了一轮timing eco后就发现nanoroute的DRC数量高达758个。

innovus routing drc violation
Calibre LVS -手把手教你如何debug LVS的short和open

正常nanroute的DRC就是工具ecoRoute阶段看到的DRC。这里面主要包含metal space,via space
和short等DRC类型。

正常遇到这么多数量的DRC violation,我们应该先展开NanoRoute查看这里面的short数量以及short分布的layer。因为metal的short会引起大量的DRC Violation。即很多其他DRC violation可能都是由于short引起的。

又比如TSMC28nm arm cortexa7core项目innovus绕线后的short情况如下图所示。

在这里插入图片描述

为了帮助各位读者高效解决后端实战项目中的short问题,下面小编给大家分享下ICC,ICC2,Innovus中自动修复short的万能脚本。

ICC中自动修复short的脚本如下:

set mv_continue_on_opcond_mismatch true
set remove_net_count 0
set all_net [get_nets [get_attribute [get_drc_errors -type Short] nets]]
foreach_in_collection nn $all_net {
set nn_name [get_object_name $nn]
set nn_type [get_attribute [get_net KaTeX parse error: Expected '}', got 'EOF' at end of input: …net_type] if {nn_type == “Signal”} {
puts “INFO: net $nn_name”
remove_net_routing [get_net $nn_name]
incr remove_net_count
}
}
puts “INFO: removed $remove_net_count nets”

set_route_zrt_common_options
-post_detail_route_fix_soft_violations false
-post_eco_route_fix_soft_violations false
-post_group_route_fix_soft_violations false
-post_incremental_detail_route_fix_soft_violations false

set_route_zrt_detail_options -antenna true
set_route_zrt_detail_options -force_max_number_iterations true
set_route_zrt_detail_options -optimize_wire_via_effort_level high
set_route_zrt_detail_options
-repair_shorts_over_macros_effort_level high
set_route_zrt_detail_options -drc_convergence_effort_level high
set_route_zrt_detail_options
-generate_off_grid_feed_through_tracks high
set_route_zrt_detail_options -generate_extra_off_grid_pin_tracks true

route_zrt_eco

数字后端实现Short修复方法
Innovus DRC Violation和Calibre DRC Violation分析和修复案例

ICC2中自动修复short的脚本如下(可以直接照抄应用):

set_app_options -name route.global.timing_driven_effort_level -value low
set_app_option -name route.global.timing_driven -value false
set_app_options -name route.detail.repair_shorts_over_macros_effort_level -value high

report_app_options -non_default * -as_list

open drc error data

open_drc_error_data zroute.err

set “must fix” attribute to shorts

set_attribute [get_drc_errors -error_data “zroute.err” -filter {type_name == “Short”} ] must_fix true

set remove_net_cnt 0

foreach nn [get_attribute [get_drc_errors -error_data “zroute.err” -filter {type_name == “Short”} ] error_id] {
set bbox [get_attribute [get_drc_errors -error_data “zroute.err” -filter “@error_id == $nn” ] bbox]

set nets [remove_from_coll [get_objects_by_location -hierarchical -intersect $bbox -classes net ] [list VDD VDD_LOGIC VSS] ]

foreach_in_coll net $nets {
set nn_name [get_attribute [get_net $net] full_name]
set nn_type [get_attribute [get_net KaTeX parse error: Expected '}', got 'EOF' at end of input: …et_type] if {nn_type == “signal”} {
#puts “INFO: net $nn_name”
remove_shapes [get_shapes -of_objects [get_nets $net]]
remove_vias [get_vias -of_objects [get_net $net]]
puts “INFO: remove_routes of net $nn_name”
incr remove_net_cnt
}
}
}

puts “INFO: removed $remove_net_cnt nets”

route_eco
-utilize_dangling_wires true

route_detail
-incremental true
-max_number_iterations $VAR(rt,droute_iteration)

Innovus中short修复万能脚本:

在这里插入图片描述

http://www.xdnf.cn/news/856.html

相关文章:

  • 20.3 使用技巧9
  • Linux:权限相关问题
  • 实验六- Linux网络管理
  • 【MySQL】MySQL中的数据类型详解
  • 【React】获取元素距离页面顶部的距离
  • Spark(20)spark和Hadoop的区别
  • 数据赋能(203)——原则与原理——原则方法
  • 应用层核心协议详解:HTTP, HTTPS, RPC 与 Nginx
  • 健康养生,开启新生活
  • 随机深林算法是分类还是回归?
  • Selenium的ActionChains:自动化Web交互的强大工具
  • 棉花糖实验新解
  • 《数据结构之美--双向链表》
  • 第十四届蓝桥杯 2023 C/C++组 飞机降落
  • 快充协议芯片XSP04D支持使用一个Type-C与电脑传输数据和快充取电功能
  • c++_csp-j算法 (4)
  • 国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航
  • LeetCode 热题100题解(Java版本)
  • 设计模式 建造者模式
  • git比较不同分支的不同提交文件差异
  • Floyd算法求解最短路径问题——从零开始的图论讲解(3)
  • ubuntu 22.04 安装和配置 mysql 8.0,设置开机启动
  • 11-DevOps-Jenkins Pipeline流水线作业
  • [SpringMVC]请求响应参数传递
  • 机器学习 Day13 Boosting集成学习方法: Adaboosting和GBDT
  • AOSP Android14 Launcher3——远程窗口动画关键类SurfaceControl详解
  • VR制作攻略:如何制作VR
  • 在kali中安装AntSword(蚁剑)
  • 【HDFS入门】深入解析DistCp:Hadoop分布式拷贝工具的原理与实践
  • Android Studio打开xml布局文件内存会快速增加如何设置