Dantist2k17 0 26 сентября, 2019 Опубликовано 26 сентября, 2019 · Жалоба Приветствую! Стоит задача получить список связанных с 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". Что посоветуете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oratie 0 26 сентября, 2019 Опубликовано 26 сентября, 2019 · Жалоба В Синопсисе есть такая же команда get_cells - она возвращает коллекцию. Чтобы получить имена элементов этой коллекции используется команда get_object_name [get_cells ...] Может и в Encounter есть что-то подобное? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dantist2k17 0 26 сентября, 2019 Опубликовано 26 сентября, 2019 · Жалоба 26 minutes ago, oratie said: В Синопсисе есть такая же команда get_cells - она возвращает коллекцию. Чтобы получить имена элементов этой коллекции используется команда get_object_name [get_cells ...] Может и в Encounter есть что-то подобное? Большое спасибо, помогли. В DC я писал в файл и затем читал из него. Оказывается все просто... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 27 сентября, 2019 Опубликовано 27 сентября, 2019 · Жалоба Маленькое уточнение. 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). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MickeyMouse 0 2 октября, 2019 Опубликовано 2 октября, 2019 (изменено) · Жалоба Вместо 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 - тут сначала ищутся все пины подключенные к нету а затем определяются имена ячеек. Изменено 2 октября, 2019 пользователем MickeyMouse Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться