Innovus: dbGet 快速学习教程

8bff724711f247ec98581e15f5628c58.jpg

dbGet是innovus/encounter工具自带的"database access command"命令中的一部分,它几乎可以用来获取设计相关的一切信息。

输入dbGet 按[Tab]键,能看到三个选项,分别是head / top /selected。这三个选项所代表的意义如下:

head --- 工艺信息,读入的库的信息

top --- 设计相关的 inst cell net fplan等等

selected --- 获取选中的object的属性

以dbGet selected为例,选中一个instance后,输入dbGet selected [Tab]后出现instance相关所有的属性名称。

0eb5cca262104a48b559408a3a2ed0f7.jpg

如果这时候敲[Enter],就会输出一串字符。

innovus > dbGet selected
9x7f763d0f2770

这串字符我们叫它指针,它所代表的就是dbGet selected选中的instance。所以dbGet selected能执行的操作这段字符串都能执行,就比如报告选中instance名字的操作

innovus > dbGet 0x7f763d0f2770.name
clk48M0div_reg

新手入门最大的疑惑是不知道如“name”一般每个属性所代表的意义,那么我就从这方面入手。

获取这些属性的详细说明可以使用dbGet selected.?h

c707b29973404fd6a0c4c83f1e2563c5.jpg

如果想展示选中instance所有这些属性的信息可以使用dbGet selected.??

2309caed01a24b6594350d9e9b2e7518.jpg

有没有更直观的方式,就像是“Q”一下看属性,当然有,快捷键"V",打开DB Browser,跟dbGet selected.??展示的内容一样,只不过更赏心悦目些。

fc49c7e2aa3341a7bc7be88c0f69d4d4.jpg

讲到这里dbGet selected你是不是就会用了呢?接下来就去看看进阶用法。dbGet有很多option,具体都是干嘛的,怎么用,做个简单介绍。

innovus > dbGet -d -e -i -p -p0 -p1 -p2 -p3 --p4 -p5 -p6 -regexp -u -v

按顺序来讲:

-d 的意思是返回database整数,而一般我们用的是浮点数,database整数可以参考DEF里的单位去输出。

innovus > dbGet selected.box

{3.0 7.2 10.0 8.4}

 innovus > dbGet selected.box -d

{3000 7200 10000 8400}

-e 的意思是输出为空指针时不显示0x0,而是空字符串。

innovus > dbGet selected.rHaloTopLayer

0x0
innovus > dbGet selected.rHaloTopLayer -e

innovus >

-i 是仅输出第几个结果,从0开始,也就是第一个结果对应-i 0

innovus > dbGet selected.instTerms.name
clk480Mdiv_reg/CK clk480Mdiv_reg/D clk480Mdiv_ reg/Q clk48Mdiv_ reg/R 

innovus > dbGet selected.instTerms.name -i 0
clk480Mdiv_reg/CK

-p ... -p9,-p是最常用的option,-p和-p0 -p1是一个东西,-p x它代表从后往前推第x个选项,与-p搭配使用的pattern也是必须的。

举例来说,dbGet selected.inst terms.name clk480Mdiv_reg/CK,这里clk480Mdiv_reg/CK就是pattern。

dbGet selected.instTerms.name clk480Mdiv_reg/CK -p

输出的结果就是dbGet selected.instTerms中对应clk480Mdiv_reg/CK的指针,-p2就是倒数第二个选项,dbGet selected.instTerms.name clk480Mdiv_reg/CK -p2对应的就是dbGet selected。

innovus > dbGet selected.instTerms 

0x7f763d76e960 0x7f763d76e990 0x7f763d76e9c0 0x7f763d76e9f0

innovus > dbGet selected.instTerms.name clk480M_13div_reg/CK -p

0x7f763d76e960

innovus > dbGet selected.instTerms.name clk480Mdiv_ reg/CK -p2
0x7f763d0f2770

innovus > dbGet selected 
0x7f763d0f2770

-regexp是正则表达式的意思,dbGet支持用正则表达式筛选结果。

举例来说,要抓取instTerm中的CK PIN可以用如下命令。

dbGet selected.instTerm.name -regexp {CK}

-u是去重的意思,结果中重复性的内容被过滤掉

innovus 64> dbGet [ dbGet selected .instTerms].inst.name

clk480Mdiv_reg clk480Mdiv_reg clk480Mdiv_reg clk480Mdiv_reg

