SoC (System-on-a-Chip)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:50, 18 июня 2016.
AMD Am286ZX/LX, SoC построенная на 80286

Систе́ма на криста́лле (СнК), однокриста́льная систе́ма (англ. System-on-a-Chip, SoC (произносится как "эс-оу-си")) — в микроэлектронике — электронная схема, выполняющая функции целого устройства (например, компьютера) и размещенная на одной интегральной схеме.

История

В 1976 году в Intel создали первую систему на кристалле. Это были «всего лишь» электронные часы Microma LCD watch (ссылка с фотографиями). Начинкой была система на кристалле под названием Intel 5810 CMOS chip. Прогресс на часах не остановился, Со временем, прогрессирующие технологии позволили уменьшить микросхемы и изготовить транзисторы, изготовленные по 1.5-1 микрометровой технологии (если положить в ряд 200, то они как раз займут миллиметр на линейке). По этой технологи в Intel в 1985 году сделали процессор третьего поколения 80386. Примечательна также и модель 386SL 1990 года, объединяющая на одном кристалле процессор, контроллер шины, контроллер оперативной и внешней кеш-памяти. А в 1995 появился 386EX, в кристалл которого поместили ещё контроллер прерываний, таймеры, счётчики и логику тестирования JTAG, которая используется и по сей день для прошивки и контроля качества микросхем. Несмотря на свои незначительные, по сегодняшним меркам, 25Мгц, процессор 386EX встраивали в спутники.

В 2007 году Intel анонсировала своё следущее SoC решение Intel EP80579 с кодовым названием Tolapai. На одном кристалле объединили процессор с частотой от 600 Мгц до 1200 Мгц, контроллер памяти и I/O контроллеры, а в некоторых вариациях на чипе был расположен QuickAssist для аппаратного шифрования, и его использовали, например, в vpn-решениях.

Структура

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

Разница с микроконтроллером довольно мала. Микроконтроллеры обычно имеют менее 100 кб оперативной памяти (обычно даже несколько килобайт) и часто на самом деле являются системами-на-кристалле, в то время как термин СнК используется для более мощных процессоров, способных запускать программы вроде настольных версий Windows и Linux, которым требуется внешняя память (флеш или оперативная) для полезной работы и которые могут быть использованы с различными внешними переферийными устройствами. Вкратце, для больших систем, термин Система на кристалле - это гипербола, показывающая скорее техническое направление нежели реальность: высокую степень интеграции схем, ведущая к снижению производственных цен и производства малых систем. Многие системы являются слишком сложными, чтобы уместиться на одном кристалле, построенным на процессоре, оптимизированным на выполнение только одной из множества задач систем. ста́льная систе́ма (англ. System-on-a-Chip, SoC (произносится как "эс-оу-си")) — в микроэлектронике — электронная схема, выполняющая функции целого устройства (например, компьютера) и размещенная на одной интегральной схеме. В зависимости от назначения она может оперировать как цифровыми сигналами, так и аналоговыми, аналого-цифровыми, а также частотами радиодиапазона - все на одной подложке чипа. СнК широко распространены на рынке мобильной электроники из-за низкого энергопотребления. Обычно применяются в сфере встроенных систем.

Разница с микроконтроллером довольно мала. Микроконтроллеры обычно имеют менее 100 кб оперативной памяти (обычно даже несколько килобайт) и часто на самом деле являются системами-на-кристалле, в то время как термин СнК используется для более мощных процессоров, способных запускать программы вроде настольных версий Windows и Linux, которым требуется внешняя память (флеш или оперативная) для полезной работы и которые могут быть использованы с различными внешними переферийными устройствами. Вкратце, для больших систем, термин Система на кристалле - это гипербола, показывающая скорее техническое направление нежели реальность: высокую степень интеграции схем, ведущая к снижению производственных цен и производства малых систем. Многие системы являются слишком сложными, чтобы уместиться на одном кристалле, построенным на процессоре, оптимизированным на выполнение только одной из множества задач систем.

Если разместить все необходимые цепи на одном полупроводниковом кристалле не удается, применяется схема из нескольких кристаллов, помещенных в единый корпус (англ. System in a package, SiP). SoC считается более выгодной конструкцией, так как позволяет увеличить процент годных устройств при изготовлении и упростить конструкцию корпуса.

Типичная SoC содержит:

  • один или несколько микроконтроллеров, микропроцессоров или ядер цифровой обработки сигналов(DSP). SoC, содержащий несколько процессоров, называют многопроцессорной системой на кристалле(MPSoC).
  • банк памяти, состоящий из модулей ПЗУ, ОЗУ, ППЗУ или флеш.
  • источники опорной частоты, например, кварцевые резонаторы и схемы ФАПЧ (фазовой автоподстройки частоты),
  • таймеры, счётчики, цепи задержки после включения,
  • блоки, реализующие стандартные интерфейсы для подключения внешних устройств: USB, FireWire,Ethernet, USART, SPI.
  • блоки цифро-аналоговых и аналого-цифровых преобразователей.
  • регуляторы напряжения и стабилизаторы питания.
СнК, построенная на микропроцессоре.

В программируемые SOC часто входят также блоки программируемых логических матриц — ПЛМ; а в прогреннаммируемые аналого-цифровые SOC — еще и программируемые аналоговые блоки. Блоки могут быть соединены с помощью шины собственной разработки или стандартной конструкции, например, AMBA[1] в чипах компании ARM. Если в составе чипа есть контроллер прямого доступа к памяти (ПДП), то с его помощью можно заносить данные с большой скоростью из внешних устройств напрямую в память чипа, минуя процессорное ядро.

