Опыт разработки СБИС типа систем на кристалле СнК на основе встроенных микропроцессорных ядер

№ 10’2008
PDF версия
Можно отметить, что в прошедшие два года начался определенный подъем отечественной электроники. Принята и финансируется ФЦП «Развитие электронной компонентной базы и радиоэлектроники» на 2008–2015 годы, в апреле 2007 года создана Ассоциация производителей электронной аппаратуры и приборов, реализуется опыт государственно-частного партнерства при строительстве кремниевых фабрик в ОАО «НИИМЭ и Микрон» и ОАО «Ангстрем». На фоне этих отрадных событий можно сказать, что появилась реальная перспектива как разработки, так и реализации в кремнии серьезных микроэлектронных изделий, конкурентоспособных и на мировом рынке.

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

Известно, что производство полупроводников занимает в рыночной мировой экономике уникальное положение, определяемое тем, что оно развивается по детально разработанному плану, который, однако, не только не препятствует конкурентоспособности участников, но даже всемерно помогает ей. Этот план известен как International Technology Roadmap for Semiconductors (ITRS) и представляет собой план–прогноз, ежегодно обновляемый и публикуемый международной организацией Semiconductor Industry Association (SIA). В основе ITRS лежат несколько простых принципов, в том числе знаменитый закон Мура об удвоении числа элементов СБИС каждые 1,5–2 года. Закон Мура не отражает никаких фундаментальных законов природы, а лишь описывает ситуацию, складывающуюся на рынке в результате конкуренции между производителями, а также вследствие взаимного стимулирования радиоэлектронной и полупроводниковой отраслей. Огромную роль играет чисто психологический фактор: разработчики и производители стараются придерживаться прогнозных сроков закона Мура и ITRS, потому что знают, что так же действуют конкуренты. Более того, стремление обогнать конкурентов часто приводит к тому, что разработчики проектируют, а производители выводят на рынок новое изделие раньше, чем это предусмотрено ITRS. В результате в наши дни закон Мура, строго говоря, должен формулироваться иначе, поскольку из экспоненциального он превратился в суперэкспоненциальный. Главное значение ITRS состоит в том, что этот документ не просто прогнозирует динамику параметров, но и содержит точные указания относительно того, какими конструкторскими и технологическими средствами новые параметры могут быть достигнуты, когда и какие технические средства должны быть разработаны и освоены производством. Таким образом, ITRS является руководством к действию не только для разработчиков приборов, но и для разработчиков техпроцессов и технологического оборудования.

Фундаментальным понятием ITRS является «масштабирование» (scaling) — пропорциональное уменьшение всех геометрических размеров ИС в каждом новом поколении, благодаря чему обеспечивается снижение массо–габаритных параметров, повышение рабочих и тактовых частот, уменьшение потребляемой мощности и т. д. Каждому «узлу» сетевого графика ITRS соответствует очередное поколение ИС, характеризуемое некоторым линейным параметром, который в ITRS именуется просто «узлом». За величину характеристического размера (ХР) данного поколения ИС обычно принимают половину шага между дорожками сигнала в схемах памяти; для микропроцессоров ХР определяется как половина шага между поликремниевыми затворами МОП–транзисторов.

С переходом к «узлам» менее 130 нм в конструировании ИС возникли принципиально новые проблемы. Помимо проблем технологического свойства, связанных с тем, что традиционная конструкция МОП–транзистора перестает работать из–за различных паразитных эффектов, проявляющихся в малоразмерных конструкциях, возникли проблемы, связанные с программно–аппаратным и методологическим обеспечением процесса проектирования.

Дело в том, что с улучшением проектных норм микроэлектронных изделий возрастает стоимость подготовки производства и, соответственно, цена риска технической и идеологической ошибки. Так, в настоящее время средняя стоимость подготовки производства (изготовление фотошаблонов) и выпуск опытной партии в количестве 10–12 пластин (так называемый инженерный лот) на фабриках Юго–Восточной Азии (X–fab Sarawak, Siltera и т. п.) по технологии 0,18 мкм составляет $120 000, стоимость фотошаблонов при проектных нормах 0,13 мкм — $350 000, а по технологии 0,09 мкм — около $1 000 000. Очевидно, что при такой динамике цена ошибки возрастает многократно.

Тенденция уменьшения проектных норм в первую очередь связана со стремлением получить как можно больше кристаллов с одной пластины, поскольку стоимость пластины составляет $800–1800, при этом с уменьшением размера кристалла в два раза выход увеличивается в четыре. При этом известно, что выход годных кристаллов не зависит от минимального размера, а с уменьшением размеров элементов увеличивается съем кристаллов с пластины, значит, они становятся дешевле.

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