innovus 65> dbGet [ dbGet selected. instTerms].inst.name -u

clk48mdiv_reg 

-v是取反的意思,如下例子,这个选中的instance一共四个pin,当用regexp筛选CK pin后只获得CK pin,加上-v取反后就返回的值就是除CK pin以外的其他三个pin

innovus > dbGet selected.instTerms.name- regexp CK

clk480Mdiv_reg/CK 

innovus > dbGet selected.instTerms.name -regexp CK -v 

clk480Mdiv_ reg/D clk480Mdiv_ reg/Q clk480Mdiv_ reg/R 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3252.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10笔记本电脑总是自动休眠解决办法

1、运行regedit,进入注册表编辑器; 2、在打开的注册表编辑器左侧定位到:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0&…

fastadmin给操作按钮添加权限菜单控制|新增权限控制菜单

1、在对应的控制器文件中,添加如下代码: $adminIds $this->getDataLimitAdminIds(); if (is_array($adminIds)) {if (!in_array($row[$this->dataLimitField], $adminIds)) {$this->error(__(You have no permission));} } 2、在对应的index…

Angular实现一个简单的带tabs选项卡切换的首页导航功能

Angular版本:16.1.1 项目结构: angular.json配置: {"$schema": "./node_modules/angular/cli/lib/config/schema.json","version": 1,"newProjectRoot": "projects","projects"…

微服务: sleuth和zipkin的用处与zipkin安装使用(下)

目录 0. 上篇传送门: 1. 前言简介 mq安装传送门: 微服务: 01-rabbitmq的应用场景及安装(docker) 1.1 Sleuth是一款分布式跟踪解决方案。 1.2 Zipkin是一个开源的分布式跟踪系统。 2. zipkin安装方式 2.1 windows下安装zipkin: 2.1.0 下载jar包位置 2.1.1 下载后,找…

生成 ocr key 字符集 alphabet 6698个字符

生成 ocr key 字符集 alphabet import pickle as pkl#----------- 生成 ocr key 字符集 alphabet alphabet_set set() # 数据集label infofiles_label [/home/jlb/下载/rec_data_lesson_demo/train.txt, /home/jlb/下载/rec_data_lesson_demo/val.txt]# ppocr中文key infofil…

OA办公系统如何通过审批流程提高效率

企业的发展与管理离不开信息化,很多企业的信息化都会选择从OA信息化开始。一个成熟先进的OA办公系统流程审批也是核心功能关注的功能之一,今天小编举例有18年平台经验的天翎低代码平台OA系统,给大家分享一下如果提升流程审批效率:…

IP路由选择过程

1.1路由选择基础 路由选择是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作。路由器不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。 目标主机的逻辑网络地址用来获取通过可路由网络传送到指定网络中的分组&#xf…

基于Java的万年历(课设)

基于Java的万年历 资源链接:基于Java的万年历(课设) 文章目录 基于Java的万年历1 绪论2 需求分析3 概要设计3.1 类间组合框架3.2 布局结构示意3.3 对各个类的概述 4运行环境5 开发工具和编辑语言6 详细设计6.1 NiceCaelendar类6.2 NiceFram…

软考高级系统架构设计师(九) 作文模板-企业应用集成

目录 作文模板 例子-企业应用集成 摘要 项目相关背景及主要功能 你的岗位及主要职责 论文主体内容的总概 项目最终的实施效果或你的总结和感悟等 正文 项目背景介绍 相关问题回应 主体内容 论文结论 例子-类似方向- 作文模板 例子-企业应用集成 2021系统架构设计…

使用英特尔 oneAPI AI 工具分析包实现AI应用程序的调试与改进

目录 1.什么是英特尔 oneAPI AI? 关于英特尔 oneAPI AI 工具分析包 2.使用英特尔 oneAPI AI 工具分析包实现AI数据分析 准备工作 数据准备 编写AI应用程序 性能分析 并行性优化 内存和线程错误分析 优化AI算法 性能验证与调试 性能优化迭代 3.总结 1.什…

【④MySQL函数】:让你的数据库操作更高效(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…

【问题记录】如何使用 pip 在 linux 上安装 pytorch

一、进入 pytorch 官网 pytorch 官网:https://pytorch.org/ 二、在页面选择环境 三、复制官网弹出的命令并运行即可 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118