stringtranslate.com

Система на чипе

Система Apple M1 на чипе
Система на чипе Broadcom в Raspberry Pi

Система на кристалле или система-на-кристалле ( SoC / ˌ ˈ ɛ s s / ; мн. SoCs / ˌ ˈ ɛ s s z / ) — это интегральная схема , объединяющая большинство или все компоненты компьютера . или другая электронная система . Эти компоненты почти всегда включают в себя встроенный центральный процессор (ЦП), интерфейсы памяти , устройства и интерфейсы ввода-вывода , а также интерфейсы вторичного хранения данных , часто наряду с другими компонентами, такими как радиомодемы и графический процессор (ГП) – и все это на одном компьютере. одна подложка или микрочип. [1] SoC могут содержать цифровые , а также аналоговые , смешанные и часто радиочастотные функции обработки сигналов (в противном случае это можно рассматривать как дискретный прикладной процессор).

Более высокопроизводительные SoC часто сочетаются с выделенными и физически отдельными микросхемами памяти и вторичного хранилища (такими как LPDDR и eUFS или eMMC соответственно), которые могут быть наложены поверх SoC в так называемой конфигурации « пакет на пакете» (PoP). или располагаться рядом с SoC. Кроме того, SoC могут использовать отдельные беспроводные модемы . [2]

SoC объединяет микроконтроллер , микропроцессор или, возможно, несколько ядер процессора с периферийными устройствами, такими как графический процессор , Wi-Fi и радиомодемы сотовой сети , и/или один или несколько сопроцессоров . Подобно тому, как микроконтроллер объединяет микропроцессор с периферийными схемами и памятью, SoC можно рассматривать как интеграцию микроконтроллера с еще более совершенными периферийными устройствами . Обзор интеграции компонентов системы см. в разделе «Системная интеграция» .

По сравнению с многочиповой архитектурой SoC с эквивалентной функциональностью будет иметь меньшее энергопотребление , а также меньшую площадь полупроводникового кристалла . Это происходит за счет снижения возможности замены компонентов. По определению конструкции SoC полностью или почти полностью интегрированы в различные компонентные модули . По этим причинам наблюдается общая тенденция к более тесной интеграции компонентов в индустрии компьютерного оборудования , отчасти из-за влияния SoC и уроков, извлеченных из рынков мобильных и встраиваемых компьютеров.

SoC очень распространены на рынках мобильных вычислений (например, интеллектуальных устройств , таких как смартфоны и планшетные компьютеры ) и периферийных вычислений . [3] [4]

Типы

Система на базе микроконтроллера на кристалле

В общем, существует три различных типа SoC:

Приложения

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

Встроенные системы

Если раньше можно было использовать только микроконтроллеры, то SoC становятся все более популярными на рынке встраиваемых систем. Более тесная интеграция системы обеспечивает более высокую надежность и среднее время безотказной работы , а SoC предлагают более расширенные функциональные возможности и вычислительную мощность, чем микроконтроллеры. [5] Приложения включают ускорение искусственного интеллекта , встроенное машинное зрение , [6] сбор данных , телеметрию , векторную обработку и окружающий интеллект . Часто встроенные SoC ориентированы на рынки Интернета вещей , мультимедиа, сетей, телекоммуникаций и периферийных вычислений .

Мобильные вычисления

Система на чипе AMD Élan SC450 в коммуникаторе Nokia 9000

SoC на базе мобильных компьютеров всегда объединяют процессоры, память, встроенную кэш- память , возможности беспроводной сети , а также зачастую аппаратное обеспечение и встроенное ПО цифровых камер . С увеличением размеров памяти высокопроизводительные SoC часто не будут иметь памяти и флэш-памяти, и вместо этого память и флэш-память будут размещаться рядом или над SoC ( пакет в пакете ). [7] Некоторые примеры SoC для мобильных компьютеров включают в себя:

Персональные компьютеры

