process design kit что это

Проектирование библиотек аналоговых приложений

Производства аналоговых и цифро-аналоговых интегральных микросхем. Факторы, требующие учета при проектировании. Маршрут проектирования аналоговых интегральных систем. Средства проектирования пакета Cadence. Влияние цифрового шума на аналоговые блоки.

РубрикаПрограммирование, компьютеры и кибернетика
Видреферат
Языкрусский
Дата добавления13.02.2014
Размер файла147,6 K

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение


Процесс уменьшения геометрических норм и увеличения сложности проектов сопровождается усложнением системы правил проектирования [1]. В результате планировка кристалла, содержащего, в том числе и аналоговые блоки, требует огромной ручной работы для задания на верхнем уровне проектирования всего необходимого множества ограничений. В этой связи становится актуальным вопрос о методологии проектирования прецизионных аналоговых блоков. К таким блокам можно отнести операционные усилители с малым смещением нуля, источники опорного напряжения, точные компараторы в ЦАП (цифро-аналоговых преобразователь) и АЦП (аналогово-цифровой преобразователь) и т.п.


Основная трудность разработки аналоговых блоков состоит не только в том, чтобы создать устройство, принципиально реализующее заданную функцию, но еще и в том, чтобы добиться требуемых параметров этого устройства [2]. Причем реализация второго гораздо сложнее первого, так как параметры в первую очередь зависят от технологического процесса изготовления микросхем.


Факторы, требующие учета при проектировании


Для производства аналоговых и цифро-аналоговых интегральных микросхем в основном используется субмикронная КМОП-технология [3]. Для улучшения параметров аналоговых блоков, для быстродействующих ЦАП и АЦП, а также быстродействующих логических схем с большой нагрузочной способностью (мощные выходные транзисторы) лучше всего использовать технологию БиКМОП. При производстве аналоговых и смешанных ИС, содержащих высоковольтные прецизионные аналоговые блоки (15-25 В), по КМОП-технологии широко используются поверхностные биполярные структуры и высоковольтные транзисторы с разрывом на толстый окисел. Можно использовать более дорогой и модифицированный КМОП-техпроцесс, в котором дополнительно формируются высокоомные резисторы, конденсаторы со структурой металл-диэлектрик-металл (МДМ), индукторы, биполярные диоды, транзисторы с уменьшенными токами утечки, что очень актуально для разработки аналоговых блоков. Однако для более эффективного использования преимуществ и компенсации ряда недостатков современной КМОП-технологии рекомендуется следовать ряду правил.


С уменьшением геометрических размеров и повышением быстродействия проблема учета тонких физических эффектов на кристалле становится при проектировании доминирующей. Упрощенные модели на большинстве этапов разработки уже не годятся. Чтобы обеспечить надежное проектирование необходимы точные модели и специальные средства анализа, учитывающие влияние таких факторов, как сложные паразитные RC-структуры, падение напряжения в шинах питания, индуктивность, электромиграция, высокочастотные эффекты, шум подложки [4].


При анализе требований к быстродействию нужно учитывать, что предельное быстродействие аналогового блока ограничивается не нарушением функционирования, а снижением соотношения сигнал/шум и соответствующим возрастанием искажений в передаваемой информации.


Необходимо принимать во внимание влияние и таких дестабилизирующих факторов, как помехи и разброс параметров КМОП-транзисторов. Задача очень сложная, поэтому чаще всего уровень помех и разброс параметров транзисторов оценивают раздельно и пытаются заранее применить все известные средства борьбы с влиянием этих факторов, ограничиваясь заданными значениями быстродействия и площади кристалла. После чего проводят оптимизацию электрической схемы с учетом топологии и разброса параметров.


После корпусирования ИС параметры прецизионных аналоговых блоков, расположенных внутри данной ИС, могут сильно ухудшиться. При проектировании ПАБ следует учитывать паразитные свойства корпуса, а также увеличение плотности выводов и потребляемой мощности, повышение рабочей частоты, температурные эффекты и прочие параметры, зависящие от выбранного корпуса. При проектировании системы питания особое значение имеют такие факторы, как падение напряжения в шинах питания, увеличение плотности тока, электромиграция, области локального перегрева. При проектировании межсоединений следует обратить особое внимание на учет влияния механической и химической обработки пластины, влияние заливки металлом, искажения сигнала в проводниках, шумы, импульсные помехи, электромиграцию, индуктивность. При проектировании схематики прецизионных аналоговых блоков необходимо учитывать эффекты на уровне транзисторов, такие как короткоканальные эффекты, разброс параметров на кристалле, паразитные свойства, подпороговые эффекты, использование транзисторов с разными пороговыми напряжениями, старение и надежность. При проектировании особо чувствительных мест нужно учесть паразитные свойства подложки, шумы, температурные эффекты.


