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

Проектирование элементов библиотек

Вообще, интересует проектирование собственно библиотек. Так как имеющийся софт безнадёжно устарел, то интересно - кто этим и в чём занимается, моделируют как и на чём, примеры либ и элементов. Файлы технологий от фабрик. Уровень: от собственно транзисторов - до логического вентиля ... :)

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


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

Вообще, интересует проектирование собственно библиотек. Так как имеющийся софт безнадёжно устарел, то интересно - кто этим и в чём занимается, моделируют как и на чём, примеры либ и элементов. Файлы технологий от фабрик. Уровень: от собственно транзисторов - до логического вентиля ... :)

 

Стандартный аналоговый дизайн. Софт - стандартные IC, Cosmos и т.п. от личных симпатий. Симуляция соотв. в spectre/hspice. Я себе сейчас клепаю расширение либы от фабрики с IO-падами. За основу беру их ячейку, оставляю защиту от статики и разводку колец, остальное переделываю под себя. Затем остается сгенерить .lib с задержками для синтезатора - что делаю на основе данных от .measure из спайса, в котором гоняю резудьтат с паразитами. Ну и .lef сгенерить потом может быть для использования в энкаунтере (если не в астро потом чип собирать).) Конкретно разрабатываю IO-пад, который кроме обычного довольно сильного выхода умеет драйвить ЖКИ-стекло. И IO-пад, содержащий выходной буфер операционника. Стандарт целлы по аналогии, не сложнее и не проще.

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


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

Я предпочитаю разработку библиотек делать в Таннер Тулз, так как библиотеки весьма "продвинутые", стойкие. И графика в них нужна сильная. Ну а экспорт не проблема - gds.

Тема очень большая, всего не сказать... Лучше вопросы по-маленьку задавать.

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


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

Ну, вообще ... Если с самого начала, то нужно описание технологии (файлы технологии) гдето взять ... модели транзисторов, наверное ... В этом тёмный лес, если честно :( ...

Т.е. в чём начать есть - а вот откуда исходные ...

Кстати, Таннер Тулз сгенерит lib ля-синопсис? И как вообще он для 130, 90 и 65 нан - адекватен?

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


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

Да, первым делом нужно поиметь DRC от фабрики-изготовителя.

Либо даже коммерческую библиотеку, в которой DRC уже присутствуют по определению.

Совсем хорошо получить расширенный док по технологии и ограничениям.

Ну и, конечно, Spice-модели компонентов, изготавливаемых по этой технологии. Также, надо будет (если негде взять) написать файл для экстракции схемы из топологии (для последующего LVS).

Можно рисовать в меру своих знаний и проверяться....

Lib файл не генерится никем - он пишется ручками исходя из функции ячеек и результатами их моделирования в Spice.

Также, lib файл по готовности должен быть хорошо отверифицирован как "глаками", так и штатными средствами Synopsys (Compiller, etc).

Библиотека (схемотехника, топология и файлы для синтеза (lgn or lib, etc) должны быть "кристально чисты" от ошибок и проходят многоступенчатую верификацию. Вплоть до запуска тестовой партии, содержащей тесты всех ячеек. Это не обязательно, но желательно. Или запускается некоторая схема, использующая почти все или все ячейки.

 

Топологические нормы (130, 90 и 65 нан и т.п) для ТТ, как и для других аналогичных прог значения не имеют, - все внутренние единицы измерений могут быть условными (лямбда-масштаб) и могут быть переведены в любой другой масштаб. Здесь играет большое значение адекватность используемых Spice-моделей и соблюдение правил проектирования, которые для самых современных процессов могут быть весьма "развесистые", нужно хорошо знать техпроцесс и его ограничения.

Особенно круто обстоит дело с аналоговыми RF- техпроцессами и библиотеками.

Потренироваться можно в ТТ - в нем по умолчанию открывается полный учебный проект с заданными слоями, DRC, ext, Spice и примерами.

Конечно, нужно читать хэлп.

Но бояться, несмотря на сложность этого пути, не стоит - "дорогу осилит идущий". Было бы желание этим заниматься...

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


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

Технологические файлы и правила для техпроцессов мосиса можно взять тут http://www.cadence.ncsu.edu/CDK.html

А библиотеку целов под нее на http://vcag.ecen.okstate.edu/projects/scells/

 

Также существует crete.cadence.com там есть библиотека 180 нм , и некоторое количество референс проектов под нее.

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


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

Таннера под линукс на нашем фтп нет ...

смнопсисовский солд-вв битый (тот что поновее :( )

млин... а ментор на АСП чегото косячит :(

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


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

ТТ только под Вин и бывает. Причем >=2000, желательно ХР.

Под Лин используйте Cadence IC5141 -есть на фтп

или MG IC Flow. По Синопсису не могу сказать точно что именно нужно для "рисования" - поспрашивайте... H-Spice для моделирования.

 

Что касается Lib, - держатель стандарта Синопсис, в его компиллере есть достаточно доков по описанию формата. Я выкладывал основные из них на фтп, см. pub/DOC/Books/DocsForLibraryCreation

Также, можно поискать Parser у них - специальная проверялка грамматики Lib.

Compiller тоже есть на фтп.

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


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

Вопрос следующего плана.

Существует БМК с определенным набором базовых ячеек, доопределить которые нельзя!!!

Имеется ли возможность в библиотеке формата liberty описать элемент, состоящий из нескольких базовых ячеек БМК?

Например для того, чтобы описать сканируемый триггер и т.п.

 

Хотелось бы также почитать pub/DOC/Books/DocsForLibraryCreation, вот только доступа нет...

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


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

Либерти весьма развесистый формат, описать можно очень многое.

В том числе, скорее всего, и вашу задачку (если она в принципе формализуется).

Другой вопрос - Либерти часто пишется как универсальный формат для последующего перекодирования его во внутренние форматы синтезаторов.

Все приличные синтезаторы либо понимают Либерти, либо имеют переходники из него в свои собственные форматы.

Например, Леонардо, Симплисити. Не говоря уж про родные, синопсисовские.

Но вот тут то и возникают ограничения - не все перекодировщики (синтезаторы) понимают все, что написано в lib. Например, количество и назначение выходов ячейки. Так, lgn допускает строго определенное сочетание выходов, один + инверсный. А в либ хоть мульон опиши.....

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

 

Если уж никак не терпится, то доки вышлю.

Но, все-таки, попробуйте получить доступ к фтп, - там много полезного кроме этого. Удачи.

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


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

Млин ... ховтухи надо писать уже :)

Тематика:

1) Установка, конфигурирование и состав маршрутов Synopsys, Mentor, Cadence, Alliance ...

2) Старт, начало работы, что надо, как надо, чего в довесок

3) Разработка либ, верификация ....

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


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

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

 

