Стало возможным разместить на одном кристалле целую электронную систему, включающую в себя микропроцессорное/микроконтроллерное ядро, массив программируемой логики и блок памяти. Такие системы называют программируемыми или конфигурируемыми устройствами типа система на кристалле (SoC, System-on-Chip).
Проектирование средств на SoС основывается на разработке и применении библиотек схемных решений. Библиотечные блоки могут быть представлены в следующих вариантах.
Soft-ядра или виртуальные компоненты. Это файлы, которые интегрируются в описание проектируемого устройства на языках HDL. На основе soft-ядер реализуются однородные структуры, в которых разные функциональные блоки реализуются идентичными программируемыми схемотехническими блоками.
Hard-ядра, представляющие собой реализованные на кристалле области с фиксированными функциями. На основе hard-ядер реализуются блочные структуры, имеющие жестко выделенные для определенных функций аппаратные ядра. SoС блочного типа включают в себя как программируемые, так и фиксированные области, в которых реализованы блоки с предопределенными функциями. Такими блоками являются микропроцессоры или микроконтроллеры, FPGA, память.
Так, ПЛИС APEX20K фирмы Altera (рис. 27.12) имеет однородную структуру и содержит в себе логические элементы всех перечисленных типов, что позволяет отнести эту ПЛИС к семейству SоC.
В основе идеи SоC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SоC-микросхемы выполняется на базе этих "виртуальных компонентов" с помощью программ систем автоматизации проектирования (САПР) электронных устройств – EDA (Electronic Design Automation). Благодаря стандартизации в одно целое, можно объединять "виртуальные компоненты" от разных разработчиков.
SoC блочного типа используют в качестве процессорных ядер преимущественно 8- и 32-разрядные ядра. В качестве процессора первого типа наиболее часто используют восьмиразрядный микропроцессор 8051 фирмы INTEL, второго – процессор ARM7. В состав микросхемы A7 компании Triscend входят ядро ARM7TDMI с дополнительным четырехпортовым ассоциативным кэшем объемом 8 Кбайт и сверхоперативной SRAM-памятью объемом 16 Кбайт и целый ряд периферийных узлов с жесткой логикой, необходимых для большинства управляющих приложений. Программируемые периферийные узлы, реализованные в виде матрицы конфигурируемой системной логики (CSL), подключаются к адресным и управляющим сигнальным линиям посредством селекторных блоков (рис.27.13).