目录
首先集合的操作和数组以及列表是不一样的,集合无法直接echo显示,直接echo会输出_selxxx
集合无法像数组和列表一样使用foreach,而是使用foreach_in_collection来遍历。下面重点介绍集合的概念。
1.集合(collection)
一个collection是库,引脚,cells(单元)设计工程的集合,你可以用Synopsys命令来创建,查看,修改collection。在dc_shell中常有get_***,all_**产生,它的每一个元素里面包含很多属性。
举例如下:
dc_shell> set mem_collec get_cell *mem*
{a_mem_0 b_mem_1}
dc_shell> echo ${mem_collec}
_selxxx
dc_shell> query_objects [index_collection ${mem_collec} 0]
a_mem_0
虽然运行 get_cell命令显示{a_mem_0 b_mem_1},但直接echo ${mem_collec}的输出为_selxxx是得不到真正的元素。
实际上这两个元素都是包含很多属性的。假设a_mem_0的moduleName为xxx_256x64_wrap, b_mem_1的moduleName为xxx_128x32_wrap,则运行一下命令:
dc_shell> get_attr ${me

本文介绍了Synopsys设计工程中集合(collection)的概念,如何在dc_shell中操作,包括打印元素名的方法,以及与数组(array)和列表(list)的对比。还提到了数组和列表的特性和操作,如TCL中的数组和列表定义、遍历等。

1519

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



