Опыт разработки СБИС типа систем на кристалле СнК на основе встроенных микропроцессорных ядер
В статье сделана скромная попытка отразить опыт авторов в проектировании СБИС класса СнК на основе встроенных процессорных ядер. Предлагаемые решения направлены на резкое сокращение сроков и, соответственно, стоимости разработки. Микропроцессоры или микросхемы, в состав которых входит процессорное ядро, составляют 70% всего рынка микросхем СБИС. Современные тенденции развития вычислительных архитектур накладывают определенные ограничения на облик массовых продуктов. Основным критерием при разработке аппаратуры является сокращение сроков вывода конечного продукта на потребительский рынок. Для этого при проектировании СБИС класса СнК применяются унифицированные аппаратные и программные решения, осуществляется переход от узкоспециализированных систем к унифицированным платформам, что позволяет значительно упростить разработку изделия в целом, заменяя схемотехническую разработку на более гибкую программную. Современные тенденции роста производительности микропроцессоров раскрывают все бóльшие области их применения, связано это с тем, что чем больше быстродействие процессора, тем шире круг задач, для которых он может использоваться.
Известно, что производство полупроводников занимает в рыночной мировой экономике уникальное положение, определяемое тем, что оно развивается по детально разработанному плану, который, однако, не только не препятствует конкурентоспособности участников, но даже всемерно помогает ей. Этот план известен как International Technology Roadmap for Semiconductors (ITRS) и представляет собой планпрогноз, ежегодно обновляемый и публикуемый международной организацией Semiconductor Industry Association (SIA). В основе ITRS лежат несколько простых принципов, в том числе знаменитый закон Мура об удвоении числа элементов СБИС каждые 1,52 года. Закон Мура не отражает никаких фундаментальных законов природы, а лишь описывает ситуацию, складывающуюся на рынке в результате конкуренции между производителями, а также вследствие взаимного стимулирования радиоэлектронной и полупроводниковой отраслей. Огромную роль играет чисто психологический фактор: разработчики и производители стараются придерживаться прогнозных сроков закона Мура и ITRS, потому что знают, что так же действуют конкуренты. Более того, стремление обогнать конкурентов часто приводит к тому, что разработчики проектируют, а производители выводят на рынок новое изделие раньше, чем это предусмотрено ITRS. В результате в наши дни закон Мура, строго говоря, должен формулироваться иначе, поскольку из экспоненциального он превратился в суперэкспоненциальный. Главное значение ITRS состоит в том, что этот документ не просто прогнозирует динамику параметров, но и содержит точные указания относительно того, какими конструкторскими и технологическими средствами новые параметры могут быть достигнуты, когда и какие технические средства должны быть разработаны и освоены производством. Таким образом, ITRS является руководством к действию не только для разработчиков приборов, но и для разработчиков техпроцессов и технологического оборудования.
Фундаментальным понятием ITRS является «масштабирование» (scaling) пропорциональное уменьшение всех геометрических размеров ИС в каждом новом поколении, благодаря чему обеспечивается снижение массогабаритных параметров, повышение рабочих и тактовых частот, уменьшение потребляемой мощности и т. д. Каждому «узлу» сетевого графика ITRS соответствует очередное поколение ИС, характеризуемое некоторым линейным параметром, который в ITRS именуется просто «узлом». За величину характеристического размера (ХР) данного поколения ИС обычно принимают половину шага между дорожками сигнала в схемах памяти; для микропроцессоров ХР определяется как половина шага между поликремниевыми затворами МОПтранзисторов.
С переходом к «узлам» менее 130 нм в конструировании ИС возникли принципиально новые проблемы. Помимо проблем технологического свойства, связанных с тем, что традиционная конструкция МОПтранзистора перестает работать изза различных паразитных эффектов, проявляющихся в малоразмерных конструкциях, возникли проблемы, связанные с программноаппаратным и методологическим обеспечением процесса проектирования.
Дело в том, что с улучшением проектных норм микроэлектронных изделий возрастает стоимость подготовки производства и, соответственно, цена риска технической и идеологической ошибки. Так, в настоящее время средняя стоимость подготовки производства (изготовление фотошаблонов) и выпуск опытной партии в количестве 1012 пластин (так называемый инженерный лот) на фабриках ЮгоВосточной Азии (Xfab Sarawak, Siltera и т. п.) по технологии 0,18 мкм составляет $120 000, стоимость фотошаблонов при проектных нормах 0,13 мкм $350 000, а по технологии 0,09 мкм около $1 000 000. Очевидно, что при такой динамике цена ошибки возрастает многократно.
Тенденция уменьшения проектных норм в первую очередь связана со стремлением получить как можно больше кристаллов с одной пластины, поскольку стоимость пластины составляет $8001800, при этом с уменьшением размера кристалла в два раза выход увеличивается в четыре. При этом известно, что выход годных кристаллов не зависит от минимального размера, а с уменьшением размеров элементов увеличивается съем кристаллов с пластины, значит, они становятся дешевле.
Таким образом, разработчик массовой аппаратуры оказывается под дамокловым мечом ответственности за принимаемые проектные решения.
Значительно возрастает сложность процесса проектирования. При использовании традиционных методов хороший дизайнер может выполнять проект со средней скоростью порядка 100 вентилей в день или 30 строк RTLкода. В этом случае, чтобы спроектировать СБИС сложностью 100 тыс. вентилей, потребуется 1000 человекодней, то есть команда из пяти человек сможет разработать такую СБИС в течение года. Следуя данной логике, чтобы разработать сложную СБИС порядка 10 млн вентилей в течение одного года, потребуется команда из 500 человек, что неприемлемо с точки зрения стоимости разработки.
Выход из создавшейся ситуации очевиден необходимо изменить методологию проектирования СБИС. Наиболее перспективным направлением в настоящий момент представляется методология проектирования СБИС типа «система на кристалле» с использованием платформенного принципа организации на основе встроенных микропроцессорных ядер и библиотек СФблоков.
Весь спектр микропроцессоров как компонентов радиоэлектронной аппаратуры можно разбить на четыре группы, приведенные в таблице 1.
Группа 1 | Группа 2 | Группа 3 | Группа 4 |
---|---|---|---|
8 и 16разрядные процессоры низкой стоимости (до $10) | 32разрядные процессоры средней стоимости (от $7 до $40) | 32, 64 и 128разрядные процессоры большой стоимости (от $40 и выше) | Цифровые сигнальные процессоры |
Управление исполнительными механизмами, контроллеры датчиков, основа для простых приборов и устройств | Основа для устройств средней сложности и сложных вычислительных устройств (мобильные телефоны, КПК, устройства навигации) | Основа для персональных компьютеров и вычислительных систем | Цифровая обработка сигналов |
Сегодняшний объем потребности в микропроцессорах всех групп для комплектации радиоэлектронной аппаратуры, изготавливаемой на территории России, насчитывает около 10 млн штук в год. Основными потребителями микропроцессоров являются отрасли бытовой техники, приборостроения, а также телекоммуникации и связи, в первую очередь за счет массовости выпускаемой продукции. По России в период с конца 1980х до конца 1990х годов наибольшим спросом пользовалась 1я группа процессоров, но уже с конца 1990х годов начались плавные изменения рынка в сторону 2й группы процессоров. Это обусловлено двумя факторами:
- снижение стоимости электронных компонентов (становится экономически оправданным использование процессоров 2й группы;
- конкуренция на рынках готовой радиоэлектронной продукции (бытовая техника, приборостроение и т. д.), то есть производителям устройств приходится постоянно модернизировать свою продукцию в соответствии с требованиями рынка, дополнять выпускаемые устройства различными сервисными функциями, о которых 10 лет назад не было и речи, разрабатывать интерактивные интерфейсы взаимодействия с пользователем.
В данный момент большинство серийных (от 10 тыс. ед. изд. в год) производителей радиоэлектронной аппаратуры используют зарубежную элементную базу.
Для микропроцессоров 2й группы российские производители радиоэлектронной аппаратуры используют только элементы зарубежного производства. Довольно часто встречаются компромиссные варианты построения устройств, когда сложные компоненты (микропроцессоры, микросхемы ПЛИС) поступают изза рубежа, а простые (стабилизаторы питания, дискретная логика) российского производства. В любом случае, использование сложных компонентов только зарубежного производства может вызывать некоторые проблемы:
- Зарубежные производители могут изменять свою продукцию без согласования с российскими потребителями, поскольку российский сегмент рынка радиоэлектронных компонентов для них не является существенным. Например, снятие с производства микросхем в корпусах TQFP и запуск аналогичных в корпусах BGA (для многих российских производственных фирм установка и пайка корпусов BGA не является технологичной).
- Довольно часто (особенно при работе с фирмами из Восточной Азии) поступает контрафактная продукция.
- Невозможно проверить качество выходного контроля.
- Имеются сложности с полноценной конструкторской документацией (отсутствие документации).
- Часто отсутствует информация о надежности компонентов.
- Зачастую отсутствует возможность прямой связи с производителем электронных компонентов, при этом контакт возможен только через дилера, который не может четко предоставить техническую информацию.
В связи с этими проблемами производители радиоэлектронных устройств проявляют живой интерес к компонентам, изготавливаемым в России.
В качестве примера можно привести ситуацию в конце 1980х начале 1990х годов, когда отставание от зарубежных производителей не было таким огромным. В изделиях бытовой и промышленной, специальной и военной техники активно применялись микропроцессоры 1й группы (эта группа в то время доминировала на рынке) отечественного производства. Этому способствовало то, что цена на изделия отечественного производства была ниже, чем на зарубежные, качество изделий было высоким, потребителям электронных компонентов было удобно общаться с их производителем. Но постепенно, по причине отсутствия хоть какоголибо развития, зарубежные компоненты (фирм Microchip, Atmel, Intel) вытеснили их отечественные аналоги.
Учитывая все вышесказанное, можно сделать вывод, что одной из актуальнейших задач является разработка и производство собственных микропроцессоров и систем на кристалле (отечественного производства) для решения различных задач. То есть наибольший экономический эффект принесет то изделие (микропроцессор, система на кристалле), которое будет подходить для решения максимально широкого круга задач. Обеспечить это можно разными способами. Сейчас на рынке микропроцессоров и микропроцессорных систем наиболее востребованы процессоры 2й группы.
Рассмотрим основные требования к современной системе на кристалле широкого назначения, которые необходимо учесть при проектировании СнК:
- быстродействие основного процессорного ядра (100400 Mips);
- возможность в одной СнК использовать несколько процессорных ядер;
- возможность гибко добавлять различные компоненты в системе СнК или исключать ненужные компоненты (для экономии места на пластине и снижения стоимости микросхем в производстве);
- исходные коды и схемотехнические ограничения СнК должны обеспечивать возможность переноса на другую топологическую библиотеку, чтобы был возможен быстрый переход на альтернативную фабрику изготовителя кремниевых пластин;
- прозрачность и открытость схемотехники СнК, обязательное применение унифицированных интерфейсов AMBA или Withbond для возможности подключения компонентов (IPблоков) других производителей, в том числе использования покупных компонентов.
В качестве основного способа решения данной задачи предлагается использовать систему на кристалле на базе процессора с архитектурой, совместимой со SPARC v.8. В ходе выполнения работ предполагается разработать сложные функциональные блоки, позволяющие адаптировать систему для широкого коммерческого применения, а также провести схемотехническую и топологическую оптимизацию для увеличения быстродействия основного ядра процессора.
Такой подход позволит в короткие сроки вывести на рынок готовую микропроцессорную платформу на одном кристалле. Платформа SPARC v.8 полностью конкурентоспособна в сравнении с аналогичными процессорными ядрами зарубежных производителей (ARM9, MIPS и др.). На рис. 1 показана общая структура системы на кристалле. Цветом выделены оригинальные СФблоки.
Процессор LEON3 является 32разрядным процессором, использующим архитектуру SPARС v.8. Его ядро хорошо структурировано и вполне подходит для проектирования «систем на кристалле» (SOC). Ядро связано с помощью интерфейса, использующего AMBA2.0 APB шину и поддерживающего IP plug&play, обеспеченный в библиотеке IP Gaisler Research (GRLIB). LEON3 использует стандартные синхронные ячейки оперативной памяти для обоих кэшей и регистрации файла. Архитектура SPARC упрощает раннюю оценку и макетирование процессора. Реализация ядра LEON3 также возможна и в радиационноустойчивом исполнении для использования в изделиях для космических исследований и других высокотехнологичных приложениях.
Архитектура полностью открыта, исходные VHDLкоды свободно доступны, возможно их использование при скромной (несколько десятков тысяч евро) лицензионной плате.
В таблице 2 даны сравнительные характеристики быстродействия процессора и занимаемой площади в зависимости от технологии, по которой произведен синтез.
быстродействия процессора и занимаемой площади
Реализация | Ресурсы (площадь, число логических элементов) | Быстро действие, МГц |
---|---|---|
Atmel 0.18 CMOS stdcell | 35 K gates + RAM | 165 |
Atmel 0.25 CMOS stdcell | 33 K gates + RAM | 140 |
UMC 0.25 CMOS stdcell | 35 K gates + RAM | 130 |
Atmel 0.35 CMOS stdcell | 2 мм2 + RAM | 65 |
Xilinx XC2V30006 | 5.000 LUT + block RAM | 80 |
Altera 20K200C7 | 5.700 LCELLs + EAB RAM | 49 |
Actel AX10003 | 7.600 cells + RAM | 48 |
Siltera 0,18 mkm | ∼0,5 мм2 | 239,5 |
ПЛИС XC2V10004 | 99% | 50 |
Как уже было сказано, LEON3 32разрядный процессор, основанный на архитектуре SPARC v.8. Он использует расширенный пятитактный конвейер. Процессор поддерживает полную систему команд SPARC v.8, включая команды перемножения, деления и перемножения с накоплением. Дополнительный IEEE754 модуль обеспечивает поддержку операций с плавающей запятой с одинарной и двойной точностью. Кэшсистема поддерживает мультимножества с четырьмя наборами по 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.
На рис. 3, 4 представлены топология СнК на базе процессорного ядра LEON и СФблока контроллера интерфейса MILSTD1553.
В ряде приложений имеет смысл использовать 8разрядные процессорные ядра. Перспективным представляется использование 8разрядного ядра со следующими основными характеристиками:
- структура команд совместима с ATMEGA103;
- наличие восьми внутренних прерываний;
- поддержка до 16 кбайт памяти программ;
- память данных 64 кбайт;
- настраиваемый UART;
- порт JTAG для загрузки программы в память программ;
- рабочая тактовая частота процессора 30 МГц;
- площадь кристалла по технологии 0,18 мкм без памяти программ и памяти данных 0,13 мм2.
Структурная схема ядра представлена на рис. 5.
Микропроцессорное ядро имеет раздельную память команд и память данных. Разрядность адресной шины памяти программ 16 бит. Поддерживается возможность загрузки программы в память данных с помощью последовательного интерфейса JTAG.
Микропроцессорное ядро имеет 32 8битных регистра общего назначения. Все 32 регистра напрямую связаны с АЛУ, что позволяет выполнять обращение к двум независимым регистрам и возвращать результат одной командой, выполняемой в одном тактовом цикле. Кроме того, доступны 64 регистра ввода/вывода.
На базе 8разрядного микропроцессорного ядра разработана специализированная СнК контроллера Flashнакопителя с аппаратной криптозащитой и резервированием данных. Такая СБИС предназначена для построения USBFlash накопителей с дополнительными функциями, позволяющими повысить надежность переноса и хранения данных, обеспечивая при этом защиту от несанкционированного доступа.
Особенности СБИС:
- 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 Мбайт/с;
- защита данных:
- открытый/защищенный раздел;
- защищенный раздел шифруется по алгоритму AES128;
- повышение надежности хранения данных функция RAID;
- возможность совмещения шифрования и RAID;
- кнопка «только чтение»;
- блок шифрования AES128:
- длина ключа 128 бит;
- аппаратная реализация блока шифрования AES128 скорость работы в режиме шифрования на 10% меньше, чем без шифрования;
- встроенная PLL:
- необходимые частоты получаются при помощи встроенной PLL с использованием внешнего кварцевого резонатора на 30 МГц;
- питание микросхемы 3,3 В:
- напряжение ядра 1,8 В получается из встроенного DC/DCпреобразователя;
- светодиод:
- частота мигания зависит от выполняемых контроллером функций;
- работа в ОС Windows, Linux;
- корпус 64 вывода.
Использование устройства, выполненного на основе микросхемы USBToken, возможно:
- в качестве обычного Flashдиска для хранения и переноса данных, не предъявляющих повышенных требований к их сохранности;
- в качестве Flashдиска для хранения и переноса конфиденциальной информации (используется только функция шифрования для защиты от несанкционированного доступа);
- в качестве Flashдиска для задач хранения и переноса данных, предъявляющих повышенные требования к их сохранности (используется только функция RAID);
- в качестве Flashдиска для задач хранения и переноса конфиденциальной информации, предъявляющей повышенные требования к ее сохранности (одновременно используется функция RAID и функция шифрования).
Блок шифрования аппаратно шифрует данные по алгоритму AES128.
Контроллер памяти обеспечивает быстрый доступ к памяти данных RISCпроцессору, контроллеру USB и интерфейсу NAND Flash.
RISCпроцессор управляет всеми блоками микросхемы, обрабатывает SCSIпротокол.
DC/DC конвертор является источником питания ядра 1,8 В.
Топология кристалла приведена на рис. 6.
Контроллер обеспечивает несколько способов защиты данных:
- скрытый диск;
- скрытый диск с шифрованием AES128;
- RAID;
- кнопка «только чтение».
Данные способы защиты данных доступны пользователю с помощью утилиты PICE, которая входит в комплект поставки контроллера. Пример изделия на основе СнК представлен на рис. 7.
Для обеспечения полной верификации подобных систем для прототипирования СБИС и аппаратной верификации СнК разработана аппаратная платформа DSE4000, структурная схема которой приведена на рис. 8, а конструкция на рис. 9.
Основой платформы является ПЛИС фирмы Xilinx семейства Spartan3 объемом 4 млн лог. вентилей.
ПЛИС CPLD CoolRunner предназначена для мониторинга и тестирования работы основной ПЛИС. Стабильность работы платы также обеспечивается супервизором питания и датчиком температуры, подключенным к Spartan3.
Для хранения и работы с данными на плате предусмотрено три типа памяти: DDR SDRAM, SSRAM и NOR Flash.
В платформе DSE4000 реализуется поддержка большинства наиболее распространенных интерфейсов, таких, как Ethernet 1000/100/10, USB 2.0, RS232, RS485, CAN, LVDS, а также использование вводов/выводов на разъеме, подключенном непосредственно к ПЛИС.
Основные технические характеристики аппаратной платформы DSE4000:
- ПЛИС Xilinx Spartan3 XC3S400;
- ПЛИС Xilinx XC9500;
- память:
- NOR до 32 Мбайт;
- SSRAM 2 Мбайт;
- DDR SDRAM до 128 Мбайт;
- интерфейсы:
- Ethernet 10/100/1000 (Gigabit Ethernet);
- USB 2.0;
- полный (с контролем потока) RS232 на разъеме DB9;
- CAN;
- RS485;
- восемь гальванически развязанных RS485;
- три LVDSвхода, три LVDSвыхода на DIN41612;
- до 129 программируемых вводов/выводов ПЛИС Spartan3;
- до 57 программируемых вводов/выводов ПЛИС XC9500;
- тактовые генераторы 24 и 50 МГц;
- 4битный переключатель;
- мониторинг питания;
- цифровой датчик температуры;
- конструктив «Евромеханика»;
- напряжение питания платы 5 В;
- промышленный и коммерческий диапазон температур.
Наличие широкого набора интерфейсов ввода/вывода обуславливает ориентированность платформы на решение широкого круга задач.
Платформа выполнена в формфакторе конструктива «Евромеханика» с разъемом DIN41612. Это позволяет строить комплексы верификации практически неограниченной логической емкости (рис. 10). Дополнительные разъемы, расположенные по краям платы, могут использоваться для подключения мезонинных модулей.
Таким образом, мы рассмотрели примеры использования встроенных микропроцессорных ядер при проектировании СБИС типа СнК и аппаратные средства для их верифи кации.