Значительно возрастает сложность процесса проектирования. При использовании традиционных методов хороший дизайнер может выполнять проект со средней скоростью порядка 100 вентилей в день или 30 строк RTLкода. В этом случае, чтобы спроектировать СБИС сложностью 100 тыс. вентилей, потребуется 1000 человеко–дней, то есть команда из пяти человек сможет разработать такую СБИС в течение года. Следуя данной логике, чтобы разработать сложную СБИС порядка 10 млн вентилей в течение одного года, потребуется команда из 500 человек, что неприемлемо с точки зрения стоимости разработки.

Выход из создавшейся ситуации очевиден — необходимо изменить методологию проектирования СБИС. Наиболее перспективным направлением в настоящий момент представляется методология проектирования СБИС типа «система на кристалле» с использованием платформенного принципа организации на основе встроенных микропроцессорных ядер и библиотек СФ–блоков.

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

Таблица 1. Классификация микропроцессорных ядер
Группа 1 Группа 2 Группа 3 Группа 4
8– и 16–разрядные процессоры низкой стоимости (до $10) 32–разрядные процессоры средней стоимости (от $7 до $40) 32–, 64– и 128–разрядные процессоры большой стоимости (от $40 и выше) Цифровые сигнальные процессоры
Управление исполнительными механизмами, контроллеры датчиков, основа для простых приборов и устройств Основа для устройств средней сложности и сложных вычислительных устройств (мобильные телефоны, КПК, устройства навигации) Основа для персональных компьютеров и вычислительных систем Цифровая обработка сигналов