В 1992 году компания Acorn Computers выпустила линейку персональных компьютеров A3010, A3020 и A4000 с SoC ARM250. Он сочетал в себе оригинальный процессор Acorn ARM2 с контроллером памяти (MEMC), видеоконтроллером (VIDC) и контроллером ввода-вывода (IOC). В предыдущих компьютерах на базе Acorn ARM это были четыре дискретных чипа. Чип ARM7500 представлял собой их SoC второго поколения, основанный на контроллерах ARM700, VIDC20 и IOMD, и широко лицензировался во встроенных устройствах, таких как телеприставки, а также в более поздних персональных компьютерах Acorn.

Производители планшетов и ноутбуков извлекли уроки из опыта встраиваемых систем и рынков смартфонов в отношении снижения энергопотребления, повышения производительности и надежности за счет более тесной интеграции аппаратных и встроенных модулей , а также LTE и других беспроводных сетевых коммуникаций, интегрированных на кристалле (интегрированные контроллеры сетевых интерфейсов ). [10]

Состав

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

Функциональные компоненты

Ядра процессора

SoC должен иметь хотя бы одно процессорное ядро , но обычно SoC имеет более одного ядра. Ядра процессора могут представлять собой ядро ​​микроконтроллера , микропроцессора (μP), [11] процессора цифровых сигналов (DSP) или процессора набора команд для конкретного приложения (ASIP). [12] ASIP имеют наборы инструкций , которые настроены для предметной области приложения и разработаны так, чтобы быть более эффективными, чем инструкции общего назначения, для определенного типа рабочей нагрузки. Многопроцессорные SoC по определению имеют более одного процессорного ядра. Архитектура ARM является распространенным выбором для процессорных ядер SoC, поскольку некоторые ядра архитектуры ARM представляют собой программные процессоры, определенные как IP-ядра . [11]

Память

SoC должны иметь полупроводниковые блоки памяти для выполнения своих вычислений, как и микроконтроллеры и другие встроенные системы . В зависимости от приложения память SoC может образовывать иерархию памяти и иерархию кэша . На рынке мобильных компьютеров это распространено, но во многих маломощных встраиваемых микроконтроллерах в этом нет необходимости. Технологии памяти для SoC включают постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), электрически стираемое программируемое ПЗУ ( EEPROM ) и флэш-память . [11] Как и в других компьютерных системах, ОЗУ можно разделить на относительно более быстрое, но более дорогое статическое ОЗУ (SRAM) и более медленное, но дешевое динамическое ОЗУ (DRAM). Когда SoC имеет иерархию кэша , SRAM обычно используется для реализации регистров процессора и встроенных кэшей ядер, тогда как DRAM будет использоваться для основной памяти . «Основная память» может относиться к одному процессору (который может быть многоядерным ), когда SoC имеет несколько процессоров , в этом случае это распределенная память , и она должна быть отправлена ​​через § межмодульную связь внутри кристалла, чтобы к ней мог получить доступ другой процессор. [12] Для дальнейшего обсуждения проблем с памятью при многопроцессорной обработке см. раздел «Когерентность кэша и задержка памяти» .

Интерфейсы

SoC включают внешние интерфейсы , обычно для протоколов связи . Они часто основаны на таких отраслевых стандартах, как USB , FireWire , Ethernet , USART , SPI , HDMI , I²C , CSI и т. д. Эти интерфейсы будут различаться в зависимости от предполагаемого применения. Также могут поддерживаться протоколы беспроводных сетей , такие как Wi-Fi , Bluetooth , 6LoWPAN и связь ближнего радиуса действия .

При необходимости SoC включают в себя аналоговые интерфейсы, включая аналого-цифровые и цифро-аналоговые преобразователи , часто для обработки сигналов . Они могут иметь возможность взаимодействовать с различными типами датчиков или исполнительных механизмов , включая интеллектуальные преобразователи . Они могут взаимодействовать с модулями или экранами, предназначенными для конкретного приложения . [nb 1] Или они могут быть внутренними по отношению к SoC, например, если в SoC встроен аналоговый датчик, и его показания необходимо преобразовать в цифровые сигналы для математической обработки.

Цифровые сигнальные процессоры

Ядра цифрового сигнального процессора (DSP) часто включаются в SoC. Они выполняют операции обработки сигналов в SoC для датчиков , исполнительных механизмов , сбора данных , анализа данных и обработки мультимедиа. Ядра DSP обычно имеют архитектуру набора команд с очень длинным командным словом (VLIW) и набором инструкций с одной командой и несколькими данными (SIMD) , и поэтому хорошо подходят для использования параллелизма на уровне команд посредством параллельной обработки и суперскалярного выполнения . [12] : 4  ядра SP чаще всего содержат инструкции для конкретного приложения и, как правило, представляют собой процессоры с набором команд для конкретного приложения (ASIP). Такие инструкции, специфичные для приложения, соответствуют выделенным аппаратным функциональным блокам , которые вычисляют эти инструкции.

Типичные инструкции DSP включают в себя умножение-накопление , быстрое преобразование Фурье , объединенное умножение-сложение и свертки .

Другой

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

Периферийные устройства SoC , включая счетчики -таймеры, таймеры реального времени и генераторы сброса при включении питания . SoC также включают в себя стабилизаторы напряжения и схемы управления питанием .

Межмодульная связь

SoC состоят из множества исполнительных блоков . Этим устройствам часто приходится отправлять данные и инструкции туда и обратно. По этой причине всем SoC, кроме самых тривиальных, требуются подсистемы связи . Первоначально, как и в случае с другими микрокомпьютерными технологиями, использовались архитектуры шин данных , но в последнее время конструкции, основанные на разреженных сетях связи , известные как сети на кристалле (NoC), приобрели известность и, по прогнозам, в ближайшем будущем обгонят архитектуры шин для проектирования SoC. . [13]

Связь на основе шины

Исторически сложилось так, что общая глобальная компьютерная шина обычно соединяла различные компоненты, также называемые «блоками» SoC. [13] Очень распространенной шиной для связи SoC является бесплатный стандарт Advanced Microcontroller Bus Architecture ( AMBA ) от ARM.

Контроллеры прямого доступа к памяти направляют данные непосредственно между внешними интерфейсами и памятью SoC, минуя ЦП или блок управления , тем самым увеличивая пропускную способность данных SoC. Это похоже на драйверы некоторых периферийных устройств в архитектурах ПК с многочиповыми модулями на основе компонентов .

Задержка по проводу не масштабируется из-за продолжающейся миниатюризации , производительность системы не масштабируется в зависимости от количества подключенных ядер, рабочая частота SoC должна уменьшаться с каждым дополнительным присоединенным ядром, чтобы питание было устойчивым, а длинные провода потребляют большое количество электроэнергии. Эти проблемы не позволяют поддерживать множество ядерных систем на кристалле. [13] : xiii 

Сеть на чипе

В конце 2010-х годов возникла тенденция реализации SoC подсистем связи с использованием сетевой топологии вместо протоколов на основе шины . Тенденция к увеличению количества процессорных ядер в SoC привела к тому, что эффективность внутрикристальной связи стала одним из ключевых факторов, определяющих общую производительность и стоимость системы. [13] : xiii  Это привело к появлению межсетевых соединений с коммутацией пакетов на основе маршрутизаторов , известных как « сети на кристалле » (NoC), для преодоления узких мест сетей на базе шин. [13] : xiii 

Сети на кристалле имеют преимущества, включая маршрутизацию для конкретных пунктов назначения и приложений , более высокую энергоэффективность и снижение вероятности конфликтов на шине . Архитектуры «сеть-на-кристалле» черпают вдохновение из таких протоколов связи , как TCP , и набора протоколов Интернета для внутрикристальной связи [13] , хотя обычно они имеют меньше сетевых уровней . Оптимальные сетевые архитектуры «сеть на кристалле» представляют собой постоянную область большого исследовательского интереса. Архитектуры NoC варьируются от традиционных топологий распределенных вычислительных сетей , таких как тор , гиперкуб , сетки и древовидные сети, до планирования генетических алгоритмов и рандомизированных алгоритмов , таких как случайные блуждания с ветвлением и рандомизированным временем жизни (TTL).