Модели подложки должны позволять анализировать разнообразные температурные эффекты и влияние цифрового шума на чувствительные аналоговые блоки. Для моделирования надежности необходимы новые средства, учитывающие значительный разброс параметров [5] полупроводниковых компонентов внутри кристалла, особенности работы с несколькими значениями пороговых напряжений, эффекты старения. Анализ надежности межсоединений должен учитывать влияние процессов механической и химической обработки пластин на проводники и окружающий диэлектрик, электромиграцию и искажения высокоскоростных сигналов в проводниках.


Маршрут проектирования аналоговых ИС


аналоговый цифровой интегральный микросхема


Кратко маршрут проектирования [6] аналоговых ИС заключается в следующем :


1) Постановка задачи, составление технического задания и формирование спецификаций.


5) Изготовление и тестирование ИС.

Изложенные выше аспекты проектирования АИС, маршрут проектирования, а также факторы, которые необходимо учитывать при проектировании на субмикронном уровне, позволяют составить полную картину всего того, что необходимо знать разработчику технологических библиотек аналогового применения, разработчику PDK (Process Design Kit).

Для современных технологических процессов, знание и учет особенностей проектирования на субмикронном уровне обязателен. Так, например, во время разработки PDK на этапе создания моделей на транзисторном уровне и проектировании топологии необходимо, если говорить о МДП-транзисторах, предусмотреть возможность создания охранных колец заданной конфигурации, форму, количество и конфигурацию пальцев, возможность создания фиктивных элементов на краях массива транзисторов (dummy), обеспечить гибкость в размещение контактов к поликремнию и диффузионным областям, возможность схлопывания транзисторов (auto-abutment) и т.д. с целью наилучшего согласования МДП-транзисторов и широких возможностей для дизайнеров-проектировщиков в дальнейшем на этапе схемотехнического моделирования. На этапе составления правил проектирования разработчик PDK должен учесть влияние температурных эффектов, короткоканальные и подпороговые эффекты, эффекты, связанные с повышенным механическим напряжением, и т.д.

Вся эта информация заложена в модель параметризованных ячеек (PCell), содержащихся в PDK. Благодаря гибкости и наличию переключателей (switch), созданных на этапе разработки технологической библиотеки PDK, обеспечиваются широкие возможности для варьирования параметров стандартных ячеек (транзисторов, резисторов, конденсаторов, индуктивностей и т.д.), подразумевающих под собой также и параметризацию топологического представления элемента. Что в дальнейшем помогает дизайнеру-проектировщику ИС легко подстраиваться под требования заказчиков.

Для тестирования разрабатываемого PDK создаются тестовые ячейки по определенным правилам (testcase) для проверки и валидирования создаваемых технологических библиотек; проводится схемотехническое моделирования и верификация. Разработка тесткейсов подразумевает под собой создание схемотехнического и топологического описания ячеек. Верификация включается в себя проверку правил проектирования (DRC), сравнение разработанной топологии с нетлистом или принципиальной электрической схемой (LVS), экстракция паразитных параметров (RCX) из топологии и проведение сравнительного анализа результатов моделирования с учетом паразитных параметров и без них.

Рисунок 1. Состав PDK

Таким образом, структура PDK, представленная на Рис.1, включает в себя следующие компоненты:

2) технологическая библиотека: содержит технологический файл с описанием слоев, файлы для проведения физической верификации, экстракции, сравнения схемы с топологией и т.д.;

3) Spice-модели: содержат модели для требуемых симуляторов;

4) документация: содержит документацию пользователя, пояснения и комментарии к версии КСП и т.д.

5) вспомогательные библиотеки, программы и скрипты, необходимые для работы с КСП.

Применение САПР Cadence в разработке PDK

