innovus dbget的用法
今天介绍一下innovus dbget的用法. common ui的get_db会相对简单很多,在此就不多加赘述了.• 获取设计中已经有的physical only cell的名字 dbGet [dbGet -p top.insts.isphysOnly 1].cell.name -u • 找到对应lib cell的数量 llength [dbGet top.insts.cell.name xxx] • 如果要删physical only cell可以用下面的命令 set physical_cell [dbGet [dbGet -p top.insts.isphysOnly 1].name] deleteInst $physical_cell • 想要删除某一个某一种physical only cell set welltap_cell [dbGet [dbGet -p2 top.insts.cell.name xxx].name] deleteInst $welltap_cell • 获取设计中所有的port数量 dbget top.numterms • 获取设计中所有的input port数量 dbget top.numInputs • output port数量可以用上面的两个命令得到的结果进行相减即可dbget没有提供对应的选项 • 获取macro的pin数量假设已经选中了一个macro llength [dbget selected.instTerms.name] • 获取macro的input pin数量假设已经选中了一个macro llength [dbget selected.instTerms.isInput 1] • 获取macro的output pin数量假设已经选中了一个macro llength [dbget selected.instTerms.isOutput 1] • 列出设计中所有unplace的instance dbGet [dbGet -p top.insts.pStatus unplaced].name • 列出设计中所有place的instance dbGet [dbGet -p top.insts.pStatus placed].name • 列出设计中所有fix的instance dbGet [dbGet -p top.insts.pStatus fixed].name select_obj [dbGet top.insts.pstatus fixed -p] • 列出block io端口terminal所用的layer dbGet top.terms.pins.allShapes.layer.name • 列出设计中的non default rules (NDR) dbGet head.rules.name • 列出某条net的route rule dbGet [dbGet -p top.nets.name netName].rule.name • 获得某个/选中instance的pStatus信息 dbGet [dbGetInstByName instName].pStatus dbGet selected.pstatus instance的pStatus有unplace,placed,fixed,cover,softfixed四种属性。在Innovus中如果cell有fix属性那么这颗cell的边框会比较粗。典型的cell,比如有tapcell,endcap和寄存器等cell。 • 避免特定multibit寄存器被拆分debanking dbSet [dbGetInstByName flop_name].dontSplitMultibit 1 • 避免特定multibit寄存器被合并banking dbSet [dbGetInstByName flop_name].dontMergeMultibit 1 • 选中出设计中的所有hard blockage select_obj [dbGet top.fplan.pBlkgs.type hard -p] • 获得方形routing blockage的坐标 dbGet top.fplan.rBlkgs.shapes.rect • 获得多边形routing blockage的坐标 dbGet top.fplan.rBlkgs.shapes.poly • 列出设计中用到的所有cell类型 dbGet -u top.insts.cell.name • 获得 block/memory的placement halos大小 block包括memory dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloTop dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloBot dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloLeft dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloRight • 获得 block routing halos大小和最低最高层 dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloSideSize dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloBotLayer.name dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloTopLayer.name • 确认所有的1b0和1‘b1都练到tie cell而非直接连接到VSS和VDD dbGet top.insts.instTerms.isTieHi 1 dbGet top.insts.instTerms.isTieLo 1 如果都有tie cell那么命令执行后应该返回0X0。如果返回值是其他值那么可以继续使用下面的命令找出需要加tie cell的instTerms。 dbGet [dbGet -p top.insts.instTerms.isTieHi 1].name dbGet [dbGet -p top.insts.instTerms.isTieLo 1].name • 更改net的route属性(比如从 FIXED 到ROUTED) dbSet [dbGet -p top.nets.name netName].wires.status route • 列出某条net所用到的layer dbGet [dbGet -p top.nets.name netName].wires.layer.name • 选中某条net的shielding net dbSet [dbGet -p top.nets.name netName].wires.status fixed • 选中某条net的shielding net dbSelectObj [dbget [dbget -p [dbGet -p top.nets.name $net].shieldNets.name GND].sWires.shieldNet.name $net -p2] • get到特定cell name (ref name)的所有instance dbGet [dbGet -p2 top.insts.cell.name cellName].name • get library中特定cell name的size dbGet [dbGetCellByName cellName].size • 列出设计中所有clock net dbGet [dbGet -p top.nets.isClock 1].name • 将包含特定关键词clk的所有instance选中设置成fix属性 dbSet [dbGet –p top.insts.name *clk*].pStatus fixed select_obj [dbGet [dbGet top.insts.name *clk* -p].name] • 获得特定route_type的最高层和最低层 dbGet [dbGet -p head.routeTypes.name routeTypeName].topPreferredLayer.num dbGet [dbGet -p head.routeTypes.name routeTypeName].bottomPreferredLayer.num • get database units dbGet head.dbUnits • get the manufacturing grid dbGet head.mfgGrid • 获得所有的physical only cell比如filler cell, endcap cell和tapcell等 dbGet [dbGet -p top.insts.isPhysOnly 1].name • 获得 Dont Touch instances: dbGet [dbGet -p top.insts.dontTouch true].name • 获得database中所有Dont Use cells dbGet [dbGet -p head.libCells.dontUse 1].name • 获得JTag elements dbGet [dbGet -p top.insts.isJtagElem 1].name • 获得所有 spare instances dbGet [dbGet -p top.insts.isSpareGate 1].name • get 特定instance的pg pin dbGet [dbGet top.insts.name $instName -p ].pgInstTerms.name • 选中包含特定module name的所有memory或hierarchy module selectInst [dbGet [dbGet top.Inst.subClass block -p2].name specify_module_name ] • get到某个module中的所有sequential cell selectModule dbGet [dbGet selected.insts.cell.isSequential 1 -p2].name • get到指定net driver的instance name和cell name set netName netName set inst [dbGet [dbGet -p [dbGet -p top.nets.name $netName].allTerms.isOutput 1].inst] Puts Net: $netName, driving inst name: [dbGet $inst.name], driving cell name: [dbGet $inst.cell.name] • 列出cell某个pin的所有layer dbGet [dbGet -p selected.cell.terms.name pinName].pins.allShapes.layer.extName • get到die area/选中boxes的polygon和面积 dbShape -output polygon [dbGet top.fPlan.boxes] dbShape -output polygon [dbGet selected.boxes] dbShape -output area [dbGet selected.boxes] • get top level term pin坐标和layer number lindex [dbGet [dbGet top.hinst.hinstTerms.term.name - p].pins.allShapes.shapes.rect] 0 dbGet [dbGet top.hinst.hinstTerms.term.name -p].pins.allShapes.layer.num • 找出包含特定属性的所有instance set inst_ptrs [dbGet -p top.insts.props {.name myProp .value xyzzy] Puts Instances with property myProp and value xyzzy: [dbGet $inst_ptrs.name] • 找出设计中非clock ports dbGet [dbGet -p [dbGet -p2 top.terms.net.isClock 0].isInput 1].name • get到设计中tech site相关信息 dbGet head.sites.name dbGet head.sites.size dbIsTechSiteVDDOnBottom [dbGet head.sites.name -p]

相关新闻

HCL模拟器实战:从安装启动到网络配置的完整排错指南

HCL模拟器实战:从安装启动到网络配置的完整排错指南

1. 从“启动失败”到“丝滑运行”:一个网络工程师的HCL模拟器实战心路 如果你正在学习华三(H3C)的网络技术,或者需要搭建一个实验环境来验证配置,那么HCL模拟器几乎是你绕不开的工具。它不像思科的Packet Tracer那样“…

2026/8/3 7:39:29阅读更多 →
对于梳理elementui相关组件的开发

对于梳理elementui相关组件的开发

页面组件要素 我们要开发一个页面 要掌握一个页面的基本构成元素,是由什么组成的 对于组件的理解,我们就从elementui上做理解 全部组件 1.布局 2.布局容器 3.色彩 4.字体 5.边框 6.图标 7.按钮 8.文字链接 9.单选框 10.多选框 11.输入框 12.计数器 13.选…

2026/8/3 7:39:29阅读更多 →
高校体育场馆微信小程序预约系统设计与实现

高校体育场馆微信小程序预约系统设计与实现

1. 项目背景与需求分析 高校体育场馆作为校园基础设施的重要组成部分,其管理效率直接影响着师生的使用体验。传统的人工预约登记方式存在诸多痛点: 预约效率低下 :学生需要现场排队或电话预约,高峰期经常出现长时间等待 场地利…

2026/8/3 7:39:29阅读更多 →
张雪峰事件揭示的中年危机与抗风险策略

张雪峰事件揭示的中年危机与抗风险策略

1. 从张雪峰事件看中年危机本质 2023年教育领域最富戏剧性的事件,莫过于知名考研导师张雪峰因"孩子报新闻学就打晕"的争议言论被推上风口浪尖。这个看似偶然的公共事件,实则折射出当代中年人面临的典型困境——在职业成就与社会期待的双重夹击…

2026/8/3 8:48:22阅读更多 →
AutoGrid运行Error 2排查:解决一闪而过与文件路径问题

AutoGrid运行Error 2排查:解决一闪而过与文件路径问题

1. 问题现象与本质剖析:为什么你的AutoGrid会“一闪而过”? 如果你正在使用AutoDock进行分子对接,并且卡在了AutoGrid这一步,屏幕上弹出一个 [Error 2] 的提示,然后AutoGrid的窗口瞬间消失,最终导致关键的…

2026/8/3 8:48:22阅读更多 →
DFRC系统波束成形设计与Matlab仿真实践

DFRC系统波束成形设计与Matlab仿真实践

1. 项目背景与核心价值 双功能雷达通信系统(Dual-Function Radar-Communication, DFRC)是当前无线通信与雷达探测融合的前沿研究方向。我在实际工程中发现,传统系统往往需要独立部署雷达和通信设备,导致频谱资源紧张、硬件成本高昂…

2026/8/3 8:48:22阅读更多 →
OpenGL着色器类封装:从原理到实践,提升图形编程效率

OpenGL着色器类封装:从原理到实践,提升图形编程效率

1. 项目概述:为什么我们需要封装着色器类? 如果你刚开始接触C和OpenGL,大概率是从画一个三角形开始的。跟着教程,你会写一大堆代码:创建窗口、初始化GLAD、定义顶点数据、编译顶点和片段着色器、链接成着色器程序&…

2026/8/3 8:48:22阅读更多 →
备忘录模式:实现撤销/重做与状态恢复的设计模式详解

备忘录模式:实现撤销/重做与状态恢复的设计模式详解

1. 项目概述:为什么我们需要“后悔药”? 在软件开发的日常里,我们经常遇到一个场景:用户正在编辑一份复杂的文档,或者在一个图形工具里绘制一幅精密的图纸,突然一个误操作,或者系统崩溃&#xf…

2026/8/3 8:48:22阅读更多 →
IEHO算法解析:生物启发优化与Python实现

IEHO算法解析:生物启发优化与Python实现

1. 当麋鹿开始玩优化:揭秘IEHO算法的奇妙世界第一次听说IEHO算法时,我脑海中浮现的画面是一群麋鹿在雪地里用鹿角画数学公式。这个看似荒诞的联想,恰恰反映了IEHO(Improved Elk Herd Optimizer,改进的麋鹿群优化器&…

2026/8/3 8:46:22阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 0:29:53阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/3 0:33:53阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/3 0:20:37阅读更多 →
3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:32阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/3 2:32:59阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/3 2:33:01阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/3 2:33:04阅读更多 →