Микросхема своими руками: Делаем микросхемы дома — шаги 0 и 1 / Хабр

Делаем микросхемы дома — шаги 0 и 1 / Хабр

В этой статье я расскажу о начале своей работы над совершенно безбашенной задачей: конечная цель в том, чтобы получить рабочую микросхему по «толстым» нормам (5-10µm) дома. Это не первое апреля и я не сумасшедший, это просто моё хобби.

Возникла эта идея не сейчас и неспроста. С детства я хотел быть газосварщиком, и… делать микросхемы. И если по первому пункту мне достаточно быстро удалось сделать дома сварочный аппарат (бутан-водород/кислород), то с микросхемами все никак не складывалось. Долгое время все мысли останавливались на том, что я не знал где можно взять собственно полупроводники необходимой чистоты (и мысли останавливались на ковырянии мощных транзисторов), пока на форуме не подсказали что в принципе, можно и купить пластины. Затем я даже наткнулся на человека, который 20 лет работал над похожей задачей, и в итоге сдался. Пожалуй, тут можно было опустить руки и перестать тратить время на глупые мечты. Но, однажды я увидел ролик чудовищно гениальной женщины – Jeri Ellsworth – она смогла сделать отдельные полевые транзисторы на основе заводских пластин – и тогда я решил, что настало время поплотнее заняться этой проблемой.

В этой статьях я расскажу о своём текущем прогрессе, но не ждите быстрого продолжения – весь процесс может легко занять пару лет.

Шаг 0:


Были скуплены все книги по теме из местных Интернет-магазинов (как раз на 1 полку), повыкачаны из торрентов все доступные сборники оцифрованных книг. Теоретической информации там конечно много, но с практической стороны – многое покрыто мраком. Даже старые техпроцессы в деталях не описаны нигде, и потому придется много пробовать. Также перерыл интернет в поисках местных поставщиков всех потенциально необходимых материалов (собственно кремний, фоторезисты, химия, газы). Пока найти не удалось местную компанию которая может изготавливать асферическую оптику из оптического/кварцевого стекла – но это в ближайший год не станет препятствием.

Шаг 1: Кремний

Монокристаллический кремний – сердце домашней микросхемы. Вырастить дома – хоть и реально (по моим безумным меркам), но чертовски дорого. Потому я стал гуглить местных производителей кремния – кто-то говорил что они свернули производство и занимаются только сдачей помещений в аренду, кто-то не отвечал, пока наконец я не дошел до компании Терасил – там я наконец смог купить все что мне нужно. Самое главное – разрезанные и отполированные пластины монокристаллического кремния легированного в P и N тип (справа на фото).

Далее – куча разбитых пластин для тренировки. Потренировался раскалывать пластину на кусочки (оказалось, что они все с ориентацией кристаллической решетки 111 – раскалываются треугольниками, а не квадратами). Т.к они еще не отполированы – я попробовал и отполировать – провал полный: паста гои кремний не берет, нужна алмазная паста. Если со временем получится полировать, можно будет пробовать делать солнечные батареи (а из монокристаллического кремния они получаются довольно эффективные).

И наконец – кусочки монокристаллического кремния. Те что толстые слева – погрязнее (но достаточно чистые для микросхем), 2 тоненьких справа – сверхчистые, намного выше требований чистоты кремния для обычных микросхем. Само собой, разрезать их дома не выйдет (если конечно не завалялась алмазная дисковая пила) – только разбить. Нужны для того чтобы пробовать осаждать пленки аморфного кремния химическим (PE CVD Sih5) или физическим (испарение в вакууме) путем.

Какие дальше стоят задачи

  • В первую очередь – строительство печи на 1200 градусов для маленького образца. Промышленные печи под такую температуру в квартире не поставить, и стоят огого. Потому буду пробовать нагревать образец галогеновыми лампами с рефлекторами.
  • Переезд в отдельную квартиру: меня сразу выгонят увидев бородатого мужика в противогазе и резиновых перчатках с кучей подозрительных баночек.
  • Далее – необходимая химия и фоторезисты – и можно пробовать делать 1 транзистор по процессу Jeri.