Для разработки и тестирования PDK используются следующие средства Cadence:

Кроме того помимо Cadence Assura существует необходимость также проводить DRC и LVS анализ с помощью средств Mentor Graphics (Calibre).

По мере разработки PDK возникает необходимость в сравнении исправлений и обновлений, внесенных после выпуска новой версии PDK, или для создания глобального автоматического отчета по результатам работы DRC или LVS проверки одним из вышеизложенных инструментов. Для этих целей используются скрипты, программы, написанные с использование языков программирования Tcl, Skill, Shell и Perl операционной системы Linux.

Рассмотренные особенности маршрута проектирования аналоговых блоков СБИС необходимо иметь ввиду при разработке Process Design Kit (PDK), включающего в себя спецификации на процессы, технологические файлы, параметры приборов, командные файлы для проведения физической верификации и экстракции параметров с использованием технологий Cadence, а также библиотеки параметризованных приборов, построенные на основе языка SKILL, поддерживаемые технологическими процесса. Также рассмотрены и проанализированы основное средства САПР Cadence, необходимые разработчику PDK.

[1] Hastings A. The Art of Analog Layout. Prentice Hall. 2001.

[2] Адамов Ю., Губин Я., Сибагатуллин А., Сомов О. Аналоговые блоки в системах на кристалле // Электроника НТБ. 2004. № 8.

[4] Сорока Д. Требования к современным САПР заказных СБИС //Электроника НТБ. 2004. №6

[5] Денисенко В. Моделирование разброса параметров транзисторов в КМОП СБИС // Компоненты и технологии. 2003. № 8.

[6] Бочаров Ю.И., Гуменюк А.С., Симаков А.Б., Шевченко П.А. Проектирования БИС класса “Система на кристалле”. Москва. 2008

[7] Иванов А. Среда проектирования компании Cadence // Электроника НТБ. 2004. № 5.

[8] Иванов А. САПР Cadence как основа сквозного маршрута проектирования электроники. 2009

Размещено на Allbest.ru

Подобные документы

Автоматизация проектирования аналоговых микросхем. Обзор существующих решений. Определение, способы реализации PCell. Специфика физического проектирования. Причины рассогласования элементов и способы их устранения. Создание топологических эскизов.

дипломная работа [1,9 M], добавлен 16.05.2014

Проектирование модуля ввода/вывода аналоговых, дискретных и цифровых сигналов, предназначенного для сбора данных со встроенных дискретных и аналоговых входов с последующей их передачей в сеть. Расчет временных задержек. Выбор резисторов на генераторе.

курсовая работа [307,1 K], добавлен 25.03.2012

презентация [1,7 M], добавлен 03.09.2014

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

дипломная работа [462,3 K], добавлен 04.06.2009

реферат [247,3 K], добавлен 05.01.2011

Оценка риска статического сбоя по всем выходным переменным. Анализ цифровых схем по методу простой итерации и событийному методу. Моделирование аналоговых схем: метод узловых потенциалов и переменных состояния. Анализ цифровых схем по методам Зейделя.

контрольная работа [382,1 K], добавлен 10.11.2010

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

курсовая работа [121,5 K], добавлен 12.05.2009

Источник

Как разработать микросхему, от идеи до результата. Часть 2. Установка программного обеспечения

В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.

Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Установка необходимых инструментов.

За основу возьмём Ubuntu 21.04. Если у вас другой дистрибутив рекомендую установить именно Ubuntu 21.04 в виртуалку. С другими дистрибутивами, либо версиями вы сами по себе.

Установите систему и проверьте, чтобы у вас было хотя бы 20GB свободного места в /opt

Я установил build-essential и VirtualBox extension, поскольку я установил систему в виртуальной машине.

ВАЖНО! Сохраняйте очерёдность

Я установил Docker

Я установил Magic VLSI и KLayout

Я установил Netgen

Затем я установил XSCHEM используя шаги снизу.

Я установил NGSPICE: sudo apt install ngspice

И напоследок я установил OpenPDK и caravel_user_project

Также мы рассмотрим работу транзисторов MOSFET и логику CMOS.

▍ Docker

Для установки Docker я использовал данный скрипт.

Затем я перезагрузился и выполнил следующую команду, чтобы проверить Docker.

▍ KLayout

Для компиляции KLayout из папки /opt:

Если Klayout запустился, то закрываем его и идём дальше. Если будут проблемы с библиотеками QT, в вашем дистрибутиве, то разберитесь сами как её установить.

Источники установка QT, сборка KLayout и документация по LD_LIBRARY_PATH.

▍ Magic VLSI

Для компиляции Magic VLSI из папки /opt:

▍ Netgen

Для Netgen я использовал следующий скрипт:

У Netgen есть требования, которые были установлены во время установки Magic VLSI/KLayout. Инструкции я нашёл тут.

▍ NGSPICE

Для установки вполне подойдёт версия из репозитория Ubuntu. Если у вас другой дистрибутив удостоверьтесь, что ngspice имеет версию 34.

▍ XSCHEM

Для XSCHEM я использовал следующий скрипт:

▍ Установка caravel_user_project.

Давайте скопируем репозиторий с изменениями, которые я опишу внизу. Из папки /opt запускаем следующие команды:

За основу взял caravel_user_project_analog. Я создал sourceme.sh с переменными. Переменные взял отсюда. Исходный код можно взять на GitHub-е вот тут.

С репозиторием и его изменениями познакомились. Теперь к установке.

OpenPDKs и Google говорят, что они не будут предоставлять билды PDK, потому что «it’s too big after it was built».

Для того, чтобы собрать с нуля։

Иногда pdk build вылетает с ошибкой. Для того, чтобы обойти этот баг, я использую коммиты, которые не содержат этого бага. Если пожалуется на Permission во время запуска докера, значит вы что-то сделали не так во время установки докера.

Установка OpenLane и тестовый запуск

Переходим в папку /opt и выполняем следующий шаг:

Учтите, что это древняя версия OpenLane, если хотите установить новую версию, на гитхабе всё очень подробно описано.

Если у вас возникли проблемы в этом шагу, дальше идти не имеет смысла, поскольку у вас есть проблема в вашей установке.

PDK ранних версий, которые мы использовали наверху имеют несовместимости с OpenLane последних версий. А ещё в OpenLane, который я использовал есть баг, из-за чего у вас будут проблемы с таймингами, которые у вас не будут отображаться. Поэтому если вы захотите установить последнюю версию используйте скрипт внизу:

Открываем новый терминал, ставим место установки PDK:

Устанавливаем, например эту версию:

Наконец для того, чтобы запустить тест выполните:

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

В папке designs мы можем видеть, очень большое количество примеров, а документация очень подробно описывает все параметры. Да, OpenLane далёк от Fusion Compiler-а от Synopsys, но это первые, очень даже удачные, шаги Open-Source программного обеспечения, к тому, чтобы составить коммерческим инструментам конкуренцию.

Теперь перейдём, немного к теории, поскольку следующая статья будет уже практическая.

MOSFET транзисторы на пальцах

Как мы уже знаем, в микросхеме используются транзисторы, но как именно работает этот самый транзистор? Для этого возьмём NMOS транзистор. Как видим на картинке, NMOS состоит из трёх полупроводников: DRAIN, SOURCE, BULK и область между DRAIN и SOURCE.

Также мы можем заметить, что в регионе, который находится между DRAIN и SOURCE находится область с противоположным типом полупроводника. В случае NMOS области DRAIN и SOURCE имеют тип N, а область посередине имеет тип P. Очевидно, что если N тип имеет потенциал выше, чем P тип, то у нас образуется «закрытый» диод.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Если по какой-то причине на область P мы подадим электроны, то этот полупроводник начнёт проводить ток, ибо у нашего диода, почти равные (либо выше) потенциалы с полупроводником типа N. Таким образом управляя количеством электронов в области между DRAIN и SOURCE мы сможем управлять током, который проходит между DRAIN-ом и SOURCE-ом. Но, как именно этого достигнуть?

Для этого мы создаём очень тонкий слой диэлектрика, который состоит из оксида силикона (SiO2). Обычно для этого используется термическая обработка. Над этим тонким слоем диэлектрика, мы создаём металлический слой.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Если подать на этот металл называемый Gate-ом положительный заряд, то в полупроводнике, который находится прямо под Gate-ом образуется область с отрицательным зарядом, то есть скопление электронов, и как мы уже узнали, в этом случае между DRAIN-ом и SOURCE-ом образуется канал. Точка, когда количество электронов между DRAIN и SOURCE достигает равного значения с количеством «дырок» называется Vth.

