innovus Tcl 学习索引:快速上手innovus Tcl

本文介绍了Innovus Tcl的数据获取,包括dbGet和get_*命令,以及数据处理如控制语句、字符和列表操作。此外,还涵盖了其他功能如文件操作、调用Linux命令和程序块。通过实例解析了如何在Innovus中有效地使用Tcl进行设计操作。
摘要由CSDN通过智能技术生成


首先在开始学习之前需要对innovus Tcl有一个大体的认识。如下图所示,将脚本分成了三个大类:
首先通过innovus进行数据获取:
dbGet/get_property/get_cells/get_pins/get_libs/get_ports 等。
然后通过tcl对数据进行处理:
控制语句命令/字符操作命令/列表操作命令/集合操作命令。
还有一些其他的很常用的命令:
读写文件命令/调用linux命令/程序块定义命令等。

在这里插入图片描述
图中总结可能不是那么全面,但是可以通过这个图对innnovus Tcl有一个整体的认识,接下来就开始分步学习Tcl。
innovus 中对绝大多数命令都有介绍,包括tcl控制命令和tcl数据处理命令。如果本文介绍不够详细可以在innovus里尝试 help <cmd>或者 man <cmd>获取详细的介绍。

一、innovus Tcl 之 数据获取

dbGet

dbGet是Innovus DBTCL命令的一种,所得到数据是作为列表形式传递的。
除了dbGet,DBTCL的命令还包括以下几种,有兴趣可以拓展了解一下:
dbShape/dbSet/dbSchema/dbQuery/setDbGetMode/getDbGetMode

dbGet是基于一种树状的结构,通过这样的结构去获取设计中的 数据。并使用这些 数据进行脚本处理。
主要需要用到的功能:
pattern筛选/expression筛选/反向筛选(-v)去重(-u)/分级指针(-p) 等。

更深入且完整的学习dbGet参考下面的文档:
https://mp.weixin.qq.com/s/RmW_4gj_IX7BcCBpK5FfA

get_* 获取数据集合

help get_*可以获取所有能获取数据集合的命令。常用的命令有以下几种
get_cells/get_nets/get_libs/get_lib_cells/get_ports
在这里插入图片描述
实际应用中往往需要用到更复杂的匹配方式去获取想要的结果。
以get_cells为例(其他的 -help都有详细介绍),有以下几个option:

option 说明
-hierarchical 能够匹配到低阶层的cell
-filter 在匹配结果里继续筛选,*可以根据list_property中的属性进行筛选
-of_objects 将关联cell创建为集合
-nocase 指定模式为不分大小写匹配模式, *需要和-regexp一起使用
-regexp 指定模式为正则表达式匹配模式
-leaf 只返回 leaf cell(即过滤trunk cell),*需要和-of_objects一起使用

使用例,根据list_property中的属性筛选出所有的clock pin:

get_pins -hierarchical -filter {is_clock==“true”}

使用例,获取chip内pin名以PAD结尾的net:

get_object_name [get_nets -of_object [get_pins -filter “full_name =~ **/PAD”]]

get_property

使用get_property的方法:
在这里插入图片描述
property name的获取方法:list_property
在这里插入图片描述
这里的例子选择了列举出cell类型的所有属性,这些property name都可以使用get_property去获取。
其他类型还有:clock design lib lib_cell lib_pg_pin lib_pin lib_timing_arc net path_group pg_net pg_pin pin port timing_arc timing_path timing_point

二、innovus Tcl 之 数据处理

控制语句

Tcl的控制语句只有如下

  • 17
    点赞
  • 244
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林陽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值