Особенности проектирования СнК

В большинстве случаев СнК представляет собой цифровую СБИС, которая может также содержать ряд аналоговых блоков. Поэтому для проектирования СнК используются те же методы и средства, что и для СБИС. Эти средства реализованы в виде систем автоматизированного проектирования (САПР), поставляемых компаниями Cadance, Synopsis, Mentor Graphics и др. В качестве элементной базы эти САПР используют библиотеки функциональных элементов, в состав которых входят как простые логические вентили и триггеры, так и макроэлементы, выполняющие более сложные функции: регистры, счетчики, сумматоры, умножители, арифметико-логические устройства и т.д.

При разработке микроконтроллеров в 90-х гг. прошлого века широкое распространение получила концепция создания микроконтроллерных семейств, имеющих одинаковое процессорное ядро и различающихся набором периферийных устройств и объемом внутренней памяти. Для реализации этой концепции при проектировании СБИС микроконтроллеров кроме функциональных библиотек стали использоваться сложно-функциональные блоки (СФ-блоки) — процессоры, таймеры, АЦП, различные интерфейсные блоки (UART, SPI, CAN, Ethernet и т.д). Эти СФ-блоки формировали верхний уровень функциональных библиотек, используемых разработчиками и производителями микроконтроллеров. Они были достаточно жестко ориентированы на конкретную технологию компании-производителя, являясь внутрифирменной материальной ценностью.

Проблемы при повышении сложности

Повышение сложности проектируемых СБИС, жесткие требования к срокам их проектирования (сокращение времени выхода изделия на рынок) поставили перед разработчиками новые проблемы. В сложившихся условиях самостоятельное проектирование разработчиком СнК всех СФ-блоков, входящих в ее состав, не всегда целесообразно. Поэтому в последние годы широкое распространение получила практика разработки отдельных СФ-блоков для их последующего представления на рынок средств проектирования СнК. СФ-блоки, предназначенные для использования в разнообразных проектах, стали называть IP (Intellectual Property) модулями, тем самым подчеркивается, что эта продукция является предметом интеллектуальной собственности. СФ-блоки, используемые при проектировании СнК, имеют две основные формы представления:

  • в виде топологических фрагментов, которые могут быть непосредственно реализованы в физической структуре кристалла — аппаратно реализованные (hard) СФ-блоки;
  • в виде моделей на языке описания аппаратуры (Verilog, VHDL), которые средствами САПР могут быть преобразованы в топологические фрагменты для реализации на кристалле — синтезируемые (soft) СФ-блоки.

Таким образом, разработчик может либо непосредственно «вмонтировать» в структуру проектируемой СБИС топологически готовый СФ-блок, либо использовать имеющуюся модель СФ-блока и выполнить его схемотехническое и топологическое проектирование в составе реализуемой СБИС СнК.

Различные решения для разработки

В процессе проектирования СнК разработчик имеет возможность выбора следующих решений:

  • самостоятельная разработка необходимых СФ-блоков;
  • покупка СФ-блоков у ведущих разработчиков и производителей микросхем;
  • поиск и применение СФ-блоков, предоставляемых в открытом доступе (www.opensource и др. источники).

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

Возможности реализации систем на кристалле

Технологии реализации

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

Общая схема разработки СнК
  • Full custom
  • Standard cell
  • Field-programmable gate array (FPGA)

Проблемы связанные с первыми технологиями

Изготовление опытной партии специализированных СБИС (несколько тысяч образцов) по технологии 0,13 — 0,18 мкм стоит несколько сотен тысяч долларов, а по технологии 0,09 мкм — свыше миллиона долларов. При этом имеющийся опыт разработки СнК показывает, что только в 25% проектов первоначально полученные опытные образцы соответствуют заданным требованиям. В большинстве случаев для получения необходимого результата требуется несколько итераций, что значительно увеличивает стоимость проекта. Можно надеяться, что развитие средств САПР позволит снизить риски при выполнении таких проектов.

Преимущества реализации СнК на базе FPGA

Преимущества реализации СнК на базе FPGA:

  • малые затраты на разработку и создание опытных образцов;
  • возможность многократной коррекции проекта;
  • использование хорошо проверенных серийных изделий;
  • более простой процесс тестирования и отладки (возможность реализации и отладки «по частям»).

Таким образом, СнК на базе FPGA имеют практически те же достоинства, что и системы на плате, но отличаются лучшими техническими характеристиками — более низким энергопотреблением, меньшими габаритами и массой. При этом по таким параметрам как производительность и энергопотребление СнК на базе FPGA уступают СнК, реализованным в виде ASIC. Исходя из сказанного, можно сделать вывод, что СнК на базе FPGA будут конкурировать и постепенно вытеснять системы на плате. При этом вместо микропроцессоров и микроконтроллеров в этих СнК будут использоваться различные варианты процессорных СФ-блоков. СнК схемы обычно потребляют меньше энергии, имеют меньшую стоимость и большую надежность, чем много кристальные системы, которые они заменяют. С меньшим количеством кристаллов, стоимости сборки также снижаются. Однако у многих схем, общая стоимость больше у одного большого кристалла с той же функциональностью, нежели у нескольких маленьких схем.

Литература

  • Badawy, Wael; Jullien, Graham A., eds. (2003). System-on-Chip for Real-Time Applications. Kluwer international series in engineering and computer science, SECS 711. Boston: Kluwer Academic Publishers. ISBN 9781402072543. OCLC 50478525. 465 pages.
  • Furber, Stephen B. (2000). ARM system-on-chip architecture. Boston: Addison-Wesley. ISBN 0-201-67519-6.

См. также