Многие исследователи SoC считают, что архитектуры NoC — это будущее проектирования SoC, поскольку было доказано, что они эффективно удовлетворяют потребности в мощности и пропускной способности конструкций SoC. Текущие архитектуры NoC являются двумерными. Проектирование 2D-ИС имеет ограниченный выбор планировки , поскольку количество ядер в SoC увеличивается, поэтому с появлением трехмерных интегральных схем (3DIC) разработчики SoC стремятся создавать трехмерные внутрикристальные сети, известные как 3DNoC. [13]

Процесс проектирования

Процесс проектирования SoC

Система на кристалле состоит как из аппаратного обеспечения , описанного в § Структура, так и из программного обеспечения, управляющего ядрами микроконтроллера, микропроцессора или процессора цифровых сигналов, периферийными устройствами и интерфейсами. Процесс проектирования SoC направлен на одновременную разработку этого аппаратного и программного обеспечения, что также известно как совместное архитектурное проектирование. Процесс проектирования также должен учитывать оптимизации (§ Цели оптимизации) и ограничения.

Большинство SoC разрабатываются на основе предварительно проверенных спецификаций IP-ядра аппаратных компонентов для аппаратных элементов и исполнительных блоков , совместно «блоков», описанных выше, вместе с программными драйверами устройств , которые могут контролировать их работу. Особое значение имеют стеки протоколов , которые управляют стандартными интерфейсами, такими как USB . Аппаратные блоки собираются с использованием средств компьютерного проектирования , в частности средств автоматизации электронного проектирования ; Программные модули интегрируются с использованием интегрированной среды разработки программного обеспечения .

Компоненты SoC также часто разрабатываются на языках программирования высокого уровня , таких как C++ , MATLAB или SystemC , и преобразуются в проекты RTL с помощью инструментов высокоуровневого синтеза (HLS), таких как C в HDL или поток в HDL . [14] Продукты HLS, называемые «алгоритмическим синтезом», позволяют разработчикам использовать C++ для моделирования и синтеза систем, схем, программного обеспечения и уровней проверки на одном языке высокого уровня, обычно известном компьютерным инженерам, независимо от временных масштабов, которые обычно указываются. в ЛПВП. [15] Другие компоненты могут оставаться программным обеспечением и компилироваться и встраиваться в процессоры с программным ядром, включенные в SoC, в качестве модулей HDL в качестве IP-ядер .

После определения архитектуры SoC любые новые аппаратные элементы записываются на абстрактном языке описания оборудования , называемом уровнем передачи регистров (RTL), который определяет поведение схемы, или синтезируются в RTL из языка высокого уровня посредством высокоуровневого синтеза. Эти элементы соединяются вместе на языке описания аппаратного обеспечения для создания полной конструкции SoC. Логика, предназначенная для соединения этих компонентов и преобразования между различными интерфейсами, предоставляемыми разными поставщиками, называется связующей логикой .

Проверка проекта

Чипы проверяются на корректность перед отправкой на завод по производству полупроводников . Этот процесс называется функциональной проверкой , и на него приходится значительная часть времени и энергии, затрачиваемых в жизненном цикле проектирования микросхемы , часто называемая 70%. [16] [17] С ростом сложности чипов используются языки проверки оборудования , такие как SystemVerilog , SystemC , e и OpenVera . Об ошибках , обнаруженных на этапе проверки, сообщается проектировщику.

Традиционно инженеры использовали ускорение моделирования, эмуляцию или создание прототипов на перепрограммируемом оборудовании для проверки и отладки аппаратного и программного обеспечения для проектов SoC перед завершением проекта, что называется « лентой» . Программируемые пользователем вентильные матрицы (FPGA) предпочтительны для прототипирования SoC, поскольку прототипы FPGA перепрограммируются, допускают отладку и более гибки, чем интегральные схемы для конкретных приложений (ASIC). [18] [19]