Стоит отметить, что на самом деле «открытый» NMOS имеет два состояния, в зависимости от напряжения Drain-Source:

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Также стоит отметить, что DRAIN и SOURCE у NMOS-ов симметричный, но SOURCE-ом обычно называют ножку, которая подключена к земле. У PMOS SOURCE-ом называется ножка, которая находится на линии питания.

Ещё стоит дополнить то, что значение напряжение BULK меняет характеристики транзистора. Подробнее можно узнать, загуглив Body effect.

NMOS находится в открытом положении, когда значение Vgate-to-source ровно, либо больше, чем Vth. PMOS в отличие от NMOS состоит из двух полупроводников P типа и BULK, как и область между двумя P полупроводниками находится полупроводник N типа. Похожим образом работает PMOS, но PMOS находится в открытом состоянии только тогда, когда напряжение Vgate-to-source CMOS логика на пальцах

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

Возьмём транзистор NMOS и подключим резистор. Когда NMOS выключен, ток течёт из резистора в подключенный вход дальнейшей логики. Если включить NMOS подав на Gate напряжение — NMOS откроется и ток из резистора практически полностью пройдёт через транзистор к земле.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

НО! Есть одна неприятная проблема. Ток через транзистор будет идти даже тогда, когда выход находится в нулевом состоянии. Ах, если бы у нас был бы транзистор, который бы закрывался, когда ты подаёшь на вход единицу… Он называется PMOS. Очевидно, что когда на входе единица, то PMOS выключен, и на выход подаётся нулевое значение, поскольку NMOS в свою очередь открыт.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

А давайте по той же логике сделаем буфер. Подключаем NMOS к VDD и PMOS к VSS. По нашей логике, когда на входе мы подадим единицу, то на выходе мы получим также единицу, круто получается, правда?

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Симулируем и получается…

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Эмм… Че-то у нас выходы имеют напряжение меньше, чем VDD и выше, чем VSS. Это связано с тем, что NMOS плохо проводят единицу, поскольку SOURCE-ом становится выход, и NMOS будет открыт до тех пор, пока Vgs выше Vth. Если Vsource (выход) достигает значения VDD-Vth, то транзистор закроется, оставив на выходе напряжение VDD-Vth, что очень плохо. Аналогично, для PMOS.

Как мы будем решать эту проблему? Давайте решим, что NMOS всегда подключен к нулю, а PMOS всегда будет подключён к единице. Идея отличная, но как нам сделать буфер используя эту логику?

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

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

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

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Если подключить два NMOS последовательно, то земля на выход пойдёт, только когда оба входа имеют высокое напряжение. Также давайте подключим два PMOS параллельно. Если хотя бы один из транзисторов имеет на Gate значение ноль, тогда транзистор PMOS открыт, а значит на выходе находится единица.

Ничего не напоминает? Правильно, это NAND:

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Если вы поставите PMOS последовательно, а NMOS параллельно, очевидно у вас будет NOR.

У вас возникнет логичный вопрос: «Что если и NMOS, и PMOS будут открыты?». Ответ прост: ваша схема должна иметь такую структуру, чтобы NMOS и PMOS никогда не оставались одновременно открытыми на долгое время. Если вы нарушите это правило, ваша схема будет потреблять большой ток и нагреваться, а если оставить транзистор с большим током, то ваша микросхема скоро сломается из-за электромиграции.

В следующей статье рассмотрим схемотехническое представление и Layout.

Меня зовут Арман и я окончил институт Synopsys по профилю VLSI разработки микросхем. В основном я занимаюсь разработкой цифровых компонентов для микросхем и IP для ПЛИС. В прошлом я был программистом, писал бекенд на Node.js и разрабатывал под микроконтроллеры, но решил пересесть на что-то сложнее, попробовать себя, так сказать.

Я открыт к найму, поэтому, если вас интересует найм разработчика цифровых микросхем с тремя годами опыта и очень интересными проектами (Радио модемы, преобразователи интерфейсов, процессоры и очень многое), напишите мне в личку.

Источник

