2 Мая 2013

1986ВЕ91Т: Что же внутри российского Арма?

После предыдущих статей с внутренностями микросхем (1, 2) многие писали, что фотографии - это конечно интересно, но хотелось бы знать что есть что.

Сегодня возможность удовлетворить этот закономерный интерес наконец появилась. Ковырять будем 1986ВЕ91Т - это микроконтроллер Миландра, основанный на ядре ARM Cortex-M3 (официально лицензированного). Внутри - 128 КиБ флеш-памяти, 32 КиБ статической памяти, аппаратный USB и 80Мгц ядро, изготовлено по технологии 180нм.

Смотрим

Проволока, соединяющая выводы и контактные площадки на микросхеме осталась: корпус металлокерамический, и травить его не пришлось. Весь фарш скрыт от нашего взора несколькими слоями алюминиевых соединений. Размер кристалла - 6.54x5.9мм.

Травим металлизацию... Почти достали до самого дна:

А вот и самый нижний слой с транзисторами и слоем поликремния (первый уровень соединений и затворы транзисторов):

Аннотация блоков кристалла



IO Cells & bonding pads - стандартные кусочки схемы, которые управляют каждой ногой микросхемы, содержат элементы защиты от статического электричества, могут переключатся в режим входа и выхода. Непосредственно под контактными площадками транзисторов нет - т.к. при приваривании проволоки они могут быть повреждены.
4x32KiB flash - 4 стандартных блока флеш-памяти. Почему не один большой? Компилятор флеш-памяти не мог генерировать память с шиной шире 32 бит, а из соображений производительности нужно было 128.
32KiB SRAM - быстрая статическая память, состояние которой не сохраняется при выключении питания.
256x32B ROM - загрузочная память. Запрограммирована на заводе "перемычками" - и не может быть изменена.
USB PHY - физический интерфейс протокола USB. Тут только приемники/передатчики сигнала, а цифровая часть USB контроллера - в синтезированной "каше" в центре кристалла.
Internal linear regulator (1.8V) - внутренняя схема понижения напряжения питания до 1.8В. Это нужно потому что 1.8В транзисторы при работе потребляют существенно меньше энергии, чем 3.3В.
Battery domain - работающая от часовой батарейки схема, заточенная под сверхнизкое потребление энергии. Тут таймер реального времени, несколько байт памяти, генератор на внешнем 32кГц кварце.
RC Oscillators - внутренние RC генераторы (низкой и высокой частоты), позволяющие использовать микроконтроллер без кварца.
System/USB PLL - схемы умножения частоты для системы и USB. Позволяют например из 10Мгц кварца получить 80Мгц системную частоту, и 48Мгц для USB.
2xDAC - цифро-аналоговые преобразователи.
2xADC - аналогово-цифровые преобразователи. Пустые места - это вероятно были конденсаторы.
2xCAN SRAM - маленькие блоки статической памяти. Вероятно это буфферы для 2-х CAN контроллеров и проч.

Большинство из вышеперечисленных блоков - не обязательно разрабатывать с нуля, а можно лицензировать на фабрике, или приобрести у компаний, разрабатывающих и продающих IP. Но в данном случае - все цифровые блоки (Timer, CAN, USB, контроллеры ОЗУ/ПЗУ внешнюю шину, итп), аналоговые блоки АЦП, ЦАП, генераторы, PLL, встроенный LDO, и даже площадки ввода-вывода собственной разработки, а куплены только ядро, DMA, UART, SPI.

Cell based synthesized logic - автоматически синтезированная схема из Verilog-описания. Тут как само ядро процессора, так и контроллеры периферии. Синтезируются схема не напрямую из транзисторов, а из стандартных ячеек фиксированной высоты - реализующих различные функции вроде И, ИЛИ, триггеров и проч.

Взглянем ближе на отдельные элементы

Boot ROM При желании содержимое можно "прочитать". Но конечно, в данном случае это не требуется, т.к. Boot ROM виден через отладчик.

SRAM Площадь ячейки 9.14 мкм2, соответствует технологии 180-250нм.


Flash Сразу видно, почему флеша в микроконтроллеры пихают много - ячейка занимает намного меньшую площадь (т.к. нужен всего один транзистор на бит, а иногда и половинка транзистора):


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


Надеюсь было интересно, на этом пока все - на новые фотографии можно подписаться в твиттере @Zeptobars или rss-подписке.