Благодаря высокой производительности и быстрому времени компиляции ускорение моделирования и эмуляция представляют собой мощные технологии, обеспечивающие широкий обзор систем. Однако обе технологии работают медленно, порядка МГц, что может быть значительно медленнее (до 100 раз медленнее), чем рабочая частота SoC. Блоки ускорения и эмуляции также очень большие и дорогие, их стоимость превышает 1 миллион долларов США. [ нужна цитата ]

Прототипы FPGA, напротив, используют FPGA напрямую, чтобы дать инженерам возможность проверять и тестировать на полной рабочей частоте системы или близко к ней с реальными стимулами. Такие инструменты, как Certus [20], используются для вставки зондов в RTL FPGA, которые делают сигналы доступными для наблюдения. Он используется для отладки взаимодействия аппаратного, встроенного и программного обеспечения между несколькими FPGA с возможностями, аналогичными логическому анализатору.

Параллельно аппаратные элементы группируются и проходят процесс логического синтеза , в ходе которого применяются ограничения производительности, такие как рабочая частота и ожидаемые задержки сигнала. В результате генерируется вывод, известный как список соединений , описывающий конструкцию как физическую схему и ее соединения. Эти списки соединений объединяются с связующей логикой, соединяющей компоненты, для создания схематического описания SoC как схемы, которую можно напечатать на чипе. Этот процесс известен как размещение и маршрутизация и предшествует записи на ленту в том случае, если SoC производятся как интегральные схемы специального назначения (ASIC).

Цели оптимизации

SoC должны оптимизировать энергопотребление , площадь кристалла , связь, расположение между модульными блоками и другие факторы. Оптимизация обязательно является целью разработки SoC. Если бы в оптимизации не было необходимости, инженеры использовали бы многочиповую модульную архитектуру без учета использования площади, энергопотребления или производительности системы в той же степени.

Ниже приведены общие цели оптимизации для конструкций SoC с пояснениями для каждой из них. В общем, оптимизация любой из этих величин может быть сложной задачей комбинаторной оптимизации и действительно может быть довольно легко NP-трудной . Поэтому часто требуются сложные алгоритмы оптимизации , и в некоторых случаях может оказаться целесообразным использовать аппроксимационные алгоритмы или эвристики . Кроме того, большинство проектов SoC содержат несколько переменных для одновременной оптимизации , поэтому при проектировании SoC требуются эффективные по Парето решения. Часто цели оптимизации некоторых из этих величин прямо противоречат друг другу, что еще больше усложняет оптимизацию конструкции SoC и приводит к компромиссам при проектировании системы.

Более широкий охват компромиссов и анализа требований см. в разделе «Инженерия требований» .

Цели

Потребляемая мощность

SoC оптимизированы для минимизации потребления электроэнергии, используемой для выполнения функций SoC. Большинство SoC должны использовать малое энергопотребление. Системы SoC часто требуют длительного времени автономной работы (например, смартфоны ), потенциально могут проводить месяцы или годы без источника питания, сохраняя при этом автономную работу, и часто ограничены в энергопотреблении из-за большого количества встроенных SoC, объединенных в сеть в определенной области. . Кроме того, затраты на электроэнергию могут быть высокими, и экономия энергии снизит общую стоимость владения SoC. Наконец, отходящее тепло из-за высокого энергопотребления может повредить другие компоненты схемы, если рассеивается слишком много тепла, что дает еще одну прагматическую причину для экономии энергии. Количество энергии, используемой в цепи, представляет собой интеграл потребляемой мощности по времени , а средний уровень энергопотребления представляет собой произведение тока на напряжение . Аналогичным образом, по закону Ома , мощность равна квадрату тока, умноженному на сопротивление, или квадрату напряжения, делённому на сопротивление :

портативные устройства,смартфоныустройства GPS-навигациичасыумные часынетбукимобильных вычислительныхмультимедийные приложенияпотоковое видеообработку изображенийвычислительная сложностькачества3D-видеовысоким разрешениеммножеством стандартов[12] : 3 

Производительность на ватт