Что я ищу и пока не нахожу


В первую очередь – это информация. Хотелось бы иметь контакты людей, которые работают на производстве – ведь я соберу все грабли, которые технологи собирали последние 50 лет Затем – информация о техпроцессах и главное – библиотеки под толстые техпроцессы – пока мне их не удалось достать, а из отдельных транзисторов особо не по-проектируешь. Ну и наконец, хочу найти разработчика ASIC, который показал бы мне основные шаги разработки (кое-что я думаю что знаю, но много пробелов и я могу ошибаться сильно). По всем этим вопросам приглашаю на форум по этому проекту (English only).

Комментарии / мнения — в студию.

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

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

Очевидно что это меня не устаивает, поэтому я решил изучить вопрос серьезнее. Оказалось можно сделать свой процессор описав его с помощью 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 можно тут.

Интегральная схема 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. Эти файлы предоставляют описание отдельных компонентов, который разработчик может использовать для разработки цифровых интегральных съем или её частей. К этому чуть позже.

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

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

Перед тем как что-то разработать нам нужно понять основу интегральных схем — транзисторы MOSFET. Существуют два типа которые мы будем использовать — NMOS и PMOS.

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

Транзистор N-MOS. Понять тип можно по типу двух контактов Source и Drain

Как мы здесь видим։ у транзистора есть несколько компонентов. Металл и контакт, а также N+ и P Substrate. Когда напряжение Vgs < Vth тогда NMOS закрыт. Когда Vgs >= Vth, а Vds < Vgs — Vth тогда транзистор находиться в линейном режиме. Когда Vgs >= Vth и Vds > Vgs — Vth тогда транзистор находиться в открытом состоянии. Похожим образом работает PMOS, но в отличии от NMOS он закрывается, а не открывается.

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

Схема инвертера в Magic от спидраннера инвертеров на Ютубе

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

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

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

Также вам может быть интересен https://inst.eecs.berkeley.edu/~cs250/fa20/labs/lab1/

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

  • 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. Правда готовые блоки с синхронными входами и выходами можно найти здесь.

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

cd ~/openlane_exp/openlane
docker run -it --rm -v /home/armleo/openlane_exp/openlane:/openLANE_flow \
-v /home/armleo/openlane_exp/openlane/pdks:/home/armleo/openlane_exp/openlane/pdks \
-e PDK_ROOT=/home/armleo/openlane_exp/openlane/pdks \
-e PDKPATH=/home/armleo/openlane_exp/openlane/pdks/sky130A/libs.tech/magic \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /home/armleo/openlane_exp:/home/armleo/openlane_exp \
-e DISPLAY=unix$DISPLAY \
-u 1000:1001 efabless/openlane:v0.12
klayout /home/armleo/openlane_exp/openlane/pdks/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.gd

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

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

Инвертер

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

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

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

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

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

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

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

Схема в разрезе։

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

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

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

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

  • Поймем, что такое последовательные компоненты (Sequential components) — Latch, Flip-flop

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

  • Поймём как собрать нашу схему в Caravel

Изготовление микросхем | Компьютерный мир

Практическое руководство

Гэри Антес

Компьютерный мир |

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

Превращение песка в крошечные устройства с миллионами компонентов — выдающийся научный и инженерный подвиг, который казался невозможным, когда в 1947 году в Bell Labs был изобретен транзистор.

Подробнее

Computerworld
QuickStudies
Кремний — природный полупроводник. При некоторых условиях он проводит электричество; под другими он действует как изолятор. Электрические свойства кремния могут быть изменены добавлением примесей — процесс, называемый легированием. Эти характеристики делают его идеальным материалом для изготовления транзисторов — простых устройств, усиливающих электрические сигналы. Транзисторы также могут действовать как переключатели — устройства включения/выключения, используемые в комбинации для представления логических операторов «и», «или» и «не».

