首页 > 其他分享 >ICC2教程 - In design ICV signoff DRC与自动修复

ICC2教程 - In design ICV signoff DRC与自动修复

时间:2023-01-28 17:55:06浏览次数:39  
标签:PR PV signoff 工具 design ICC2 DRC ICV

《ICC2教程 - In design ICV signoff DRC与自动修复》

本文选自知识星球中的ICC2教程,更多IC干货见星球,
同时星球QQ群还有分享高达40多万字的个人数字后端设计笔记,欢迎加入,星球二维码见文末。
星球在2022年,不考虑更新的长文的话就更新了48万字,
更新的主题数大概是8篇/天,考虑长文的话会更多。

 

 


一、背景
随着工艺节点的推进,后端布局布线以及PV signoff的时候DRC rule越来越多,越来越复杂。某些在PV signoff工具里面的DRC规则可能很难加入到/转换成PR工具里面的Rule(在tf和tech LEF里面定义),因此我们会在PR工具以及PV工具中看到一些DRC的不匹配(mismatch),其中一个原因就是两者Rule上的不同。除此之外,还有一些其他的原因,比如PR工具中用的是LEF/mw/ndm,而PV工具用的是完整的GDS/oasis,两者存在不同。
关于DRC Rule这一方面,对于比较成熟的工艺或者一些大众的Foundary,Foundary一般都能提供一个比较好的tf/tech LEF,使得它能够Cover最终PV signoff工具里面的绝大部分DRC Rule。可是对于一些正在开发的工艺节点或者比较小众的Foundary,可能两者之间的差距就有点大了。
Mismatch可以分为两种:
1. PR工具中遇到一些DRC,但是PV工具中没有
如果PR工具中遇到一些DRC在PV工具中都没有的话,那么这个问题不是很大。这些问题其实都可以忽略。由于在一轮又一轮的ECO当中,PR工具也会努力去修复这些假错,因此这也会徒增runtime。如果PR工具中的这些假错数量很多的话那么需要注意一下。
2. PR工具中没有发现DRC,但是在PV工具中发现了
如果在一些位置,PR工具中没有报DRC,但是在PV工具中报了,那么这个问题就需要注意了。因为PR工具看不到,自然也没办法修复了。这个问题的大小要看DRC数目的多少。如果DRC数目比较少比如几十个,那么手工完全可以处理,所以问题不是很大,就是修起来有点费劲。如果数目非常多,那么这个问题就有点棘手了,因为手工修起来有点麻烦,且每轮ECO都得去修,很费时间。遇到这种情况,一种选择就是向Foundary反馈(或者看waiver list)看这些PV工具中的DRC是否是可以忽略的,如果不能忽略的话,能否提供一个比较新的tf/tech LEF能Cover这些PV工具中的DRC。如果Foundary迟迟没有反馈或者说不打算修的话。那么最常规的手段就是自己手修硬修了。
其实对于这种情况,还有另一个自动化的解决方案,就是让PR工具去看到PV工具中的DRC并做修复,这就非常实用了!!而Synopsys的ICV和ICC/ICC2就提供了这样一种非常好用的功能,这里我们介绍一下在ICC2里面的具体实现方式。

 

二、如何去跑ICV in design signoff DRC
首先设置ICV相关变量,让工具能找到ICV的程序:
setenv ICV_HOME_DIR "/xxx/icvalidator/M-2017.06-SP2"
setenv ICV_INCLUDES "xxx/icvalidator/M-2017.06-SP2/include"
setenv PATH "xxx/icvalidator/M-2017.06-SP2/bin/LINUX.64:$env(PATH)"
#下面的命令可以验证ICV环境是否设置好了:
sh which icv

#设置ICV的runset文件:
####################
# ICV In-Design DRC
set_app_options -name signoff.check_drc.runset -value ../ref/icv_runsets/saed32nm_1p9m_drc_rules.rs
#设置每个DRC error最多报多少个,报太多的话会增大runtime:
set_app_options -name signoff.check_drc.max_errors_per_rule -value 1000
#设置signoff DRC check的路径:
set_app_options -name signoff.check_drc.run_dir -value "z_icvDRC_run"
#会在该路径下生成vue和error等文件:

 

 

#可以选择只跑某些指定的规则,由于没有完整的版图,所以一般都只用跑金属层:
# To reduce runtime, we only check a few layers
signoff_check_drc -select_rules { "M2*" "M3*" "M4*" "M5*" "M6*" }
save_lib

