DC学习(4)关于objects

一:什么是object?对象

1:分类

  

  包括六类:Design,Clock,Port,Pin(cell里面的引脚),Cell(例化的模块),Net(模块与模块之间的互连线)

2:电路图看

  

3:design可以转换为cell,

4:objects名字相同时

  

  加在net上,5个单位的电容会覆盖原电容值;加在port上,5个单位电容与原电容值x并联,总电容值为(5+x)个单元。

  改进:

  set_load 5 [get_net sum]:加载在net上

三:相关命令

1:get_*

  返回一组objects;使用echo返回objects的句柄

  set_load 5 [get_ports addr_bus*]     *是模式匹配里多个的意思,以addr_bus开头的n个port

  set_load 6 [get_ports "Y??M Z*"]     ?是模式匹配里匹配前面字符0个或者1个的意思

  如果不存在,返回empty_collection

2:all_*

  all_inputs

  all_outputs

  all_clocks

  all_registers

3:  remove_from_collectiion

  从物集里去除某些集合

  remove_from_collection [all_inputs] [get_ports CLK]   #从所有inputs里去除CLK

  add_to_collection $pci_ports [get_ports CTRL*]  #在pci_ports里添加CTRL*

4:query_objects $pci_ports

  query_objects $foo  #得到集合的具体objects

5:sizeof_collection $pci_ports(大小)

6:echo

  set foo [get_ports p*]

  echp $foo  #返回集合的句柄值

7:过滤器

  filter_collection [get_cells *] "ref_name = ~AN* "

  get_cells *-filter "don't_touch == true"

8:foreach

  

9:index_collection $pci_ports number

  相当于求数组的某个number值

四:objects的属性

  

五:其他

1:综合时read源文件后,设置完顶层文件后,即可以使用上面命令

  例如:

2:list与collection不同,list是用来存放用户定义的集合,collection是DC自己提取的东西

  list:创建,访问

  

  collection:创建访问

  

 3:DC里的环境变量ENV

  访问ENV变量:echo $env(DC_HOME)

         get_unix_variable DC_HOME

        getenv DC_HOME

  

 

posted on 2018-03-30 11:04  huanm  阅读(2246)  评论(2编辑  收藏  举报