Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: характеризация в liberate
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Разработка цифровых, аналоговых, аналого-цифровых ИС
Mikhail241
Всем привет.
Сталкивался ли кто с такой проблемой. Подключаю простой нетлист с транзисторами типа nch_mac и pch_mac и спайс модели на эти мопы. Запускаю char_library но:

ERROR (LIB-508): (char_library): Unable to identify the device type for 'nch_mac' because no global or local NMOS or PMOS model has been loaded using 'read_spice' and no 'define_leafcell' command has been specified. Load the model using 'read_spice' or specify a 'define_leafcell' command and rerun. The 'define_leafcell' commands must precede 'read_spice' command. If the netlist has elements, also specify the '-element' argument with the 'define_leafcell' command.
ERROR (LIB-507): (char_library): Failed to process the model based element inst: 'MM73', model: 'MOS' in the cell DFD. This cell will be skipped. Check the model uses standard parameter names and the define_leafcell command options are used properly. Update the Tcl and rerun.

Пробовал на другом примере где мопы не pch_mac а просто pch, там все ок.
baumanets
Цитата(Mikhail241 @ Feb 13 2018, 13:51) *
Всем привет.
Сталкивался ли кто с такой проблемой. Подключаю простой нетлист с транзисторами типа nch_mac и pch_mac и спайс модели на эти мопы. Запускаю char_library но:

ERROR (LIB-508): (char_library): Unable to identify the device type for 'nch_mac' because no global or local NMOS or PMOS model has been loaded using 'read_spice' and no 'define_leafcell' command has been specified. Load the model using 'read_spice' or specify a 'define_leafcell' command and rerun. The 'define_leafcell' commands must precede 'read_spice' command. If the netlist has elements, also specify the '-element' argument with the 'define_leafcell' command.
ERROR (LIB-507): (char_library): Failed to process the model based element inst: 'MM73', model: 'MOS' in the cell DFD. This cell will be skipped. Check the model uses standard parameter names and the define_leafcell command options are used properly. Update the Tcl and rerun.

Пробовал на другом примере где мопы не pch_mac а просто pch, там все ок.

Сделай нетлист / список цепей. Смотри какая модель грузится. А потом в папке смотри наличие моделей в scs-подобных файлах.
Mikhail241
Цитата(baumanets @ Feb 14 2018, 06:15) *
Сделай нетлист / список цепей. Смотри какая модель грузится. А потом в папке смотри наличие моделей в scs-подобных файлах.

Я ведь с этого и начал. Сделал нетлист вентиля прочитал его и спайс модели. У меня не scs у меня L(hspice). Я итак знаю, что не грузится - nch_mac и pch_mac. Мне кажется это связано с тем, что *_mac это не модели, а subckt а сами модели находятся в нем и тулу нужно как-то это объяснить
Mikhail241
Частично решил проблему: названия инстанций макро транзисторов(*ch_mac) должны начинаться с буквы X. Но как быть с нетлистом у которого при генерации буква M?
vermut.42
как вариант посмотри в UG: define_leafcell

CODE
define_leafcell -type nmos -pin_position { 0 1 2 3 } -extsim_model nch_mac


Цитата(Mikhail241 @ Feb 14 2018, 12:14) *
Частично решил проблему: названия инстанций макро транзисторов(*ch_mac) должны начинаться с буквы X. Но как быть с нетлистом у которого при генерации буква M?


можно поподробнее? из текущего описания мне кажется что достаточно постобработки нетлиста небольшим шелл скриптом..
Mikhail241
Цитата(vermut.42 @ Feb 14 2018, 17:25) *
как вариант посмотри в UG: define_leafcell

CODE
define_leafcell -type nmos -pin_position { 0 1 2 3 } -extsim_model nch_mac




можно поподробнее? из текущего описания мне кажется что достаточно постобработки нетлиста небольшим шелл скриптом..

Я сейчас так и делаю. Автозаменой. Но как-то странно: в описании tsmc сказано, что макро должны начинаться с "X", но все их же spi-нетлисты на стд ячейки с транзисторами на "М" !
define_leafcell пробовал, не помню с какими ключами, завтра еще раз запущу...

Спасибо за ответы! Еще вопрос. Как в liberate констрейнить входные данные которые тактируются внутренним клоком? Внутренний клок генерируется с помощью входного опорного клока.
vermut.42
Цитата(Mikhail241 @ Feb 14 2018, 14:09) *
Как в liberate констрейнить входные данные которые тактируются внутренним клоком? Внутренний клок генерируется с помощью входного опорного клока.


Либерейт может рассчитать временные ограничения для пары входных портов: сетап, холд и т.д.
Если я правильно понял - стройте арки для входных данных и опорного клока..
Shivers
Всем привет! Есть вопрос по переносу настроек из одной либы в другую. Как дампить темплейты из загруженной либы понятно, как дампить скелет либы (udata.lib) тоже понятно. А вот как задампить весь хеадер билиотеки, включая пороги, напряжения, пауэр рейлы, переменные, таблицы .. - т.е. все, что идет до селлов?
vermut.42
Цитата(Shivers @ May 28 2018, 17:36) *
Всем привет! Есть вопрос по переносу настроек из одной либы в другую. Как дампить темплейты из загруженной либы понятно, как дампить скелет либы (udata.lib) тоже понятно. А вот как задампить весь хеадер билиотеки, включая пороги, напряжения, пауэр рейлы, переменные, таблицы .. - т.е. все, что идет до селлов?

ЕМНИП, "пороги, напряжения, пауэр рейлы, переменные, таблицы" - САПР сам тебе сгенерит, хотя внешне может выглядеть по другому. Добавить что-то в либу можно командой "add_lib_attribute"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.