SoC оптимизированы для максимизации энергоэффективности с точки зрения производительности на ватт: максимизируйте производительность SoC при заданном бюджете энергопотребления. Многие приложения, такие как периферийные вычисления , распределенная обработка и окружающий интеллект, требуют определенного уровня вычислительной производительности , но в большинстве сред SoC мощность ограничена.

Отходящее тепло

Конструкция SoC оптимизирована для минимизации отвода тепла на чипе. Как и в случае с другими интегральными схемами , тепло, выделяемое из-за высокой удельной мощности, является узким местом для дальнейшей миниатюризации компонентов. [21] : 1  Плотность мощности высокоскоростных интегральных схем, особенно микропроцессоров и в том числе SoC, стала крайне неравномерной. Слишком большое количество отходящего тепла может привести к повреждению цепей и со временем снизить ее надежность . Высокие температуры и термические нагрузки отрицательно влияют на надежность, миграцию напряжений , уменьшение среднего времени наработки на отказ , электромиграцию , соединение проводов , метастабильность и другое снижение производительности SoC с течением времени. [21] : 2–9 

В частности, большинство SoC занимают небольшую физическую площадь или объем, и поэтому воздействие отходящего тепла усугубляется, поскольку для его рассеивания из системы мало места. Из-за большого количества транзисторов в современных устройствах зачастую компоновку с достаточной пропускной способностью и высокой плотностью транзисторов физически можно реализовать в процессе изготовления , но это приведет к неприемлемо большому количеству тепла в объеме схемы. [21] : 1 

Эти тепловые эффекты вынуждают SoC и других разработчиков чипов применять консервативные подходы к проектированию , создавая менее производительные устройства для снижения риска катастрофического отказа . Из-за увеличения плотности транзисторов по мере уменьшения размеров каждое поколение процессов производит больше тепла, чем предыдущее. Эту проблему усугубляет то, что архитектуры SoC обычно неоднородны, создавая пространственно неоднородные тепловые потоки , которые невозможно эффективно уменьшить с помощью равномерного пассивного охлаждения . [21] : 1 

Пропускная способность

SoC оптимизированы для максимизации вычислительной и коммуникационной пропускной способности .

Задержка

SoC оптимизированы для минимизации задержки при выполнении некоторых или всех функций. Этого можно достичь путем размещения элементов с надлежащей близостью и расположением друг к другу, чтобы минимизировать задержки межсоединений и максимизировать скорость, с которой данные передаются между модулями, функциональными блоками и памятью. В общем, оптимизация для минимизации задержки — это NP-полная задача, эквивалентная булевой проблеме выполнимости .

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

Методологии

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

Планирование задач

Планирование задач — важная деятельность в любой компьютерной системе с несколькими процессами или потоками , совместно использующими одно ядро ​​процессора. Важно уменьшить § задержку и увеличить § пропускную способность встроенного программного обеспечения , работающего на § процессорных ядрах SoC. Не все важные вычислительные действия в SoC выполняются программным обеспечением, работающим на встроенных процессорах, но планирование может значительно повысить производительность программных задач и других задач, связанных с общими ресурсами .

Программное обеспечение, работающее на SoC, часто планирует задачи в соответствии с алгоритмами сетевого планирования и рандомизированного планирования .

Конвейерная обработка

Аппаратные и программные задачи часто конвейеризируются при проектировании процессора . Конвейерная обработка является важным принципом ускорения компьютерной архитектуры . Они часто используются в графических процессорах ( графический конвейер ) и RISC-процессорах (развитие классического RISC-конвейера ), но также применяются для задач, специфичных для приложений, таких как цифровая обработка сигналов и манипуляции с мультимедиа в контексте SoC. [12]

Вероятностное моделирование

SoC часто анализируются с помощью вероятностных моделей , сетей массового обслуживания и цепей Маркова . Например, закон Литтла позволяет моделировать состояния SoC и буферы NoC как процессы поступления и анализировать их с помощью случайных величин Пуассона и процессов Пуассона .

Цепи Маркова

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

Изготовление

Чипы SoC обычно изготавливаются с использованием технологии металл-оксид-полупроводник (МОП). [22] Описанные выше списки соединений используются в качестве основы для физического проектирования ( места и маршрута ) для преобразования замысла проектировщиков в проект SoC. На протяжении всего процесса преобразования конструкция анализируется с помощью статического временного моделирования, симуляции и других инструментов, чтобы гарантировать, что она соответствует заданным эксплуатационным параметрам, таким как частота, потребляемая и рассеиваемая мощность, функциональная целостность (как описано в коде уровня передачи регистров) и электрические характеристики. честность.

После того, как все известные ошибки исправлены и повторно проверены, а также выполнены все проверки физического дизайна, файлы физического дизайна, описывающие каждый слой чипа, отправляются в мастерскую литейного завода, где будет вытравлен полный набор стеклянных литографических масок. . Их отправляют на завод по производству пластин для изготовления кристаллов SoC перед упаковкой и тестированием.

SoC могут быть изготовлены с использованием нескольких технологий, в том числе:

ASIC потребляют меньше энергии и работают быстрее, чем FPGA, но их нельзя перепрограммировать, и их производство обходится дороже. Конструкции FPGA больше подходят для проектов меньшего объема, но после выпуска достаточного количества единиц продукции ASIC снижают общую стоимость владения. [23]

Конструкции SoC потребляют меньше энергии, имеют более низкую стоимость и более высокую надежность, чем многокристальные системы, которые они заменяют. За счет меньшего количества пакетов в системе также снижаются затраты на сборку.

Однако, как и в большинстве проектов сверхкрупной интеграции (СБИС), общая стоимость [ необходимы пояснения ] выше для одного большого чипа, чем для той же функциональности, распределенной по нескольким меньшим чипам, из-за более низкой доходности [ необходимы пояснения ] и более высокого уровня неэффективности . - периодические инженерные затраты.

Когда невозможно создать SoC для конкретного приложения, альтернативой является система в корпусе (SiP), содержащая несколько микросхем в одном корпусе . При производстве в больших объемах SoC более рентабелен, чем SiP, поскольку его упаковка проще. [24] Другая причина, по которой SiP может быть предпочтительнее, заключается в том, что отходящее тепло в SoC может быть слишком высоким для конкретной цели, поскольку функциональные компоненты расположены слишком близко друг к другу, а в SiP тепло будет лучше рассеиваться от различных функциональных модулей, поскольку они физически находятся дальше друг от друга.

Примеры

Некоторые примеры систем на чипе:

Тесты

Исследования и разработки SoC часто сравнивают множество вариантов. Для помощи в таких оценках разрабатываются тесты, такие как COSMIC [25] .

Смотрите также

Примечания

  1. ^ Во встраиваемых системах «шилды» аналогичны картам расширения для ПК . Они часто устанавливаются поверх микроконтроллера , такого как Arduino , или одноплатного компьютера, такого как Raspberry Pi , и функционируют как периферийные устройства для устройства.

