尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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]
RELATED

相关推荐

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

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

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

📅 2026/9/10 6:51:58
对于梳理elementui相关组件的开发

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

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

📅 2026/9/16 5:33:40
高校体育场馆微信小程序预约系统设计与实现

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

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

📅 2026/8/24 12:51:16
MORE NEWS

更多资讯

📰

用Dify工作流搭建AI应用自动复盘系统,让静默故障无处遁形

说句实话,我做AI应用开发这两年,最头疼的从来不是“怎么让模型回答得更聪明”,而是“怎么发现它已经在犯蠢了”。模型在测试集上表现再好,一上线面对真实用户,各种奇奇怪怪的输入就会把它打回原形。前阵子我搭了个叫hi…

📰

星盘接口开发文档:太阳弧接口指南

星盘接口开发文档:太阳弧接口指南 1. 引言 本文档详细介绍了占星系统的太阳弧接口的使用方法,包括请求参数详解、响应数据结构、错误处理机制以及最佳实践建议。 2. 接口基础信息 接口名称: 太阳弧 请求方式: POSTContent-Type: application/x-www-form-…

📰

HCIE-Cloud V2.0备考避坑指南:从容器到OpenStack排错

简介:HCIE-Cloud培训教材V2.0是华为针对云计算专家认证推出的官方培训资料,面向认证考生及云计算运维、架构设计人员。内容围绕FusionSphere虚拟化、FusionCloud私有云、FusionAccess桌面云三大方案展开,详细介绍各方案的特点、功能与架构&am…

📰

YOLOv8从环境搭建到RK3588部署:训练调参与损失曲线分析全流程

简介:《yolov8详细教程.docx》是一份面向目标检测初学者和课程实训学生的完整YOLOv8入门教程,聚焦从零搭建YOLOv8环境、完成图片标注与模型训练全流程。文档先梳理YOLOv8相比YOLOv5的骨干网络、Anchor-Free检测头、C2f模块及多尺度融合等创新点&#xff…

📰

工业相机SDK开发实战:图像格式解析、转换链路与避坑指南

1. 工业相机SDK开发里,图像格式为什么是第一道坎刚接触工业相机SDK开发的人,十有八九会在图像格式上栽跟头。你打开相机,调好曝光和增益,满心欢喜地抓一帧图,结果拿到的数据要么是黑白雪花,要么颜色诡异得像…

📰

Trea AI编辑器实测:从智能补全到Agent多文件操作的工作流革命

这些年我用过的编辑器不少,从Vim到VS Code再到JetBrains全家桶,但真正让我觉得“AI不是锦上添花而是重写工作流”的,还是Trea。如果你最近关注AI编程工具,大概率看过“字节trea官网”“trea下载”这些热词。Trea是一个AI原生的编辑…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