пятница, 9 октября 2020 г.

Как работают КМОП микросхемы

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

Если верить википедии то подавляющее большинство современных микросхем построены по технологии КМОП - Комплементарная структура Металл-Оксид-Полупроводник (по английски CMOS) - это нанесение транзисторной структуры на кремниевую подложку. В статье вики приводится последовательность создания такой структуры на примере инвертора, но я к этому вернусь чуть позже, а пока хотелось бы начать с чего-то попроще, чтобы понимать как это работает, например, с полупроводниковых диодов.

Диод проводит электрический ток в зависимости от полярности: если подать плюс питания на анод, а минус на катод, то диод начнет проводить ток. Кстати, на схеме диод это стрелка указывающая в каком направлении потечет ток при подаче на него прямого напряжения, то есть на анод +, катод -, а сам ток течет, как известно, от плюса к минусу. Катод это своеобразная буква К на схеме диода, и на нем должен быть минус чтобы проводить ток. Запомнить можно так: катод = 5 букв, минус = 5 букв (да и еще палочка отдельно это тоже минус). Анод = плюс = 4 буквы и там и там, а сам Анод похож на букву А. И еще кое-что: p-типа полупроводник - это полупроводник с положительным зарядом (positive, plus) - в его структуре много дырок, n-типа - отрицательный (negative) - тут много электронов (отрицательно заряженные частицы). Собственно физику процесса упрощенно можно рассматривать так: одноименные заряды отталкиваются и потому подавая плюс на положительный электрод (анод=плюс), мы заставляем "дырки" устремляться в отрицательную зону, там происходит перераспределение электронов, из-за чего и появляется упорядоченное движение заряженных частиц, то есть электрический ток. Ну и наоборот: если поменять полярность, то есть приложить обратное напряжение, то заряженные частицы разбегутся в разные стороны и не позволят проходить току через диод. Анимация такого процесса есть в видео. Там же в видео рассказывает и про транзисторы.

Транзисторы биполярные это следующий шаг в понимании принципов работы КМОП микросхем. У них есть 2 p-n-перехода и оттого они биполярные (по-английски bipolar junction transistor или BJT)
У биполярного транзистора 3 электрода: база, эмиттер и коллектор. Эмиттер на схеме обозначен стрелкой (-> чем-то напоминает букву Э), так же стрелка как и в случае с диодом показывает направление тока. Только это не основной ток, а внутри транзистора, ток база-эмиттер, на схеме выше зеленая стрелка. Так как транзистор на схеме NPN типа, а база у нас посредине, то на нее нужно подавать плюс (plus), а это значит что дырки будучи заряженными положительно устремляются к эмиттеру (который подключен к минусу) и запускается процесс перераспределения электронов. Освобожденные в эмиттере электроны (emittere с латинского выпускать) направляются к коллектору (collect - собирать), и транзистор начинает проводить ток, причем по величине больше тока эмиттер-база. Если же у нас будет транзистор PNP типа, то там все работает в точности наоборот: на базу минус, на эмиттер плюс. В любом случае стрелка на схеме это всегда эмиттер и указывает она на n-электрод и потому если на схеме она указывает на базу, то перед нами PNP транзистор, а если на эмиттер, то NPN как здесь. Кстати, если взять только один p-n переход, то у нас будет диод. То есть приложив прямое напряжение на "диод" база-эмиттер - ток будет протекать, а если приложить обратное, то не будет. То же относится и к "диоду" база-коллектор.

Теперь переходим к полевым транзисторам или по-английски  field-effect transistor (FET), и называются они так потому, что управляются электрическим полем.
На картинке мы видим полевой транзистор с управляющим p-n переходом или junction gate field-effect transistor (JFET) с каналом n-типа. N канал потому что как видно на картинке ток течет по полупроводнику n-типа, а по обе стороны от него присоединены полупроводники p-типа, и соединены они вместе и называются затвором (Gate - ворота). Верхняя часть это сток (drain), нижняя исток (source - источник, так же как эмиттер у BJT является источником электронов). На схеме транзистора затвор обозначен стрелкой и показывает так же направление тока, если подать на него плюс питания. Сама физика процесса не меняется, и похожа на биполярный транзистор: подавая плюс на затвор, дырки из него начинают перемещаться к отрицательному потенциалу при этом высвобождая отрицательно заряженные электроны в истоке, которые устремляются к положительному полюсу, что и дает возникновение тока. А вот если подать минус, то происходит немного другой процесс: появляется поле с каждой стороны транзистора, которое преграждает путь для движения электродов. Вот скриншот взятый из одного из многих подобных обучающих видео показывающее такой процесс:

Причем смысл получается в том что необходимо поддерживать нужную разность потенциалов чтобы это все получилось. Увеличив отрицательное напряжения (ну типа сделать -4 Вольта а не -2 как на правой картинке), поля встретятся и вообще перекроют путь. Как всегда есть такого же типа транзисторы, но с другой структурой, и у них все работает наоборот - речь идет о тех же JFET но с каналом p-типа. Там на затвор нужно подавать минус чтобы транзистор открылся. 

Кроме изученных сейчас JFET транзисторов, есть транзисторы MOSFET(metal–oxide–semiconductor field-effect transistor) – полевой транзистор с изолированным затвором (МДП – транзистор - металл диэлектрик полупроводник, он же МОП - металл оксид полупроводник). Вот так плавно подбираемся к теме поста. МОП ->КМОП. Эти транзисторы в свою очередь тоже делятся на 2 типа, кроме типа проводимости канала (p и n тип, как мы помним) есть еще и транзисторы со встроенным (обедненные - Depletion) каналом и с индуцированным (обогащенные - Enhancement). Лучше всего различия и типы можно увидеть на схеме

А вот так MOSFET выглядят схематически в разрезе, так сказать (скриншот из этого видео):


Здесь как раз и работает поле, потому что затвор изолирован от тела транзистора тонким слоем диэлектрика.  Если на затвор n-канального МОП транзистора (два верхних на картинке) подать плюс питания, то электроны из n-зоны как бы начнут притягиваться к нему, увеличивая проводимость транзистора, если подать минус, то канал наоборот будет закрываться. На скрине ниже показывается что сопротивление канала увеличивается, ток сток-исток соответственно уменьшается. 
То же касается и транзистора с изолированным каналом E-MOSFET - только там при подаче плюса на затвор канал не расширяется а просто появляется. По крайней мере так показано на видео. На схеме n-канальные транзисторы показаны стрелкой на теле внутрь, p канальные стрелкой наружу. Допустим для запоминания этого можно использовать английское слово iNside - внутрь. Ну и соответственно если канал N то для его открытия нужен плюс на затворе, для закрытия минус, и соответственно для p-канала все наоборот плюс закрывает транзистор, минус открывает.
Еще бывает можно увидеть такое обозначение:



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

Ну и говоря о логике, вот и приходим к началу КМОП - изготовление на одной подложке несколько транзисторов причем иногда и разных типов, например, показанный в википедии инвертор:

Здесь как раз и используются 2 разных типа МОП транзисторов. Слева NMOS, справа PMOS - для его создания в подложку p-типа добавляется "карман" n-типа а уже в него внедряется изолированный канал p-типа. На вики этот процесс показан поэтапно:

И все это соединяется по такой схеме:
А работает это вот так: т.к. верхний транзистор p-канальный то он пропускает ток при подаче на затвор минуса, то есть input = 0V и соответственно пропускает 5 вольт на выход. При переключении входа, то есть подав на него 5 Вольт верхний транзистор закрывается, переставая пропускать 5 Вольт на выход, а нижний открывается (т.к. он n-канальный), таким образом делая выход равным нулю. Вот и получается инверсия - если на входе 1, то на выходе 0, если на входе 0, то на выходе 1

Вот все то же самое: инвертор - схема, срез, вид сверху

 А теперь интересно произвести реверс инжиниринг этой схемы:

Уже сложнее, но думаю возможно. А теперь посмотрите, как сделали реверс инжиниринг процессора 6502 - своего рода процессор легенда, т.к. использовался во многих домашних компьютерах 80х годовов: Comodore, Atari, и многие другие. Ну еще и NES - наше любимое Денди, там тоже стоял этот процессор. На этом пожалуй и закончу. Кстати вышеприведенная схема - это элемент 2 И-НЕ. Смогли сделать его реверс инжиниринг?

PS нашел отличнейшее видео объясняющее принципы работы полупроводников:
И сразу же про транзисторы, очень грамотно и очень круто:
PPS https://zx-pk.ru/threads/23978-tsifrovaya-arkheologiya-1801-i-vse-vse-vse.html тут реверсят советские процессоры - супер крутая работа - фотки по 500 метров и схемы процессоров на нескольких листах - вот тут точно не разобраться))


1 комментарий: