Перейти к содержанию
    

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

Приветствую! Стоит задача получить список связанных с 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".

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, oratie said:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Маленькое уточнение. 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).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вместо 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 - тут сначала ищутся все пины подключенные к нету а затем определяются имена ячеек.

Изменено пользователем MickeyMouse

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...