本篇博客继续介绍SNPS相关的TCL编程
llength
llength是llist的一个操作,属于通用的tcl语法
如下图所示,llength返回的是列表的元素数量,如下图所示:

lappend
lappend是在原来list里面新增列表,如下图所示,如果没有指定已经存在的列表的名字,tool会用第一个元素来创建list作为名字

get_ports&report_port
从当前的design中,创建一个port类别匹配的collection


如下图所示,根据端口不同的属性获取到的不同的port

如果直接get_ports是获取到的是顶层的ports,但是get_ports而言,并不是只能获取到顶层,如下图所示,如果是-hierarchy选项,只需要写上addr/D[0]即可,hierarchy搜索的方式是level by level,也就是说每一层,它都会去搜索。

如下图所示:

如下图,使用*获取到这个instance下面所有的ports

使用-hierarchy

get_cells
get_cells是为了从当前的design里面创建cells的collection

使用get_cells 的filter

- of_object
使用get_cells的of_object,代表的是获取这个pin所述的cell

实际case如下:


如上图所示object也可以对net,然后get_cells -of_objects是这个net连接的cell。

实际case:
如下图所示,get_cells可以获取任何hierarchy的cell

本文深入探讨了SNPS相关的TCL编程,重点介绍了llength函数用于获取列表元素数量,lappend用于列表拼接,get_ports和report_port用于获取设计中的端口信息,而get_cells则用于获取设计中的单元集合。通过实例展示了不同选项的使用方式,如-hierarchy用于按层级搜索端口和单元。

802

被折叠的 条评论
为什么被折叠?