Сегодня производится несколько типов микросхем. Микропроцессоры — это логические микросхемы, которые выполняют вычисления внутри большинства коммерческих компьютеров. Чипы памяти хранят информацию. Процессоры цифровых сигналов преобразуют аналоговые и цифровые сигналы (QuickLink: a2270). Интегральные схемы для конкретных приложений — это специализированные микросхемы, используемые в таких вещах, как автомобили и бытовая техника.

Процесс

Чипы производятся на многомиллиардных заводах, называемых фабриками. Фабрики плавят и очищают песок для производства 9Слитки монокристаллического кремния чистотой 9,9999%. Пилы нарезают слитки на пластины толщиной примерно с монетку и диаметром в несколько дюймов. Пластины очищаются и полируются, и каждая из них используется для создания нескольких чипов. Эти и последующие шаги выполняются в среде «чистой комнаты», где принимаются всесторонние меры предосторожности для предотвращения загрязнения пылью и другими посторонними веществами.

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

Фоторезист подвергается воздействию ультрафиолетового света, проходящего через узорчатую пластину или «маску», которая затвердевает на участках, подвергающихся воздействию света. Неэкспонированные области затем вытравливаются горячими газами, чтобы обнажить основу из диоксида кремния внизу. Основание и слой кремния под ним дополнительно травятся на разную глубину.

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

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

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

См. также Computerworld QuickStudies

Связанный:

  • Компьютеры и периферийные устройства

Copyright © 2002 IDG Communications, Inc.

7 неудобных истин о тренде гибридной работы

Maker и решения DIY | Microchip Technology

Результатов не найдено

Arduino — это программно-аппаратная среда для создания интерактивных объектов, способных воспринимать физический мир и управлять им. С 2005 года вокруг этой платформы с открытым исходным кодом собралось всемирное сообщество разработчиков. Наши микроконтроллеры (MCU) были там с самого начала, предоставляя сначала MCU AVR®, а затем SAM MCUS в качестве аппаратной части уравнения. Художники, дизайнеры, изобретатели, инженеры, музыканты и даже школьники используют Arduino с платами, разработанными на базе микроконтроллеров AVR или Arm®, чтобы превратить мозговые штурмы в реальные рабочие вещи.

Обеспечивая уникальное сочетание производительности, простоты использования и бесплатного компилятора GNU GCC, наши микроконтроллеры идеально дополняют Arduino и удовлетворяют потребности производителей. Микроконтроллеры Microchip и Arduino — оригинальный дуэт, лежащий в основе глобального движения производителей.

Скачать учебное пособие

Инициатива Microchip Get Launched

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

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

  • : широкий портфель решений, включая IoT, программное обеспечение и инструменты проектирования

Видео для пользователей Arduino


  • Импорт эскизов Arduino в Atmel Studio 7
  • Atmel: как Atmel и Arduino вдохновляют движение производителей
  • CES 2014: Боб Мартин из Atmel рассказывает о движении Maker и CES
  • Поднимите свой прототип Arduino на новый уровень
  • Расширенная отладка с помощью плат Arduino
  • Массимо Банзи из Arduino рассказывает об Atmel Studio 7
  • Atmel AVR Hero: конкурс Maker Faire
  • World Maker Faire 2014: Arduino Wi-Fi Shield 101
  • Демонстрация Arduino от Maker Faire Bay Area 2016

Читать далее

Ресурсы для производителей


Экосистема Arduino предоставляет широкий спектр плат и инструментов для разработки. Наши рекомендуемые доски для разработки помогут вам начать работу. Дополнительную информацию об Arduino можно найти на www.arduino.cc.

Читать далее

Популярные макетные платы


