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

Характеризация целов для IC Complier

Доброго времени суток,

 

 

Раньше пользовался готовыми библиотеками с ФАБа, а теперь вот назрела необходимость разработать свою специализированную библиотеку для ICC и охарактеризовать ее.

 

 

Есть у меня некий список целов, для каждой есть СПАЙС-нетлист, сделан лейаут, извлечены паразиты. Требуется получить LIB-файл, который можно скормить DC и ICC в качестве библиотечного.

 

 

В Инете встречал упоминание о магической тулзе SiliconSmart. По отзывам, сильно упрощает и облегчает процесс. Однако сразу приручить ее как-то не получилось. Да и не совсем понятно что она берет на вход и что выдаст на выходе.

 

 

Может кто-то сможет подсказать приблизительный маршпут, или сможет показать пример характеризации одной ассинхронной и одной синхронной целы? Думаю, что многим здесь это было бы интересно.

 

 

 

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


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

Синопсис купил этот тул несколько лет назад. Я им пользовался пару раз, но за основу брал уже готовое флоу, настроенное другими людьми. Есть скрипт инициализации, который содержит пороги, юниты, шаг параметров LUT, и т.д. - все это идет потом в шапку библиотеки. В качестве исходных данных нужен cdl ячеек, и их функциональное описание во внутреннем формате SS: триггер, clock_g, логика и т.д. (можно задавать просто таблицей истинности) . На основе описания формируются функции и арки элементов для наполнения либерти-моделей. SS каждую арку моделирует внешним вызовом спайса (нужно подключить соотв. лицензии). SS хорош тем, что его можно запускать в кластере. На выходе - верилог, и либерти.

Я бы посоветовал почитать референс флоу. У синопсиса всегда были хорошие мануалы, по сравнению с тем же каденсом. Правда, SS - не совсем синопсис, как я уже писал, и флоу довольно корявое, на мой вкус.

 

Если моделировать не много (пара-тройка ячеек), то можно попробовать провести характеризацию вручную: сделать батч-файл и моделировать на спайсе все точки LUT для каждой арки. В принципе, все что делает SS, это готовит батч-списки для запуска спайса, затем парсит логи и выписывает либерти. Ничего волшебного.

 

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


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

Shivers

 

А вот тут и возникает вопрос - а как сделать характеризацию хотя-бы одной целы и как после этого получить готовый .LIB файл, годный к употреблению? Я очень хорошо знаю что есть симуляции и фулл-кастом, однако не знаю что ожидает увидеть DC и ICC. Можете показать пример на одном нанде, если не сильно сложно?

 

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


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

У меня нет возможности выложить флоу, поскольку придется вычищать 99% текста (NDA). Если кратко, то нужны всего две команды configure и characterize , а затем можно выписать модели model -create_new_model -timing -power -verilog -lib_name ${LIBNAME} -output ${LIBNAME} и при желании сделать репорт: generate_datasheet -operating_condition "${env(CORNER)}"

Но перед этим кодом делается огромная куча всевозможных настроек вроде порогов, шага таблиц и т.д. Все настройки делаются через задание соотв. переменных.

 

По поводу DC/ICC/Formality/Genus/Innovus и т.д. - либерти формат он и в африке либерти формат: есть мануалы с описанием всех возможных конструкций языка, типов арок и т.д. Если библиотека написана без ошибок, тул ее прочитает. Впрочем, это еще не значит, что все арки будут использованы тулом - STA отдельная песня. Если хотите разобраться с характеризацией, то надо читать формат либерти и изучать STA, поскольку это два звена одной цепи (почитайте к примеру эту статью https://habrahabr.ru/post/273849/ ) Но когда Вы все это прочитаете, то поймете что и без SiliconSmart сможете обойтись, хотя он сильно упрощает жизнь. С другой стороны, если с либерти и STA не разбираться, то врядли вы SiliconSmart правильно настроите, поскольку он выписывает ровно то, что у него простят. Т.е. надо точно знать, что хотите получить в результате; волшебной кнопки i_win в этом туле нет.

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


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

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

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

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

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

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

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

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

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

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