由于tf不太可能包含Design rule里面的所有DRC约束,所以它和ICV基于runset的结果可能存在一些不匹配,所以有些DRC是check_routes检查不出的,ICV能检查出来。
可以看到ICC2 check_routes是clean的,而ICV有上面的DRC问题:
icc2_shell> set_host_options -max_cores 16
icc2_shell> check_routes -check_from_user_shapes true \
-check_from_frozen_shapes true

 

 

三、基于ICV DRC的结果做signoff drc的自动修复
内容见知识星球(二维码见文末)。

 

~~ 知识星球 ~~

 

 

 

知识星球创建了一个专属QQ交流群,上传了积累多年(应该有8年了)的IC后端笔记(都是一个字一个字打的),同时也会不定时发一些红包(2022年已经累计发放2210元红包),感兴趣的可以加入。目前已上传的笔记有:

  • 低功耗设计技术总结-3万字,129页

  • IR drop的分析与修复总结-4.3千字,20页
  • 数字后端理论及实践-ICC干货笔记-11万字,423页
  • 数字后端理论及实践-Innouvs教程(第4版)-5.7万字,316页
  • ICC2教程-星球精编版-2万字,125页最新上线:
  • 数字后端理论及实践-Innouvs教程(第5版)-11.8万字,635页
  • 面试笔试题整理 面试笔试经验分享(第1版)-1.6万字,48页
  • 面试笔试题整理 面试笔试经验分享(第2版)-2.3万字,87页
  • ICC2 ICC与Innovus的命令对照(第1版)
  • Tcl与DesignCompiler教程(第1版)-6.1万字,183页
  • DRC规则讲解、DRC的检查与修复(第1版)- 7.3千字,26页
  • 更多教程、笔记持续更新中。

标签:PR,PV,signoff,工具,design,ICC2,DRC,ICV
From: https://www.cnblogs.com/ASIC-Horizon/p/17071009.html

相关文章

  • 2023 Cisco Designated VIP Program for Cisco Community
    从接触网络技术到现在,已将近10年的时间。岁月如斯,不知有多少技术大神,多少前辈在技术这条路上披星戴月。做技术容易,做好技术不容易!最开始接触网络技术,就是从Cisco开始的,最......
  • Factory Method Design Pattern in C#
    需要记住的最重要的一点是,工厂方法设计模式与简单工厂设计模式并不完全相同。大多数人认为两者是相同的,因此他们可以互换地使用术语工厂和工厂方法,这是不对的。一、什么是......
  • Factory Design Pattern in C#
    一、什么是工厂设计模式?根据GangofFour所述,工厂是用于创建其他对象的对象,就是说工厂是一个带有方法的类,该方法将根据输入的参数创建并返回不同类型的对象。简单地说,如果......
  • altium designer ad非金属化孔
    非金属化  金属化 ......
  • Ant Design Table 如何动态自定义?Ant Popover 遮挡?
    项目场景:基于electron+Vue+node.js+express+mysql+evanpatchouli-mysql+Ant-Design-Vue,编写一款属于自己的轻量级MySQL数据库界面工具。问题列表如何动态......
  • 03-逻辑综合工具 - Design Compiler
    逻辑综合工具DCIC设计流程,市场-->制定spec-->RTL(同时进行sim,通过alint检查RTL有没有错误)-->systhesis(逻辑综合)-->PR(STA)-->TapeOut逻辑综合将RTL转换为GateNetli......
  • fastreport designer.exe界面设置为中文
    fastreport安装好后,界面默认是英文,在安装时我明明选择了安装中文语言包的,打开designer.exe后显示的还是英文,原来要显示中文是需要设置designer.exe的,设置如下:1、菜单栏 F......
  • OOD 面向对象设计 (Object-oriented design)
    OOD概念面向对象设计(Object-OrientedDesign,OOD)方法是面向对象程序设计方法中一个环节。主要作用:对分析模型进行整理,生成设计模型提供给OOP作为开发依据。主要内容:......
  • SVG click event Designs
    <!doctypehtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,u......
  • “Code without tests is broken by design.”
    https://docs.djangoproject.com/en/4.1/intro/tutorial05/it’snevertoolatetogetstarted.今天主要接上一章节~从testing这篇官方文档开始看起。这一个测试讲述......