Как разработать микросхему. Собственный процессор (почти)

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Как же разработать свою микросхему. Задался я этим вопросом, когда я захотел создать собственный процессор. Пошёл я гуглить и ничего годного не нашёл. Ответы в основном два։ «Ты не сделаешь свой процессор, потому что слишком сложно» и «Забей и собери компьютер из комплектующих».

Очевидно что это меня не устаивает, поэтому я решил изучить вопрос серьезнее. Оказалось можно сделать свой процессор описав его с помощью Verilog и FPGA. Купил плату в китае, 3 года спокойными темпами написал свой процессор, оттестировал, скомпилировал и залил на FPGA. Но мне этого недостаточно.

Так как же разработать микросхему?

Давайте сначала разберёмся из чего состоит микросхема. Все микросхемы состоят из кремния и корпуса.

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

А как же кремний

Кремний производиться на заводе. Каждый завод имеет свою технологию производства. Мы будем рассматривать только технологии 130нм ибо про нее я знаю достаточно много.

Для того, чтобы производитель произвёл вашу микросхему вам нужно предоставить им GDS-II файл, который является грубо говоря векторной многослойной картинкой вашей микросхемы.

Первым шагом к разработке является։ связаться с производителем. Если у вас меньше чем 10000 баксов, забудьте. Лучше рассмотреть Multi project wafer service [ https://en.wikipedia.org/wiki/Multi-project_wafer_service ].

Не все GDS-II файлы могут отправиться на производства. Для того, чтобы понять что можно произвести, а что нет вам понадобиться несколько файлов.

GDS-II файл и так называемый Process Development Kit

На картинке вы можете видеть интегральную схему SHA3. Большая область справа это и есть SHA3 схема, а всё остальное так называемый Caravel Harness. Для того чтобы гугл смог произвести вашу микросхему по технологии SKY130 гугл требует чтобы ваша основанная схема справа и подключается к жёлтым точкам. Посмотреть на структуру Caravel Harness можно тут.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что этоИнтегральная схема SHA3 на технологии SKY130, https://efabless.com/projects/4

Process Development Kit эта такая кучка файлов которая содержит։

Этот файл содержит на удобно перевариваемом формате описание и требования к конечному файлу, кроме того эта документация содержит примеры и описания транзисторов.

Модели для симуляции элементов схемы в формате SPICE.

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

Технологические файлы, которые позволяют связать файл GDS-II и слои при производстве.

Модели для симуляции

Символы для рисования схемы

Правила Design Rule Check

Эти файлы привязаны к конкретному программному обеспеченью и содержат список правил, на которые в автоматическом режиме будут проверяться ваши интегральные схемы или её отдельные компоненты.

Primitive Extraction rules или правила описывающие примитивы. Эти правила позволяют превратить ваш GDS-II представление в список примитивов и их связей (netlist). Сгенерированный netlist также содержит паразитные конденсаторы и резисторы, а сам netlist используется для того чтобы произвести симуляцию компонентов как можно приближённой к реальной интегральной схеме.

Layout versus Schematic check или правила, которые позволяют получить из вашего GDS-II так называемый netlist. После чего его можно сравнить со схемой, которую вы нарисовали и уже про симулировали.

Например, установщик для технологии SKY130 (130нм) можно найти вот тут. Эти скрипты автоматически установят всё необходимое, но не спешите ниже мы найдём скрипт, который сделает все за нас.

Иногда производитель кремния также предоставляет так называемые файлы Standard Cell Library. Эти файлы предоставляют описание отдельных компонентов, который разработчик может использовать для разработки цифровых интегральных съем или её частей. К этому чуть позже.

Здесь стоит остановиться и понять, из чего конкретно состоит сам кремний.

Как рисовать транзистор и как он работает

Давайте разберемся как работает транзистор и как он выглядит. Знакомьтесь։ транзистор

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что этоТранзистор N-MOS. Понять тип можно по типу двух контактов Source и Drain

А теперь знакомьтесь։ транзистор PMOS (сверху) и NMOS (снизу)

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что этоСхема инвертера в Magic от спидраннера инвертеров на Ютубе

Разработка аналоговых компонентов

Давайте не буду вас томить. Установите в виртуалку Ubuntu и следуйте следующим шагам։ https://github.com/efabless/openlane#quick-start. Я бы установил его в

/openlane_exp/ ибо именно этот путь я использую в примере

Для того чтобы установить программы которыми мы будем пользоваться следуйте следующим шагам։ https://github.com/armleo/sky130_ubuntu_setup/blob/main/install_tools.sh

Нам нужны следующие программы

OpenLANE, который установит модели для симуляции и отдельные компоненты и примитивы в соответствующей папке. Почитайте документацию очень интересно. Бесплатный установщик skywater PDK + скрипты для использования разных программ для того чтобы в автоматическом режиме скомпилировать вашу цифровую схему. Кроме того образ докера с предустановленными ПО для компиляции.

Yosys. Гордость проектов с открытым исходным кодом. Автор։ Claire Wolf. Позволяет скомпилировать ваш Verilog в gate-level представление, которое описывает вашу цифровую схему в виде отдельных компонентов. Замена Design Compiler от Synopsys

Куча других ПО, которые в автоматическом режиме превращают ваш gate-level в GDS-II. Об этом будет в соответствующей главе

skywater-pdk. Открытый PDK skywater 130nm. Содержит также так называемые готовые цифровые компоненты, примитивные компоненты и библиотека ячеек ввода-вывода

ngspice, Открытый симулятор spice. На удивление неплохой, но я конечно же рекомендую коммерческие симуляторы например HSPICE от Synopsys.

xschem, открытая программа для рисования схем. Бесплатная замена CustomCompiler от Synopsys

klayout, для рисования и открытия GDS-II. Бесплатная замена CustomCompiler от Synopsys

Magic, программа которая может производить DRC, и не только. Вообще очень полезная штука. Бесплатная замена IC Validator от Synopsys

Netgen, программа которая может делать LVS проверку. Бесплатная замена IC Validator от Synopsys

OpenRAM. Компилятор элементов памяти. Замена Memory Compiler от Synopsys. К сожалению мы не можем им пользоваться ибо у нас нет файлов технологической настройки, который закрыты из-за NDA. Правда готовые блоки с синхронными входами и выходами можно найти здесь.

Давайте уже к практике. Учтите что вам нужно поменять много параметров, надеюсь разберетесь.

Команды сверху установят пример инвертера и запустит докер с проброской из моей домашней папки и проброской X11 для окон.

После открытия надо подключить технологические файлы.

Откройте Manage Technologies

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

    Правый клик по списку технологий

    process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

    Найдите файл /home/armleo/openlane_exp/openlane/pdks/sky130A/libs.tech/klayout/sky130A.lyt

    Откройте настройки слоев

    process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

    process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

    Хотите увидеть инвертер?

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что этоИнвертер

Да выглядит уродливо, зато бесплатно ։D.

Давайте поймём что это за схема, как она работает и из чего состоит. Сверху синий слой это метал по которому подключается SOURCE и BULK ножки PMOS транзистора к VDD или позитивному напряжению. Снизу слой металла по которому идёт VGND или заземление, который подключается к ножке SOURCE и BULK NMOS транзистора.

Ножки GATE подключенные к друг другу и к вводному сигналлу A с использованием слоя полисиликона LI1.

Выход подключен к контакту Y с использованием слоя полисиликона LI1.

Инвертер работает следующим образом։

NMOS открыт, когда на входе высокое напряжение, а PMOS закрыт. Таким образом на выходе получается низкое напряжение. NMOS открыт, поэтому низкое напряжение подаётся на выход, но короткого замыкания не просиходит, посколько PMOS закрыт.

NMOS закрыт, когда на входе низкое напряжение, а PMOS открыт и VDD подключен к сигналу Y. NMOS закрыт, поэтому низкое напряжение не подаётся на выход, и короткого замыкания не происходит. Таким образом на выходе получается высокое напряжение.

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Схема соответствующая инвертеру։

process design kit что это. Смотреть фото process design kit что это. Смотреть картинку process design kit что это. Картинка про process design kit что это. Фото process design kit что это

Здесь вы можете видеть, что у транзистора на самом деле 4 ноги։ DRAIN, SOURCE, GATE, BULK.

В следующей частях разберемся։

как нарисовать несколько компонентов (NAND, NOR), сделать LVS, DRC, PEX и провести симуляцию.

После мы разберём как скомпилировать наш Verilog в GDS.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *