ICC_lab总结——ICC_lab6:版图完成
ICC_workshop的最后一个实验了。在这次的实验中,由于我使用ICC的版本与workshop的lab不是同一个版本,因此在后面的实验过程不是很顺利,主要是在LVS的过程中,最后的LVS没有通过。但是还是在这里说一下流程吧,在这个实验中,主要完成下面的事情:
·DRC和LVS检查
·进行连线扩展和加宽连线来减少关键面积
·使用二极管修复天线违规
·使用填充单元填充核心中未填满的位置
·进行冗余通孔插入(冗余通孔的插入是可选的)
·填充金属以满足金属密度要求
·生成GDSII数据
首先需要准备下面的数据:

然后就可以开始试验了:
·加载和分析设计
--->记载库和设计
--->验证是否有DRC和LVS违规:
verify_zrt_route
verify_lvs
--->有,则进行修复(具体怎么修复这里不进行介绍,我也不知道具体的细节,但是是有这个流程的)
--->查看是否有违规:
--->有,则进行修复:psynopt -xxx
·减少关键面积
--->通过GUI查看关键面积(short critical area)
--->查看、保存修改前短路的关键面积的报告:
report_critical_area -fault_type short
sh mv output_heatmap cca.short.before.rpt
--->进行连线扩展,减少短路的关键面积:
spread_zrt_wires
--->查看、保存连线扩展后的关键面积报告:
report_critical_area -fault_type short
sh mv output_heatmap cca.short.after.rpt
--->查看、保存修改前开路的关键面积的报告:
report_critical_area -fault_type open
sh mv output_heatmap cca.open.before.rpt
--->进行加宽导线,来减少开路的关键面积:
widen_zrt_wires
--->查看、保存加宽导线后的关键面积报告:
report_critical_area -fault_type open
sh mv output_heatmap cca.open.after.rpt
--->查看是否有DRC、LVS以及时序等违规:
verify_zrt_route
verify_lvs
rc
--->如果有,则进行修复(具体怎么修复这里不进行介绍,我也不知道具体的细节,但是是有这个流程的),修复后保存设计:save_mw_cel -as chip_finish_ca
·使用二极管修复天线违规
--->安装一组天线规则:
source -echo scripts/cb13_6m_antenna.tcl
天线规则设置确定如何处理金属层的模式
--->检查已定义的当前天线比率规则,并检查您的设计中是否存在任何接触违规:
report_antenna_rules
verify_zrt_route
--->进行天线违规修复:
set_route_zrt_detail_options -insert_diodes_during_routing true
route_zrt_detail -incremental true
--->检查lvs违规:
verify_lvs
--->如果有lvs错误,则重新定义P/G环,看是否由插入二极管引起:
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
--->再检查各种违规:
verify_zrt_route
verify_lvs
rc
如果有违规,这时候的违规就不是天线违规引起的了,通过其他手段进行修复
--->保存设计:save_mw_cel -as chip_finish_antenna
·插入标准填充单元
--->插入标准单元:
insert_stdcell_filler -cell_with_metal "feedth9 feedth3" -connect_to_power VDD -connect_to_ground VSS -between_std_cells_only
--->插入非金属填充单元:
insert_stdcell_filler -cell_without_metal "feedth" -connect_to_power VDD -connect_to_ground VSS -between_std_cells_only
--->查看是否有违规(一般没有):
verify_zrt_route
verify_lvs
rc
·插入冗余过孔
--->成物理设计报告以确定现有的双重过孔率:
report_design_physical -route
--->生成 将在冗余过孔插入期间 自动使用的 过孔映射表:
insert_zrt_redundant_vias -list_only
--->使用默认的中等强度进行插入冗余过孔:
insert_zrt_redundant_vias -effort medium
--->检查是否有违例:
verify_zrt_route
verify_lvs
rc
--->插入金属,以满足金属密度要求:
insert_metal_filler -routing_space 2 -timing_driven
--->确保在本阶段添加的单元和所有电源地的pin都连接到电源的网络:
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
--->检查是否违规:
verify_zrt_route
verify_lvs
rc
---->保存设计,写出GDSII文件:
save_mw_cel -as chip_finish_final
close_mw_cel
write_stream -cells chip_finish_final orca.gdsii
close_mw_lib
ICC_lab总结——ICC_lab6:版图完成的更多相关文章
- 你好,C++(2)1.3 C++世界版图1.4 如何学好C++
1.3 C++世界版图 C++语言的发展过程,不仅是一个特性不断增加.内容不断丰富的过程,更是一个在应用领域中不断攻城略地的过程.在其30余年的发展过程中,C++在多个应用领域都得到了广泛的应用和发 ...
- 专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现
专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现 专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现
- ICC_lab总结——ICC_lab1:数据设置和基本流程
ICC_lab总结 最近在学习后端的流程,做lab是最好不过了.但是有时候做过了lab,过了一段时间之后就会忘记,因此需要自己总结一下,加强印象. ICC_lab1:数据设置和基本流程 数据设置: 一 ...
- ICC_lab总结——ICC_lab5:布线&&数字集成电路物理设计学习总结——布线
字丑,禁止转载! 这里将理论总结和实践放在一起了. 布线的理论总结如下所示: 下面是使用ICC进行实践的流程: 本次的布线实验主要达成的目标是: ·对具有时钟树布局后的设计进行可布线性检查 ·完成布线 ...
- python实现dict版图遍历
python实现dict版图遍历的示例. 代码: #_*_coding:utf_8_import sysimport osclass Graph(): def __init__(self, V, E) ...
- ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 未来,Baccarat将如何拓展生态版图?
Baccarat最近几度冲上DeFi版面的热搜,一是因为BGV价格不断的上涨,二是因为生态建设者的不断涌入.可以说,当下的Baccarat,实在是太火爆了.那么在未来,Baccarat还将会持续火爆吗 ...
- 基于CameraLink的逻辑综合和版图设计
前期接口设计用的是Vivado18.3+Modelsim10.6,逻辑综合及版图生成的环境是Ubuntu16,逻辑综合用的工具Design Compiler,生成版图用的工具是Encounter. 下 ...
- 乌版图 read-only file system
今天在启动虚拟机的时候,运行命令svn up的时候,提示lock,并且read-only file system,这个....我是小白啊,怎么办?前辈在专心写代码,不好打扰,果断找度娘啊 于是乎,折腾 ...
随机推荐
- react+redux构建淘票票首页
react+redux构建淘票票首页 描述 在之前的项目中都是单纯的用react,并没有结合redux.对于中小项目仅仅使用react是可以的:但当项目变得更加复杂,仅仅使用react是远远不够的,我 ...
- shell编程其实真的很简单(四)
上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...
- (@WhiteTaken)设计模式学习——抽象工厂模式
抽象工厂模式,可以向客户端提供一个接口,而客户端不用指定具体的类型创建对象,却能够创建多个产品族(一类具有共性产品,如地域等)的对象. 下面直接上代码. 1.苹果需要实现水果的接口,而苹果可以有北方的 ...
- bzoj3238--后缀自动机
显然只需求LCP(i,j)就可以了. 将s反转,然后插入后缀自动机.由于后缀自动机的link指针构成了一棵后缀树,而字符串又反转过,所以两个结点的LCP就是LCA. 树形DP,求出以每个结点为LCA的 ...
- SharePoint 2016 配置应用程序商店
最近碰到一个新的需求,就是要给SharePoint配置应用程序商店,挺有意思的,就简单的配置和记录了一下,分享给大家. 其实应用程序商店之前感觉很鸡肋,但是用起来还是不错的.不喜勿喷,呵呵. 首先需要 ...
- 第四章:JQuery选择器
一.使用选择器的目的 从页面上的万万千千个元素中选择自己需要的. 二.选择器的分类 1.基本选择器 *:标签 *:类 *:ID 交集 AB AB共同的部分 并集 A,B AB使用相同的 ...
- Log日志规范
Overview 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是 ...
- 使用 Bitbucket Pipelines 持续交付托管项目
简介 Bitbucket Pipelines 是Atlassian公司为Bitbucket Cloud产品添加的一个新功能, 它为托管在Bitbucket上的项目提供了一个良好的持续集成/交付的服务. ...
- H5微信播放全屏问题
在ios和安卓手机里的微信下播放视频时,会遇到不少问题,例如需要手动点击,视频才会播放,并且视频会跳出微信框,出现控制条,如果视频不是腾讯视频,播放完毕会出现腾讯视频的广告推送等问题 解决办法:给vi ...
- 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
这是 OpenStack 实施经验分享系列的第 11 篇. 本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而 ...