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

Выделение огромного числа объектов в Virtuoso Layout Editor

Добрый день. Использую Cadence 5141. В Virtuoso Layout Editor хочу заменить элементы одной библиотеки такими же элементами из другой бибилотеки. Выбираю команду Search... и там использую опцию replace. В случае если число элементов к примеру 70000, они выделяются за ~10 секунд, если их число 120000, то времени необходимо больше, но незначительно: ~30 секунд. Но если их число 180000, то cadence виснет. Я ждал порядка часа, но элементы так и не выделились, при этом, память на машине не забита. Кто-небудь может подсказать, это глюк Cadence, или у них зашито в программе количество выделяемых объектов в какой-небудь буфер. Можно ли вообще побороть такую проблему?

P.S. Такая же проблема возникла и в Schematic Editor при выделении большого числа объектов.

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


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

А нельзя ли в каденсе изменить ссылку на библиотеку не открывая схему/топологию?

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


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

А нельзя ли в каденсе изменить ссылку на библиотеку не открывая схему/топологию?

Можно. Но в этом случае поменяется ссылка во всех ячейках, которые относятся к старой библиотеке. А мне надо поменять ссылку

только одного типа ячейки (поэтому я могу поставить два условия: cell name = pmos и lib name = projlib к примеру).

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


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

А если через SKILL попробовать?

Я набросал примерную процедуру. Писал по памяти, поэтому возможны ошибки

example.il.txt

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


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

А если через SKILL попробовать?

Я набросал примерную процедуру. Писал по памяти, поэтому возможны ошибки

Спасибо. Опробую такой вариант.

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


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

В Virtuoso Layout для замены элементов используется команда Design -> Remaster instances ...

Работает эта команда считанные секунды даже на больших проектах. В вашем случае надо изменить только имя библиотеки у всех ячеек.

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


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

А если через SKILL попробовать?

Я набросал примерную процедуру. Писал по памяти, поэтому возможны ошибки

 

Не заработает твой код. Присвоить иное имя библиотеки без ремастера не получится.

 

Автору темы. Вот код, на базе которго надо делать.

Через графический интерфейс имеет смысл работать, коли элементов мало. Если много -то обязательно через SKILL пиши.

 

cv=dbOpenCellViewByType("techliboa2_copy" "TOP_LEVEL" "layout" nil "a")

foreach(inst cv~>instances

if( (inst~>libName=="FEOAreflib") then

new_master = dbOpenCellViewByType("techliboa2_copy" inst~>cellName inst~>viewName nil "r")

inst~>master=new_master

dbClose(new_master)

printf( "Processing %s\n" inst~>cellName)

))

dbSave(cv)

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


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

Не заработает твой код. Присвоить иное имя библиотеки без ремастера не получится.

 

Автору темы. Вот код, на базе которго надо делать.

Через графический интерфейс имеет смысл работать, коли элементов мало. Если много -то обязательно через SKILL пиши.

 

cv=dbOpenCellViewByType("techliboa2_copy" "TOP_LEVEL" "layout" nil "a")

foreach(inst cv~>instances

if( (inst~>libName=="FEOAreflib") then

new_master = dbOpenCellViewByType("techliboa2_copy" inst~>cellName inst~>viewName nil "r")

inst~>master=new_master

dbClose(new_master)

printf( "Processing %s\n" inst~>cellName)

))

dbSave(cv)

 

Я именно такой код и использовал. Но можно вместо этого кода использовать следующий:

ih = car(setof( instHead cv~>instHeaders instHead~>libName == "projlib" && instHead~>cellName == "pmos"))

dbSetInstHeaderMasterName(ih "new_projlib" ih~>cellName ih~>viewName)

Результат аналогичный.

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


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

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

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

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

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

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

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

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

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

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