Эталонный стандарт в среде разработки Arduino, Arduino UNO обычно является точкой входа в экосистему Arduino. Он поддерживается тысячами примеров, проектов и учебных пособий в Интернете. Форм-фактор платы, теперь уже в третьей крупной версии, известен в сообществе Maker как Arduino Shield R3. Arduino UNO основан на нашем микроконтроллере ATmega328P (MCU), который является одним из самых популярных микроконтроллеров в области Maker/DIY.

Arduino Micro — это плата малого форм-фактора, основанная на ATmega32u4 вместо ATmega328P. ATmega32u4 относится к тому же семейству, что и ATmega328P, но также имеет встроенный интерфейс USB 2.0 с низкой/высокой скоростью. Эта плата поддерживается большим количеством примеров и проектов в среде Arduino.

Arduino Nano, по сути, является клоном Arduino UNO в небольшом DIP-подобном корпусе, похожем на Arduino Micro. Как и UNO, Nano основан на ATmega328P и имеет внешний чип последовательного моста USB, расположенный на нижней стороне платы. Эта плата, наряду с Arduino Mini, является очень популярным выбором для проектов носимых устройств из-за ее небольшого размера.

Arduino Nano Every — последнее обновление популярного корпуса Nano. Он использует микроконтроллер ATmega4809, который обеспечивает больше флэш-памяти и оперативной памяти, а также улучшенный источник питания по более экономичной цене.

Arduino Mega 2560 — крупнейшая платформа Arduino на базе ATmega. Для проектов, в которых не хватает места для программ и контактов GPIO, Mega 2560 — это конец линейки семейства Arduino на основе 8-битных микроконтроллеров. Поскольку 100-контактный микроконтроллер ATmega2560 предлагает так много контактов ввода-вывода, для его поддержки был введен новый формат Shield. ATmega2560 обеспечивает 256 КБ памяти программ, 8 КБ ОЗУ и несколько копий основных периферийных интерфейсов, таких как каналы UART, SPI и I2C. Arduino Mega 2560 продолжает оставаться одной из базовых процессорных платформ для многих 3D-принтеров из-за большого количества доступных контактов GPIO.

Arduino MKR 1000 — первая плата форм-фактора на основе MKR, представленная Arduino. Формат MKR похож на форматы Nano, Micro и Mini меньших платформ Mega, но не совпадает с ними. Его меньший форм-фактор подходит для носимых проектов и других проектов Pro Maker, которым требуется более надежный и компактный форм-фактор. Arduino MKR 1000 основан на SAMW25 Wi-Fi® SOC, сертифицированном FCC модуле, который сочетает в себе микроконтроллер SAMD21G18 с маломощным контроллером Wi-Fi 802.11 b/g/n WINC1500. Модуль также включает микросхему ATECC508A CryptoAuthentication™, которая поддерживает AWS для безопасного подключения к облаку Amazon.

Плата Arduino MKR Zero на базе SAM D21 представляет собой основанную на MKR версию Arduino Zero с некоторыми дополнительными соединениями для использования преимуществ цифрового аудиоинтерфейса I2S™. Гнездо micro SD позволяет сохранять цифровые аудиофайлы извне в стандартных форматах файловой системы MS-DOS. Это очень популярная платформа для носимых аудиоустройств.

Плата Arduino MKR WAN 1300, основанная на микроконтроллере SAM D21, сочетает в себе базовый процессор Arduino Zero с модулем LoRa®.

Полезные ссылки


  • Репозиторий Arduino GitHub
  • Репозиторий Microchip GitHub
  • Optiboot AVR Bootloader GitHub Repository: самый маленький загрузчик для продуктов Arduino на базе AVR® MCU
  • сообществ пользователей, где энтузиасты помогают друг другу:
  • Форумы AVR Freaks®: информация о микроконтроллерах AVR® и SAM
  • Форумы Microchip: информация о микроконтроллерах PIC® и многих других продуктах Microchip
  • Канал Microchip на YouTube: учебные пособия и другие видеоролики

Нужна помощь?


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