Рекомендации

  1. Шах, Агам (3 января 2017 г.). «7 потрясающих улучшений смартфона с чипом Qualcomm Snapdragon 835». Сетевой мир .
  2. ^ Амадео, Р. (18 февраля 2020 г.). «Qualcomm Snapdragon X60 обещает меньшие модемы 5G в 2021 году». Арс Техника . Конде Наст . Проверено 17 декабря 2023 г.
  3. ^ Пит Беннетт, EE Times . «Почему, где и что из конструкции SoC с низким энергопотреблением». 2 декабря 2004 г. Проверено 28 июля 2015 г.
  4. ^ Нолан, Стивен М. «Управление питанием для разработки системы Интернета вещей (IoT) на кристалле (SoC)». Проектирование и повторное использование . Проверено 25 сентября 2018 г.
  5. ^ «Подходит ли однокристальный процессор SOC для вашего встраиваемого проекта?». Встроенный . Проверено 13 октября 2018 г.
  6. ^ «Qualcomm запускает SoC для встроенного машинного зрения | Визуализация и машинное зрение в Европе» . www.imveurope.com . Проверено 13 октября 2018 г.
  7. ^ «Разбор Samsung Galaxy S10 и S10e» . я чиню это . 6 марта 2019 г.
  8. ^ «ARM преследует Intel с новой дорожной картой чипов до 2020 года» . Центр Windows . Проверено 6 октября 2018 г.
  9. ^ «Компьютеры, всегда подключенные к сети, ноутбуки 4G LTE с увеличенным сроком службы батареи | Windows» . www.microsoft.com . Проверено 6 октября 2018 г.
  10. ^ «Гигабитные модемы класса LTE, 4G LTE и 5G | Qualcomm» . Квалкомм . Проверено 13 октября 2018 г.
  11. ^ abc Фербер, Стивен Б. (2000). Архитектура системы на кристалле ARM . Харлоу, Англия: Аддисон-Уэсли. ISBN 0-201-67519-6. ОСЛК  44267964.
  12. ^ abcde Харис Джавайд; Шри Парамешваран (2014). Конвейерная многопроцессорная система на кристалле для мультимедиа . Спрингер . ISBN 978-3-319-01113-4. ОСЛК  869378184.
  13. ^ abcdefg Кунду, Сантану; Чаттопадхьяй, Сантану (2014). Сеть на кристалле: следующее поколение интеграции системы на кристалле (1-е изд.). Бока-Ратон, Флорида: CRC Press. ISBN 978-1-4665-6527-2. ОСЛК  895661009.
  14. ^ «Лучшие практики для прототипирования FPGA алгоритмов MATLAB и Simulink». Электронный журнал . 25 августа 2011 года . Проверено 8 октября 2018 г.
  15. Бойер, Брайан (5 февраля 2005 г.). «Почему» и «что» алгоритмического синтеза». ЭЭ Таймс . Проверено 8 октября 2018 г.
  16. ^ ЭЭ Таймс . «Действительно ли проверка составляет 70 процентов?» 14 июня 2004 г. Проверено 28 июля 2015 г.
  17. ^ «Разница между проверкой и проверкой» . Класс тестирования программного обеспечения . 26 августа 2013 года . Проверено 30 апреля 2018 г. На собеседованиях большинство интервьюеров задают вопросы на тему «В чем разница между проверкой и проверкой?» Многие люди используют верификацию и валидацию как взаимозаменяемые понятия, но оба имеют разные значения.
  18. Риттман, Дэнни (5 января 2006 г.). «Нанометровое прототипирование» (PDF) . Тайден Дизайн . Проверено 7 октября 2018 г.
  19. ^ «Прототипирование FPGA для структурированного производства ASIC для снижения затрат, рисков и TTM» . Проектирование и повторное использование . Проверено 7 октября 2018 г.
  20. ^ Брайан Бэйли, EE Times. «Tektronix надеется встряхнуть прототипирование ASIC». 30 октября 2012 г. Проверено 28 июля 2015 г.
  21. ^ abcd Огренци-Мемик, Седа (2015). Управление теплом в интегральных схемах: мониторинг и охлаждение на уровне системы и на кристалле . Лондон, Великобритания: Институт инженерии и технологий. ISBN 978-1-84919-935-3. ОКЛК  934678500.
  22. ^ Лин, Юн-Лонг Стив (2007). Основные проблемы проектирования SOC: проектирование сложных систем на кристалле. Springer Science & Business Media . п. 176. ИСБН 978-1-4020-5352-8.
  23. ^ «FPGA против ASIC: различия между ними и какой из них использовать? - Справочный центр Numato Lab» . numato.com . 17 июля 2018 г. Проверено 17 октября 2018 г.
  24. ^ ЭЭ Таймс . «Большие дебаты: SOC против SIP». 21 марта 2005 г. Проверено 28 июля 2015 г.
  25. ^ "КОСМИЧЕСКИЙ". www.ece.ust.hk. ​Проверено 8 октября 2018 г.

дальнейшее чтение

Внешние ссылки