Jump to content

    
Sign in to follow this  
Dantist2k17

Encounter: Передача результата команды get_cells в переменную

Recommended Posts

Приветствую! Стоит задача получить список связанных с net-ом ячеек.

Не могу/не знаю как передать результат команды get_cells в переменную.

Как пробовал...

encounter 51> get_cells -of_objects [get_nets n400]
U526 U525 U524
0x15
  
encounter 52> set a [get_cells -of_objects [get_nets n400]]
0x17
encounter 53> puts $a
0x17
  
encounter 54> get_cells -of_objects [get_nets n400] > 456

Usage: get_cells [-help] [-filter <expr>] [-hierarchical] [-hsc <char>] [-leaf]
                 [-nocase] [-quiet] [-regexp] [ <patterns> | -of_objects <object_list> ]

**ERROR: (ENCTCM-48):	"456" is not a legal option for command "get_cells". Either the current option or an option prior to it is not specified correctly.

  
encounter 55> exec echo [get_cells -of_objects [get_nets n400]] > 123

В файл 123 записывается "0x1a".

 

Что посоветуете?

 

 

Share this post


Link to post
Share on other sites

В Синопсисе есть такая же команда get_cells - она возвращает коллекцию. Чтобы получить имена элементов этой коллекции используется команда get_object_name [get_cells ...]

Может и в Encounter есть что-то подобное?

Share this post


Link to post
Share on other sites
26 minutes ago, oratie said:

В Синопсисе есть такая же команда get_cells - она возвращает коллекцию. Чтобы получить имена элементов этой коллекции используется команда get_object_name [get_cells ...]

Может и в Encounter есть что-то подобное?

Большое спасибо, помогли. В DC я писал в файл и затем читал из него. Оказывается все просто...

Share this post


Link to post
Share on other sites

Маленькое уточнение. get_cells -of [get_nets ] будет работать криво, поскольку в базе данных обьектов цепь присоединяется к пину, а пин уже принадлежит селле. Поэтому правильнее использовать конструкцию get_cells -of [get_pins -of [get_nets  ]]   или, к примеру get-nets -of [get_pins -of [get_cells ]].   На самом деле, все и еще сложнее - бывают ассайны (цепь присоединяется к цепи, а не пину), порты (цепь присоединяется к порту, а не пину - разные типы обьектов) и т.д., поэтому найти селлы подключенные к конкретной цепи часто бывает куда сложнее чем может показаться на первый взгляд.

И еще одно учтонение - вместо get_object_name можно просто получить property/attribute обьекта через get_attribute (synopsys) или get_property (cadence).

Share this post


Link to post
Share on other sites

Вместо get_cells можно использовать all_connected

all_connected [get_nets net_name]

Так же дает указатель на ячейки который можно вывести через get_object_name

В 27.09.2019 в 16:07, Aleх сказал:

Маленькое уточнение. get_cells -of [get_nets ] будет работать криво, поскольку в базе данных обьектов цепь присоединяется к пину, а пин уже принадлежит селле. Поэтому правильнее использовать конструкцию get_cells -of [get_pins -of [get_nets  ]]   или, к примеру get-nets -of [get_pins -of [get_cells ]].   На самом деле, все и еще сложнее - бывают ассайны (цепь присоединяется к цепи, а не пину), порты (цепь присоединяется к порту, а не пину - разные типы обьектов) и т.д., поэтому найти селлы подключенные к конкретной цепи часто бывает куда сложнее чем может показаться на первый взгляд.

И еще одно учтонение - вместо get_object_name можно просто получить property/attribute обьекта через get_attribute (synopsys) или get_property (cadence).

В таких случаях можно использовать ключ -leaf, если нужны именно ячейки подключенные к проводу(не знаю проходит ли он через асайны). Есть еще вариант dbGet [all_connected net_name].inst.defName - тут сначала ищутся все пины подключенные к нету а затем определяются имена ячеек.

Edited by MickeyMouse

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this