Сегодняшний объем потребности в микропроцессорах всех групп для комплектации радиоэлектронной аппаратуры, изготавливаемой на территории России, насчитывает около 10 млн штук в год. Основными потребителями микропроцессоров являются отрасли бытовой техники, приборостроения, а также телекоммуникации и связи, в первую очередь за счет массовости выпускаемой продукции. По России в период с конца 1980–х до конца 1990–х годов наибольшим спросом пользовалась 1–я группа процессоров, но уже с конца 1990–х годов начались плавные изменения рынка в сторону 2–й группы процессоров. Это обусловлено двумя факторами:

  1. снижение стоимости электронных компонентов (становится экономически оправданным использование процессоров 2–й группы;
  2. конкуренция на рынках готовой радиоэлектронной продукции (бытовая техника, приборостроение и т. д.), то есть производителям устройств приходится постоянно модернизировать свою продукцию в соответствии с требованиями рынка, дополнять выпускаемые устройства различными сервисными функциями, о которых 10 лет назад не было и речи, разрабатывать интерактивные интерфейсы взаимодействия с пользователем.

В данный момент большинство серийных (от 10 тыс. ед. изд. в год) производителей радиоэлектронной аппаратуры используют зарубежную элементную базу.

Для микропроцессоров 2–й группы российские производители радиоэлектронной аппаратуры используют только элементы зарубежного производства. Довольно часто встречаются компромиссные варианты построения устройств, когда сложные компоненты (микропроцессоры, микросхемы ПЛИС) поступают из–за рубежа, а простые (стабилизаторы питания, дискретная логика) — российского производства. В любом случае, использование сложных компонентов только зарубежного производства может вызывать некоторые проблемы:

  • Зарубежные производители могут изменять свою продукцию без согласования с российскими потребителями, поскольку российский сегмент рынка радиоэлектронных компонентов для них не является существенным. Например, снятие с производства микросхем в корпусах TQFP и запуск аналогичных в корпусах BGA (для многих российских производственных фирм установка и пайка корпусов BGA не является технологичной).
  • Довольно часто (особенно при работе с фирмами из Восточной Азии) поступает контрафактная продукция.
  • Невозможно проверить качество выходного контроля.
  • Имеются сложности с полноценной конструкторской документацией (отсутствие документации).
  • Часто отсутствует информация о надежности компонентов.
  • Зачастую отсутствует возможность прямой связи с производителем электронных компонентов, при этом контакт возможен только через дилера, который не может четко предоставить техническую информацию.

В связи с этими проблемами производители радиоэлектронных устройств проявляют живой интерес к компонентам, изготавливаемым в России.

В качестве примера можно привести ситуацию в конце 1980–х — начале 1990–х годов, когда отставание от зарубежных производителей не было таким огромным. В изделиях бытовой и промышленной, специальной и военной техники активно применялись микропроцессоры 1–й группы (эта группа в то время доминировала на рынке) отечественного производства. Этому способствовало то, что цена на изделия отечественного производства была ниже, чем на зарубежные, качество изделий было высоким, потребителям электронных компонентов было удобно общаться с их производителем. Но постепенно, по причине отсутствия хоть какого–либо развития, зарубежные компоненты (фирм Microchip, Atmel, Intel) вытеснили их отечественные аналоги.

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

Рассмотрим основные требования к современной системе на кристалле широкого назначения, которые необходимо учесть при проектировании СнК:

  • быстродействие основного процессорного ядра (100–400 Mips);
  • возможность в одной СнК использовать несколько процессорных ядер;
  • возможность гибко добавлять различные компоненты в системе СнК или исключать ненужные компоненты (для экономии места на пластине и снижения стоимости микросхем в производстве);
  • исходные коды и схемотехнические ограничения СнК должны обеспечивать возможность переноса на другую топологическую библиотеку, чтобы был возможен быстрый переход на альтернативную фабрику изготовителя кремниевых пластин;
  • прозрачность и открытость схемотехники СнК, обязательное применение унифицированных интерфейсов AMBA или Withbond для возможности подключения компонентов (IP–блоков) других производителей, в том числе использования покупных компонентов.

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

Такой подход позволит в короткие сроки вывести на рынок готовую микропроцессорную платформу на одном кристалле. Платформа SPARC v.8 полностью конкурентоспособна в сравнении с аналогичными процессорными ядрами зарубежных производителей (ARM9, MIPS и др.). На рис. 1 показана общая структура системы на кристалле. Цветом выделены оригинальные СФ–блоки.

Рис. 1. Общая структура системы на кристалле
Рис. 1. Общая структура системы на кристалле

Процессор LEON3 является 32–разрядным процессором, использующим архитектуру SPARС v.8. Его ядро хорошо структурировано и вполне подходит для проектирования «систем на кристалле» (SOC). Ядро связано с помощью интерфейса, использующего AMBA–2.0 APB шину и поддерживающего IP plug&play, обеспеченный в библиотеке IP Gaisler Research (GRLIB). LEON3 использует стандартные синхронные ячейки оперативной памяти для обоих кэшей и регистрации файла. Архитектура SPARC упрощает раннюю оценку и макетирование процессора. Реализация ядра LEON3 также возможна и в радиационно–устойчивом исполнении для использования в изделиях для космических исследований и других высокотехнологичных приложениях.

Архитектура полностью открыта, исходные VHDL–коды свободно доступны, возможно их использование при скромной (несколько десятков тысяч евро) лицензионной плате.

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

Таблица 2. Сравнительные характеристики
быстродействия процессора и занимаемой площади
Реализация Ресурсы (площадь, число логических элементов) Быстро действие, МГц
Atmel 0.18 CMOS std–cell 35 K gates + RAM 165
Atmel 0.25 CMOS std–cell 33 K gates + RAM 140
UMC 0.25 CMOS std–cell 35 K gates + RAM 130
Atmel 0.35 CMOS std–cell 2 мм2 + RAM 65
Xilinx XC2V3000–6 5.000 LUT + block RAM 80
Altera 20K200C–7 5.700 LCELLs + EAB RAM 49
Actel AX1000–3 7.600 cells + RAM 48
Siltera 0,18 mkm ∼0,5 мм2 239,5
ПЛИС XC2V1000–4 99% 50

Как уже было сказано, LEON3 — 32–разрядный процессор, основанный на архитектуре SPARC v.8. Он использует расширенный пятитактный конвейер. Процессор поддерживает полную систему команд SPARC v.8, включая команды перемножения, деления и перемножения с накоплением. Дополнительный IEEE–754 модуль обеспечивает поддержку операций с плавающей запятой с одинарной и двойной точностью. Кэш–система поддерживает мультимножества с четырьмя наборами по 256 кбит в наборе.

Конструктивно LEON включает в себя:

  • отдельный командный кэш и кэш данных;
  • аппаратный перемножитель и делитель;
  • контроллер прерываний;
  • модуль отладки с буфером;
  • два 24–битных таймера;
  • два универсальных асинхронных приемопередатчика;
  • функцию выключения питания;
  • систему безопасности;
  • 16–битный порт I/O (ввода/вывода);
  • гибкий контроллер памяти;
  • поддержку Ethernet–порта;
  • интерфейс PCI (32–разрядная шина с возможностью расширения до 64–разрядов, взаимодействие через которую происходит без участия CPU);
  • поддержку архитектурой шины AMBA.

Функционально процессор LEON3 состоит из следующих модулей:

  • модуль целочисленных вычислений;
  • модуль вычислений с плавающей точкой;
  • система кэш–памяти;
  • модуль управления памятью;
  • модуль поддержки отладки;
  • интерфейс памяти (ПЗУ–PROM, статическая ОЗУ–SRAM, синхронная динамическая ОЗУ–SDRAM);
  • два 24–битных таймера;
  • контроллер прерываний;
  • параллельный 32–битный порт ввода/вывода;
  • шина AMBA (AHB и APB);
  • Ethernet.

LEON3 может использоваться в синхронных многопроцессорных конфигурациях (SMP). Он обеспечивает поддержку аппаратных средств для когерентности кэш–памяти и регулирования прерывания SMP. Уникальный интерфейс отладки позволяет производить отладку аппаратных средств SMP–системы и обеспечивает доступ ко всем регистрам и памяти на чипе.

Ядро базового процессора (конвейер, контроллеры кэш–памяти и интерфейс AHB) использует приблизительно 20 000 вентилей и может быть реализовано как на специализированных интегральных схемах, так и по технологии FPGA. На технологии в 0,13 мкм возможно достигнуть тактовой частоты, превышающей 400 МГц. Структура процессора показана на рис. 2.

Рис. 2. Структура процессора LEON3
Рис. 2. Структура процессора LEON3

На рис. 3, 4 представлены топология СнК на базе процессорного ядра LEON и СФ–блока контроллера интерфейса MIL–STD–1553.

Рис. 3. Топология СнК на базе процессорного ядра LEON
Рис. 3. Топология СнК на базе процессорного ядра LEON
Рис. 4. Топология СФ-блока контроллера интерфейса MIL-STD-1553
Рис. 4. Топология СФ–блока контроллера интерфейса MIL–STD–1553

В ряде приложений имеет смысл использовать 8–разрядные процессорные ядра. Перспективным представляется использование 8–разрядного ядра со следующими основными характеристиками:

  • структура команд совместима с ATMEGA103;
  • наличие восьми внутренних прерываний;
  • поддержка до 16 кбайт памяти программ;
  • память данных 64 кбайт;
  • настраиваемый UART;
  • порт JTAG для загрузки программы в память программ;
  • рабочая тактовая частота процессора 30 МГц;
  • площадь кристалла по технологии 0,18 мкм без памяти программ и памяти данных 0,13 мм2.

Структурная схема ядра представлена на рис. 5.

Рис. 5. Структурная схема 8-разрядного ядра
Рис. 5. Структурная схема 8–разрядного ядра

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

Микропроцессорное ядро имеет 32 8–битных регистра общего назначения. Все 32 регистра напрямую связаны с АЛУ, что позволяет выполнять обращение к двум независимым регистрам и возвращать результат одной командой, выполняемой в одном тактовом цикле. Кроме того, доступны 64 регистра ввода/вывода.

На базе 8–разрядного микропроцессорного ядра разработана специализированная СнК контроллера Flash–накопителя с аппаратной криптозащитой и резервированием данных. Такая СБИС предназначена для построения USB–Flash накопителей с дополнительными функциями, позволяющими повысить надежность переноса и хранения данных, обеспечивая при этом защиту от несанкционированного доступа.

Особенности СБИС:

  • USB2.0 480 Мбит/с:
    • поддержка работы в режимах full speed, hi speed;
    • класс устройства — USB mass storage;
  • интерфейс NAND Flash:
    • максимальный объем памяти NANS Flash — 8 Гбайт;
    • поддерживаются все типы микросхем NAND Flash, в том числе Samsung, Hynix, Toshiba;
    • поддерживаемая длина стробов чтения/записи микросхем NAND Flash — 50 и 30 нс;
    • автоопределение типа подключенных к контроллеру микросхем NAND Flash;
    • обнаружение и исправление ошибок ECC;
    • скорость чтения/записи 15/10 Мбайт/с;
  • защита данных:
    • открытый/защищенный раздел;
    • защищенный раздел шифруется по алгоритму AES–128;
    • повышение надежности хранения данных — функция RAID;
    • возможность совмещения шифрования и RAID;
    • кнопка «только чтение»;
  • блок шифрования AES–128:
    • длина ключа 128 бит;
    • аппаратная реализация блока шифрования AES–128 — скорость работы в режиме шифрования на 10% меньше, чем без шифрования;
  • встроенная PLL:
    • необходимые частоты получаются при помощи встроенной PLL с использованием внешнего кварцевого резонатора на 30 МГц;
  • питание микросхемы 3,3 В:
    • напряжение ядра 1,8 В получается из встроенного DC/DC–преобразователя;
  • светодиод:
    • частота мигания зависит от выполняемых контроллером функций;
  • работа в ОС Windows, Linux;
  • корпус — 64 вывода.

Использование устройства, выполненного на основе микросхемы USB–Token, возможно:

  • в качестве обычного Flash–диска для хранения и переноса данных, не предъявляющих повышенных требований к их сохранности;
  • в качестве Flash–диска для хранения и переноса конфиденциальной информации (используется только функция шифрования для защиты от несанкционированного доступа);
  • в качестве Flash–диска для задач хранения и переноса данных, предъявляющих повышенные требования к их сохранности (используется только функция RAID);
  • в качестве Flash–диска для задач хранения и переноса конфиденциальной информации, предъявляющей повышенные требования к ее сохранности (одновременно используется функция RAID и функция шифрования).

Блок шифрования аппаратно шифрует данные по алгоритму AES–128.

Контроллер памяти обеспечивает быстрый доступ к памяти данных RISC–процессору, контроллеру USB и интерфейсу NAND Flash.

RISC–процессор управляет всеми блоками микросхемы, обрабатывает SCSI–протокол.

DC/DC конвертор является источником питания ядра 1,8 В.

Топология кристалла приведена на рис. 6.

Рис. 6. Топология кристалла
Рис. 6. Топология кристалла

Контроллер обеспечивает несколько способов защиты данных:

  • скрытый диск;
  • скрытый диск с шифрованием AES–128;
  • RAID;
  • кнопка «только чтение».

Данные способы защиты данных доступны пользователю с помощью утилиты PICE, которая входит в комплект поставки контроллера. Пример изделия на основе СнК представлен на рис. 7.

Рис. 7. Пример изделия на основе СнК
Рис. 7. Пример изделия на основе СнК

Для обеспечения полной верификации подобных систем для прототипирования СБИС и аппаратной верификации СнК разработана аппаратная платформа DS–E–4000, структурная схема которой приведена на рис. 8, а конструкция — на рис. 9.

Рис. 8. Структурная схема аппаратной платформы DS-E-4000
Рис. 8. Структурная схема аппаратной платформы DS–E–4000
Рис. 9. Конструкция аппаратной платформы DS-E-4000
Рис. 9. Конструкция аппаратной платформы DS–E–4000

Основой платформы является ПЛИС фирмы Xilinx семейства Spartan3 объемом 4 млн лог. вентилей.

ПЛИС CPLD CoolRunner предназначена для мониторинга и тестирования работы основной ПЛИС. Стабильность работы платы также обеспечивается супервизором питания и датчиком температуры, подключенным к Spartan3.

Для хранения и работы с данными на плате предусмотрено три типа памяти: DDR SDRAM, SSRAM и NOR Flash.

В платформе DS–E–4000 реализуется поддержка большинства наиболее распространенных интерфейсов, таких, как Ethernet 1000/100/10, USB 2.0, RS–232, RS–485, CAN, LVDS, а также использование вводов/выводов на разъеме, подключенном непосредственно к ПЛИС.

Основные технические характеристики аппаратной платформы DS–E–4000:

  • ПЛИС Xilinx Spartan3 XC3S400;
  • ПЛИС Xilinx XC9500;
  • память:
    • NOR до 32 Мбайт;
    • SSRAM 2 Мбайт;
    • DDR SDRAM до 128 Мбайт;
  • интерфейсы:
    • Ethernet 10/100/1000 (Gigabit Ethernet);
    • USB 2.0;
    • полный (с контролем потока) RS–232 на разъеме DB–9;
    • CAN;
    • RS–485;
    • восемь гальванически развязанных RS–485;
    • три LVDS–входа, три LVDS–выхода на DIN41612;
    • до 129 программируемых вводов/выводов ПЛИС Spartan3;
    • до 57 программируемых вводов/выводов ПЛИС XC9500;
  • тактовые генераторы 24 и 50 МГц;
  • 4–битный переключатель;
  • мониторинг питания;
  • цифровой датчик температуры;
  • конструктив «Евромеханика»;
  • напряжение питания платы 5 В;
  • промышленный и коммерческий диапазон температур.

Наличие широкого набора интерфейсов ввода/вывода обуславливает ориентированность платформы на решение широкого круга задач.

Платформа выполнена в форм–факторе конструктива «Евромеханика» с разъемом DIN41612. Это позволяет строить комплексы верификации практически неограниченной логической емкости (рис. 10). Дополнительные разъемы, расположенные по краям платы, могут использоваться для подключения мезонинных модулей.

Рис. 10. Комплекс верификации
Рис. 10. Комплекс верификации

Таким образом, мы рассмотрели примеры использования встроенных микропроцессорных ядер при проектировании СБИС типа СнК и аппаратные средства для их верифи кации.

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

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