Шагурин Игорь, проф., д.т.н., руководитель лаборатории «Микропроцессорные системы» кафедры микро- и наноэлектроники МИФИ
Термин «система на кристалле» приобрел большую популярность. Изделия этого класса часто анонсируются и воспринимаются как новое направление в развитии электронной техники, призванное вытеснить «классические» СБИС [1]. В статье рассказывается о том, что представляют собой реальные СнК, и сравниваются их достоинства и недостатки.
Анализируя данные в технической литературе и описания различных изделий, называемых авторами «системами на кристалле», можно сформулировать следующее определение: система на кристалле — это СБИС, интегрирующая на кристалле различные функциональные блоки, которые образуют законченное изделие для автономного применения в электронной аппаратуре. Структура типовой СнК представлена на рисунке 1.
Система на кристалле может включать как цифровые, так и аналоговые блоки. Основным цифровым блоком обычно является процессор, выполняющий программную обработку цифровых данных. Специализированные блоки обработки обеспечивают аппаратное выполнение функций, специфических для данной системы. Это могут быть, например, блоки цифровой обработки сигналов (DSP), аналоговые схемы, преобразователи потоков данных и др. устройства. Различные типы модулей памяти (SRAM, DRAM, ROM, EEPROM, Flash) могут входить в состав СнК или подключаться к ней как внешние блоки. Таймеры, АЦП и ЦАП, широтно-импульсные модуляторы и другие цифровые устройства могут интегрироваться в состав СнК в качестве периферийных устройств. Интерфейс с внешними устройствами обеспечивается с помощью параллельных и последовательных портов, различных шинных и коммуникационных контроллеров и других интерфейсных блоков, в т.ч. аналоговых (усилителей, преобразователей). Состав блоков, интегрируемых в конкретной СнК, варьируется в зависимости от ее функционального назначения. Организация связей между блоками системы также может быть различной: возможно использование различных стандартизованных шин (типа AMBA [2]) или специализированных локальных интерфейсов.
Как видно из рисунка 1, структуру СнК составляют в основном те же функциональные блоки, которые входят в состав сложно-функциональных СБИС класса микроконтроллеров и микропроцессоров. Фактически современные СнК отличаются от микроконтроллеров только наличием специализированных блоков обработки данных. Выпуск микроконтроллеров (называвшихся прежде однокристальными микроЭВМ) начался в 1981 г. Таким образом, можно считать, что СнК без специализированных блоков обработки производятся и применяются уже более 27 лет.
В большинстве случаев СнК представляет собой цифровую СБИС, которая может также содержать ряд аналоговых блоков. Поэтому для проектирования СнК используются те же методы и средства, что и для СБИС. Эти средства реализованы в виде систем автоматизированного проектирования (САПР), поставляемых компаниями Cadance, Synopsis, Mentor Graphics и др. В качестве элементной базы эти САПР используют библиотеки функциональных элементов, в состав которых входят как простые логические вентили и триггеры, так и макроэлементы, выполняющие более сложные функции: регистры, счетчики, сумматоры, умножители, арифметико-логические устройства и т. д.
При разработке микроконтроллеров в 90-х гг. прошлого века широкое распространение получила концепция создания микроконтроллерных семейств, имеющих одинаковое процессорное ядро и различающихся набором периферийных устройств и объемом внутренней памяти. Для реализации этой концепции при проектировании СБИС микроконтроллеров кроме функциональных библиотек стали использоваться сложно-функциональные блоки (СФ-блоки) — процессоры, таймеры, АЦП, различные интерфейсные блоки (UART, SPI, CAN, Ethernet и т.д). Эти СФ-блоки формировали верхний уровень функциональных библиотек, используемых разработчиками и производителями микроконтроллеров. Они были достаточно жестко ориентированы на конкретную технологию компании-производителя, являясь внутрифирменной материальной ценностью.
Повышение сложности проектируемых СБИС, жесткие требования к срокам их проектирования (сокращение времени выхода изделия на рынок) поставили перед разработчиками новые проблемы. В сложившихся условиях самостоятельное проектирование разработчиком СнК всех СФ-блоков, входящих в ее состав, не всегда целесообразно. Поэтому в последние годы широкое распространение получила практика разработки отдельных СФ-блоков для их последующего представления на рынок средств проектирования СнК. СФ-блоки, предназначенные для использования в разнообразных проектах, стали называть IP (Intellectual Property) модулями, тем самым подчеркивается, что эта продукция является предметом интеллектуальной собственности.Современная микроэлектронная технология обеспечивает следующие варианты реализации СнК:
– в виде заказной СБИС (ASIC);
– на базе ПЛИС высокой интеграции (FPGA).
Оба варианта реализации имеют свои достоинства и недостатки, которые целесообразно оценить в сравнении с традиционным способом монтажа систем на печатной плате из отдельных микросхем — системами на плате.
При реализации СнК в виде ASIC используется традиционный маршрут проектирования ASIC с использованием аппаратно реализованных СФ-блоков, интегрированных в структуру СБИС, и синтезируемых СФ-блоков, которые изготовитель транслирует в физическую структуру с помощью собственных библиотек функциональных элементов. Используя средства САПР, набор необходимых СФ-блоков и современные технологии, можно реализовать в виде ASIC большинство электронных устройств, монтируемых в настоящее время на печатных платах. Таким образом, имеется возможность замены систем на плате системами на кристалле. Возникает альтернатива — разработка системы на плате или реализация функционально аналогичной СнК в виде ASIC.
Преимущества систем на плате:
– использование хорошо проверенных серийных компонентов;
– более простой процесс тестирования и отладки;
– возможность замены неисправных компонентов;
– низкая стоимость создания опытных образцов и малых серий.
Преимущества систем на кристалле:
– возможность получения более высоких технических показателей (производительность, энергопотребление, массогабаритные характеристики);
– более низкая стоимость при крупносерийном выпуске.
Следует отметить, что реализация СнК в виде специализированной ASIC требует значительных финансовых затрат. Изготовление опытной партии специализированных СБИС (несколько тысяч образцов) по технологии 0,13 — 0,18 мкм стоит несколько сотен тысяч долларов, а по технологии 0,09 мкм — свыше миллиона долларов. При этом имеющийся опыт разработки СнК показывает, что только в 25% проектов первоначально полученные опытные образцы соответствуют заданным требованиям. В большинстве случаев для получения необходимого результата требуется несколько итераций, что значительно увеличивает стоимость проекта. Можно надеяться, что развитие средств САПР позволит снизить риски при выполнении таких проектов. Однако в настоящее время реализация СнК в виде ASIC является приемлемой только для ограниченного числа высокобюджетных проектов. Во всех случаях, когда можно достичь заданных характеристик, реализуя системы на плате, этот вариант является более предпочтительным ввиду названных преимуществ.
Альтернативой может быть реализация СнК на базе высокоинтегрированных FPGA, содержащих миллионы эквивалентных логических вентилей [3].
Преимущества реализации СнК на базе FPGA:
– малые затраты на разработку и создание опытных образцов;
– возможность многократной коррекции проекта;
– использование хорошо проверенных серийных изделий;
– более простой процесс тестирования и отладки (возможность реализации и отладки «по частям»).
Таким образом, СнК на базе FPGA имеют практически те же достоинства, что и системы на плате, но отличаются лучшими техническими характеристиками — более низким энергопотреблением, меньшими габаритами и массой. При этом по таким параметрам как производительность и энергопотребление СнК на базе FPGA уступают СнК, реализованным в виде ASIC.
Исходя из сказанного, можно сделать вывод, что СнК на базе FPGA будут конкурировать и постепенно вытеснять системы на плате. При этом вместо микропроцессоров и микроконтроллеров в этих СнК будут использоваться различные варианты процессорных СФ-блоков.
Процессорные СФ-блоки | Разрядность | Тактовая частота, МГц | Производительность, DMIPS | Число LUT |
PicoBlaze (Xilinx) |
8 |
250 |
125 |
110 |
MicroBlaze (Xilinx) |
32 |
200 |
166 |
1250 |
Nios II Economy (Altera) |
8 |
200 |
31 |
600 |
Nios II Standard (Altera) |
16 |
165 |
127 |
1300 |
Nios II Fast (Altera) |
32 |
185 |
218 |
1800 |
LEON3* (Gaisler) |
32 |
150 |
150 |
3500 |
Следует отметить, что методика интеграции в составе одной FPGA всех системных функций, включая процессорные, пока не получила достаточно широкого распространения. В большинстве проектов FPGA используются совместно с микропроцессорами и микроконтроллерами, выполняя различные функции специальной обработки данных. Однако ведущие производители FPGA активно предлагают разработчикам синтезируемые процессорные СФ-блоки, обеспечивающие достаточно высокие характеристики при использовании ограниченных ресурсов кристалла. В таблице 1 приведены характеристики ряда СФ-блоков, предлагаемых компаниями Xilinx, Altera, Gaisler Research. Это процессорные ядра с RISC-архитектурой, для реализации которых требуется всего несколько сотен или тысяч логических блоков (LUT — Look-Up-Table). Так как современные FPGA содержат несколько десятков тысяч LUT, открываются возможности реализации на кристалле систем, содержащих несколько процессорных ядер и значительное число периферийных и специализированных блоков. По зарубежным данным уже сейчас около трети разработчиков используют в своих проектах FPGA с реализованными процессорными ядрами [4]. В ближайшие годы следует ожидать существенного возрастания доли проектов, использующих процессорные ядра в составе систем, реализованных на базе FPGA.
СнК в виде ASIC перспективны для реализации высокобюджетных проектов, предполагающих последующий крупносерийный выпуск изделий. Они будут применяться в тех случаях, когда реализация заданных технических характеристик невозможна с помощью других решений — систем на плате или СнК на базе FPGA. Учитывая достаточно высокие риски, связанные с разработкой СнК в виде ASIC, можно ожидать, что доля таких проектов будет относительно небольшой.
СнК на базе FPGA могут стать основной элементной базой для широкой номенклатуры мало- и среднесерийных изделий с ограниченными требованиями к параметрам. При этом ожидается широкое использование в составе этих СнК процессорных СФ-блоков, предлагаемых ведущими производителями. Развитие СнК на базе FPGA приведет к существенному сокращению доли проектов, реализуемых в виде систем на плате.