реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Характеризация целов для IC Complier, Начальное понимание процесса и необходимые тулзы
v_mirgorodsky
сообщение Sep 18 2016, 09:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



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


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


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


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


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




--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Shivers
сообщение Sep 18 2016, 14:55
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 611
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



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

Если моделировать не много (пара-тройка ячеек), то можно попробовать провести характеризацию вручную: сделать батч-файл и моделировать на спайсе все точки LUT для каждой арки. В принципе, все что делает SS, это готовит батч-списки для запуска спайса, затем парсит логи и выписывает либерти. Ничего волшебного.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Sep 18 2016, 21:26
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Shivers

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


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Shivers
сообщение Sep 19 2016, 10:39
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 611
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



У меня нет возможности выложить флоу, поскольку придется вычищать 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 в этом туле нет.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Sep 19 2016, 21:22
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Печально, но спасибо и на этом. Пошел курить мануалы.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st November 2017 - 08:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01232 секунд с 7
ELECTRONIX ©2004-2016