А то собственно кроме документации и почитать нечего. Литература в основном про основы (ASIC Смита, или там Разави Аналго КМОП и тд ) либо документация уровня: это меню для этого это меню для этого и тп , хорошо хоть маршруты рисуют.

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


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

for zzzzzzzz, спасибо за отклик.

Вот, как раз, в lgn известно, как решить подобную задачу (см. пример во вложении). Вопрос связан именно c liberty, так как есть интерес в освоении продуктов от Synopsys.

На первый взгляд, для решения своей задачи в liberty, я обнаружил группу model, но она позволяет определять только перемычки (short) между выводами ячейки или я чего-то не догоняю (или что-то не дописано в документации на liberty).

Вообще, кто-нибудь решал такую задачу именно в этом формате?

Согласен, что она несколько специфична, но хотелось бы решить её в лоб, красиво. :)

example.txt

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


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

Вопрос ко всем спрашивающим:

Ребят,неужели вы решили замутить *.lib файл для родных отечественных БМК ? Если так, то :a14: вам по всем фронтам!!!

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


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

Мысль понятна. Я когда-то тоже думал сделать (синтезировать) библиотеку стандартных ячеек из примитивов более низкого уровня иерархии.

Но, так как занимаюсь заказными ИС, то мне это не подошло - нарисованные ячейки гораздо компактнее и качественнее синтезированных. А это важнее универсальности и даже скорости проектирования как правило (она и так достаточно высока).

А в случае БМК это вполне разумно. И реализуемо (интуитивное мнение - я такими задачами не занимался).

Только не забудьте, что Леонардо все равно надо как минимум три стандартных ячейки INV, NAND2, DFF (если не соврал).

Не стану говорить ничего по поводу model, short, так как не знаю точно.

 

Документация всегда хреновая. И Синопсисы не исключение. Все (именно все!!!) основные понятия Либерти приходится выцарапывать из огрызков мыслей в документации и потом проверять, - а правильно ли понял авторов. Увы. Это стиль, вообще - написать так, чтобы люди мучались. А кое о чем и умолчать - если спросят, то может и денежку срубить за техподдержку - типичный буржуйский подход. Так что могу только пожелать терпения и удачи.

 

Ну а если кого-то пропрет на написание вышеназванных инструкций....

В принципе, такая книжка быстро раскупится.... :-)

Только на практике получается - либо писатель, либо работой занят...

Бывают, конечно, Фейнманы... Но редко.

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


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

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

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

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

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

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

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

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

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

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