Общие понятия и определения

 

В любой современной микропроцессорной системе наряду со стандартными устройствами, такими, как процессор, память, интерфейсные схемы присутствуют и некоторые нестандартные части, специфичные для данной разработки. Это относится к схемам управления блоками, обеспечения их взаимодействия и др. Стандартные БИС/СБИС лидируют по уровню интеграции, т. к. высокая стоимость проектирования оптимизированных по плотности БИС/СБИС, достигающая сотен миллионов долларов, оказывается в данном случае приемлемой, поскольку раскладывается на большое число производимых микросхем.

Реализация нестандартной части системы исторически была связана с применением микросхем малого (МИС) и среднего (СИС) уровней интеграции. Применение МИС и СИС сопровождается резким ростом числа корпусов ИС на платах, усложнением монтажа, снижением надежности системы и ее быстродействия. В то же время заказать для системы специализированные ИС высокого уровня интеграции затруднительно, т. к. это связано с очень большими затратами средств и времени на их проектирование.

Возникшее противоречие нашло разрешение на путях разработки БИС/СБИС с программируемой и репрограммируемой структурами, получившими обобщенное название программируемые логические интегральные схемы.

ПЛИС – удобные в освоении и применении элементы, альтернативы которым зачастую не найти. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной емкостью более 1 млн. логических вентилей. Цены на ПЛИС неуклонно падают. Еще несколько лет назад ПЛИС емкостью 100 000 вентилей стоила от 1500 до 3000 долларов, а сейчас такая микросхема стоит от 100 до 350 долларов, то есть цены упали практически на порядок, и эта тенденция устойчива. В продаже появились ПЛИС емкостью 10000…30000 логических вентилей стоимостью менее 10 долларов.

Приведем классификацию ПЛИС по структурному признаку, так как она дает наиболее полное представление о классе задач, пригодных для решения на той или иной ПЛИС. Следует заметить, что общепринятой оценкой логической емкости ПЛИС является число эквивалентных вентилей, определяемое как среднее число вентилей "2И-НЕ", необходимых для реализации эквивалентного проекта на ПЛИС и базовом матричном кристалле (БМК). Понятно, что эта оценка весьма условна, поскольку ПЛИС не содержат вентилей "2И-НЕ" в чистом виде, однако для проведения сравнительного анализа различных архитектур она вполне пригодна. Основным критерием такой классификации является наличие, вид и способы коммутации элементов логических матриц. По этому признаку можно выделить несколько классов ПЛИС.

1. Программируемые логические матрицы ПЛМ (PLA, Programmable Logic Array) – ПЛИС, имеющие программируемые матрицы И и ИЛИ. Примерами таких ПЛИС могут служить отечественные схемы K556PT1,PT2,PT21. Недостаток такой архитектуры – слабое использование ресурсов программируемой матрицы "ИЛИ".

2. Программируемая матричная логика ПМЛ (PAL) – это ПЛИС, имеющие программируемую матрицу "И" и фиксированную матрицу "ИЛИ". К этому классу относятся большинство современных ПЛИС небольшой степени интеграции. В качестве примеров можно привести отечественные ИС КМ1556ХП4, ХП6, ХП8, ХЛ8, ранние разработки ПЛИС фирм INTEL, ALTERA, AMD и др.

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

3. Базовые матричные кристаллы БМК, второе название которых – вентильные матрицы ВМ (GA, Gate Array), представляют собой набор несоединенных логических элементов.

4. Программируемые вентильные матрицы ПВМ (FPGA, Field Programmable Gate Array) состоят из логических блоков (ЛБ) и коммутирующих путей – программируемых матриц соединений. Логические блоки таких ПЛИС состоят из одного или нескольких относительно простых логических элементов, в основе которых лежит таблица перекодировки, программируемый мультиплексор, D-триггер, а также цепи управления. Таких простых элементов может быть достаточно много, например, у современных ПЛИС eмкостью до 1 млн. вентилей число логических элементов достигает нескольких десятков тысяч. За счeт такого большого числа логических элементов они содержат значительное число триггеров, а также некоторые семейства ПЛИС имеют встроенные реконфигурируемые модули памяти, что делает ПЛИС данной архитектуры весьма удобным средством реализации алгоритмов цифровой обработки сигналов, основными операциями в которых являются перемножение, умножение на константу, суммирование и задержка сигнала. Вместе с тем, возможности комбинационной части таких ПЛИС ограничены.

5. Программируемые коммутируемые матричные блоки ПКМБ (CPLD, Complex Programmable Logic Devices) содержат несколько матричных логических блоков (каждый из которых имеет структуру ПЛМ), объединенных коммутирующей матрицей. ПКМБ чаще применяют для реализации управляющих и интерфейсных схем

6. Программируемые аналоговые интегральные схемы ПАИС (FPAA, Functional Programmable Analog Array) – содержат комбинацию как цифровых, так и аналоговых элементов.

7. Система на кристалле SOРC (System On Programmable Chip), имеющая другое название – SoC (System-on-Chip). Дальнейшее развитие архитектур идeт по пути создания комбинированных архитектур, сочетающих удобство реализации алгоритмов ЦОС на базе таблиц перекодировок и реконфигурируемых модулей памяти, характерных для FPGA-структур и многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD-архитектурах. В основе идеи SOРC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOPC-микросхемы выполняется на базе этих "виртуальных компонентов" с помощью программ систем автоматизации проектирования (САПР) электронных устройств – EDA (Electronic Design Automation). Благодаря стандартизации в одно целое можно объединять "виртуальные компоненты" от разных разработчиков.

 

27.2. Программируемые логические матрицы (PLA)

Программируемые логические матрицы появились в середине 70-х годов. Основой их служит последовательность программируемых матриц элементов И и ИЛИ. В структуру входят также блоки входных и выходных буферных каскадов (БВХ и БВЫХ).

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

Выходные буферы обеспечивают необходимую нагрузочную способность выходов, разрешают или запрещают выход ПЛМ на внешние шины с помощью сигнала ОЕ, а иногда выполняют и более сложные действия.

Основными параметрами ПЛМ (рис. 27.1) являются число входов m, число термов l и число выходов n.

 

Рис. 27.1. Базовая структура ПЛМ

Переменные x1…xm подаются через БВX на входы элементов И (конъюнкторов), и в матрице И образуются l термов t.

Под термом здесь понимается конъюнкция, связывающая входные переменные, представленные в прямой или инверсной форме. Число формируемых термов равно числу конъюнкторов или, что то же самое, числу выходов матрицы И. Термы подаются далее на входы матрицы ИЛИ, т. е. на входы дизъюнкторов, формирующих выходные функции. Число дизъюнкторов равно числу вырабатываемых функций n.

Таким образом, ПЛМ реализует дизъюнктивную нормальную форму (ДНФ) воспроизводимых функций (двухуровневую логику). ПЛМ способна реализовать систему n логических функций от m аргументов, содержащую не более l термов. Воспроизводимые функции являются комбинациями из любого числа термов, формируемых матрицей И. Какие именно термы будут выработаны и какие комбинации этих термов составят выходные функции, определяется программированием ПЛМ.

Выпускаются ПЛМ как на основе биполярной технологии, так и на МОП-транзисторах. В матрицах имеются системы горизонтальных и вертикальных связей в узлах, пересечения которых при программировании создаются или ликвидируются элементы связи.

На рис. 27.2, а в упрощенном виде (без буферных элементов) показана схемотехника биполярной ПЛМ К556РТ1 с программированием пережиганием перемычек. Показан фрагмент для воспроизведения системы функций размерностью 4, 7, 3: параметры микросхемы К556РТ1 обеспечивают размерность 16, 48, 8, что достаточно для ее использования при решении указанной системы.

 

 

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

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

Элементами связи в матрице ИЛИ служат транзисторы (рис. 27.2, в), включенные по схеме эмиттерного повторителя относительно линий термов и образующие схему ИЛИ относительно выхода (горизонтальной линии). На рис. 27.2, в показана выработка функции F1. Работа схемы ИЛИ, реализована в виде параллельного соединения эмиттерных повторителей.

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

 

Рис. 27.2. Схемотехника ПЛМ, реализованной в биполярной технологии(а), элементы связей в матрицах И (б) и ИЛИ (в)

 

Для подбора ПЛМ минимальной сложности, следует уменьшить по возможности число термов в рассматриваемой системе функций. Содержанием минимизации функций будет поиск кратчайших дизъюнктивных форм. Вести поиск минимальных по числу термов представлений задачи следует до уровня, когда число термов становится равным l – параметру обеспечиваемому ПЛМ. Дальнейшая минимизация не требуется. Если размерность имеющихся ПЛМ обеспечивает решение задачи в ее исходной форме, то минимизация не требуется вообще, т. к. не ведет к сокращению оборудования.

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

Н – переменная входит в терм в прямом виде, т. е. нужно оставить целой перемычку прямого входа и пережечь перемычку инверсного входа;

L – переменная входит в терм в инверсном виде, т. е. нужно сохранить перемычку у инверсного входа и пережечь у прямого;

«–» – переменная не входит в терм и не должна влиять на него, т. е, нужно пережечь перемычки обоих входов.

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

А – указывается в выходном столбце (столбце функции) и свидетельствует о связи данной схемы И с выходом ПЛМ через матрицу ИЛИ. Перемычка должна быть сохранена.

« • » – указывает на то, что данная схема И не подключается к выходу и должна иметь пережженную перемычку в матрице ИЛИ.

В принятой символике для программирования ПЛМ взятого ранее примера сведения будут заданы таблицей (таблица 27.1).

 

Таблица 27.1

Символика программирования ПЛМ

x1 x2 x3 x4 F1 F2 F3
L L H A A
H L A
H L A A
H L L A
H H H A
H L H A
H L A

 

Схемы ПЛМ достаточно громоздки, и поэтому изображать их желательно с максимально возможным упрощением. Используются изображения, в которых многовходовые элементы И, ИЛИ условно заменяются одновходовыми.

Единственная линия входа таких элементов пересекается с несколькими линиями входных переменных. Если пересечение отмечено точкой, данная переменная подается на вход изображаемого элемента, если точки нет, то переменная на элемент не подается. Пример многовходового конъюнктора с входами показан на рис. 27.3, а. Схема, изображенная на рис.27.2, в новом упрощенном изображении имеет вид, приведенный на рис. 27.3, б.

 

 

Рис. 27.3. Упрощенное изображение схемы многовходового логического элемента (а) и ПЛМ (б)

 

27.3. Программируемая матричная логика (PAL)

 

Программируемая матричная логика ПМЛ – это ПЛИС, имеющие программируемую матрицу "И" и фиксированную матрицу "ИЛИ". Фрагмент схемы ПМЛ приведен на рис.27.4, где на пересечении шин входных переменных xi и шин входных выводов И условно показано наличие всех перемычек ( • ). Программирование ПМЛ выполняется устранением лишних с точки зрения реализуемого алгоритма связей между указанным шинами.

 

 

Рис.27.4. Фрагмент схемы ПМЛ

 

По сравнению с ПЛМ эта схема имеет меньшую функциональную гибкость, так как матрица ИЛИ фиксирована, но их изготовление и использование проще.

В ПМЛ имеется ограничение на максимальное число конъюнкций в логических функциях, поскольку матрица ИЛИ фиксирована. Это приводит к необходимости минимизировать логическую функцию при ее реализации с использованием ПМЛ.

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

 

27.4. Базовые матричные кристаллы (GA)

Базовые матричные кристаллы (БМК) – альтернатива полностью заказным БИС и СБИС, проектирование и изготовление которых является достаточно дорогостоящим процессом и оправдано только при больших сериях. БМК явились тем средством, на основе которых при сравнительно низких затратах стало возможным выполнение специализированных устройств в виде БИС.

БМК – совокупность регулярно расположенных на полупроводниковых кристаллах топологических ячеек, между которыми оставлены свободные зоны для создания межсоединений. Такой кристалл является полуфабрикатом, который производится в массовых количествах без ориентации на конкретного потребителя. Чтобы на его основе было получено конкретное устройство, необходимо выполнить требуемые соединения элементов и ячеек. Выполнение соединений осуществляется на заключительных этапах изготовления, а проектирование устройства сводится к созданию рисунка межсоединений. Такие БИС/СБИС называют полузаказными. Процесс проектирования и изготовления такой микросхемы значительно дешевле, чем разработка и изготовление оригинальной БИС.

Недостатком БМК является неоптимальность результата проектирования, который проявляется в худшем использовании площади кристалла (часть элементов не используется) по сравнению со специализированными БИС и меньшем быстродействии.

В настоящее время с БМК применяются технологии КМОП, ТТЛШ, ЭСЛ. Уровень интеграции БМК достиг десятков миллионов вентилей на кристалле.

Внутренняя организация БМК представлена следующими элементами.

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

Функциональная ячейка (ФЯ) – функционально законченная схема, реализуемая путем соединения компонентов в пределах одной или нескольких БЯ.

Библиотека функциональных ячеек – совокупность ФЯ, используемых при проектировании. Эта библиотека содержит типовые подсхемы, предназначенные для решения стандартных задач. Библиотека содержит большое число функциональных элементов, узлов и их частей. Библиотеки избавляют проектировщика схем на БМК от рутинной работы создания стандартных подсистем. Работая с библиотекой, он ведет проектирование на функционально-логическом уровне, поскольку проблемы схемотехнического уровня уже решены при создании библиотеки.

Каналы трассировки – пути на БМК, позволяющие осуществлять межсоединения ячеек.

Канальные БМК (рис. 27.5, а) представляют собой матрицу ячеек, которые располагаются в центральной области кристалла и изолированы друг от друга. Области кристалла, не занятые ячейками, служат для выполнения соединений между ячейками – организаций каналов трассировки. У канальных БМК больше возможности по созданию связей, но низкая плотность упаковки из-за значительных затрат площади кристалле на области межсоединений. Эта структура использует биполярные транзисторы.

Бесканальные БМК (рис.27.5, б) представляют собой структуру, в которой вся внутренняя область заполнена ячейками. В этой структуре любая область может быть использована как для создания логической схемы, так и для создания межсоединений. Бесканальные БМК характерны для КМОП-схемотехники, в которой малая мощность рассеяния базовых ячеек позволяет добиваться высокой плотности упаковки. Бесканальные БМК реализуются в вариантах «море вентилей» и «море транзисторов». Первый содержит массив законченных логических элементов, второй – массив транзисторов.

 

 

Рис.27.5. Структуры БМК канального (а), бесканального (б) и блочного (в) типов: 1 – базовые ячейки: 2 – каналы трассировки

 

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

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

Основой БМК является кристалл полупроводника, на котором расположена матрица базовых ячеек, а по его краям – периферийные ячейки, содержащие элементы ввода/вывода сигналов, контактные площадки, выходные усилители и т.д. БМК выполняют многослойными (число слоев 2…6), что позволяет выполнять микросхемы более высокого уровня интеграции.

БМК, в зависимости от схемотехнической разновидности базовых ячеек, подразделяют на цифровые, аналоговые и аналого-цифровые. Аналоговые БМК позволяют реализовать операционные усилители, коммутаторы, фильтры и т.д. Они менее распространены по сравнению с цифровыми.

 

27.5. Программируемые вентильные матрицы (FPGA)

Программируемые вентильные матрицы (ПВМ, FPGA) явились развитием архитектуры канальных БМК. В их внутренней области расположено множество регулярно расположенных логических блоков (у БМК – базовые ячейки), между которыми проходят трассировочные каналы, а на периферии кристалла расположены ячейки другого типа – блоки ввода/вывода (у БМК – периферийные ячейки). Благодаря наличию программируемых матриц соединений FPGA относят уже не к полузаказным ИС, как БМК, а к полностью готовым, которые могут полностью программироваться пользователем.

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

В современных ПЛИС используются следующие типы ключей:

- перемычки типа antifuse (создаваемые в процессе программирования);

- ЛИЗМОП-транзисторы с плавающим затвором;

- ключевые МОП транзисторы, управляемые триггерами памяти конфигурации.

Первый тип ключей организован по принципу ПЗУ (ROM), второй – по принципу EEPROM или Flash. Информация о конфигурации системы не стирается при выключении питания.

Ключи третьего типа управляются триггерами. Подобно ОЗУ, они сохраняют заданную конфигурацию только при включенном питании и теряют ее после выключения. Каждый раз, включив питание, такую ПЛИС необходимо программировать заново. Программу обычно сохраняют в установленном на одной плате с ПЛИС загрузочном ПЗУ. Способ загрузки конфигурации задают логическими уровнями на управляющих входах. Процедура перезаписи выполняется автоматически, после чего ПЛИС переходит в обычный рабочий режим. В одном ПЗУ допускается сохранять информацию для нескольких ПЛИС.

Именно МОП ключи с управляющими триггерами сейчас доминируют, что обусловлено их технологической однородностью с другими частями ПЛИС.

Типичным примером FPGA ПЛИС могут служить микросхемы семейства Spartan фирмы XILINX.

Центральную часть кристалла занимает матрица конфигурируемых логических блоков (CLB, Configurable Logic Blocks), объединенных с помощью матрицы каналов соединений(Routing Channels). Характерными для FPGA-архитектур являются элементы ввода/вывода (IOB, Input/Output Blocks), позволяющие реализовать двунаправленный ввод/вывод, третье состояние. По углам кристалла расположены вспомогательные блоки – внутренний генератор (OSC), схема инициализации (Start-Up) и т.д.

Средства коммутации, связанные с блоками ввода/вывода, сведены в так называемый VersaRing Routing Channel, окружающий внутреннюю область кристалла. Они связывают IOB с каналами трассировки. С помощью VersaRing можно перераспределять внешние контакты микросхемы относительно выводов, сформированных во внутренней области кристалла.

 

Рис.27.6. Структура FPGA

Особенностью современных ПЛИС является возможность тестирования узлов с помощью порта JTAG (B-SCAN). Порт JTAG полезен не только для программирования. Через него компьютер может получить информацию о логических уровнях на всех выводах ПЛИС и в контрольных точках внутри нее.

 

27.6. Программируемые коммутируемые матричные блоки (CPLD)

Программируемые коммутируемые матричные блоки (ПКМБ, CPLD) явились дальнейшим развитием ПМЛ. CPLD состоят из программируемой матрицы соединений (ПМС), логических блоков (ЛБ), имеющих архитектуру ПМЛ. Такие логические блоки содержат макроячейки, каждая из которых включает программируемые матрицы логических элементов И, фиксированных матриц ИЛИ и других элементов. На периферии кристалла расположены блоки ввода/вывода (БВВ), осуществляющие прием и передачу сигналов между кристаллом микросхемы и контактными площадками. Фрагмент структуры CPLD приведен на рис. 27.7.

CPLD представляет собой объединение нескольких ПМЛ в единое устройство средствами программируемой коммутационной матрицы. Контроллеры интерфейсов JTAG и ISP предназначены для конфигурирования и тестирования создаваемых структур.

Система коммутации CPLD отличается от системы коммутации FPGA. Она является не сегментированной, а непрерывной системой связей и обеспечивает возможность коммутации логических блоков друг с другом, подачи на требуемые входы логических блоков сигналов от различных источников: сигналов обратной связи, входных и выходных сигналов и т.д.

 

 

Рис.27.7. Фрагмент структуры CPLD

 

Вся коммутация сигналов внутри кристалла осуществляется программируемой матрицей связи. Фрагмент программируемой матрицы связи представлен на рис.27.8.

 

 

Рис.27.8. Фрагмент схемы программируемой матрицы связи

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

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

Блоки ввода/вывода обеспечивают возможность гибкого управления выходными буферами и позволяют организовывать режимы работы с выхода с открытым коллектором и с тремя состояниями.

Конфигурация CPLD осуществляется чтением данных конфигурации, расположенных в памяти типа EEPROM или Flash. Эта память, как правило, расположена на самом кристалле CPLD. Содержимое памяти конфигурации обычно защищается битом секретности, сбросить который можно только при стирании всего содержимого памяти конфигурации.

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

Существуют ПЛИС типа FLEX, занимающие промежуточное положение между CPLD и FPGA. Их архитектура содержит элементы как одного, так и другого типа ПЛИС. FLEX содержат табличные логические модули на основе программируемых ПЗУ (LUT), а сами логические блоки располагаются в виде матрицы, при этом трассировочные каналы проходят горизонтально и вертикально между ЛБ. Эти признаки характерны для FPGA. В то же время межсоединения выполняются не на основе сегментов, коммутируемых с помощью программируемых ключей, а на основе программируемых матриц связи, что характерно для CPLD.

 

27.7. Программируемые аналоговые интегральные схемы (FPAA)

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

Схемы аналоговой обработки сигналов выполняются на дискретных компонентах – операционных усилителях, компараторах, мультиплексорах и т.п. При этом аналоговая часть схемы зачастую занимает большую часть площади печатной платы и требует сложной настройки. Решить проблему создания разнообразных аналоговых устройств, кардинально снизив стоимость и габариты, позволяет использование программируемых аналоговых интегральных схем ПАИС (FPAA).

Фирма Lattice Semiconductor разработала семейство FPAA микросхем ispPAC (In-System Programmable Analog Circuit). Структура ispPAC20 представлена на рис. 27.9.

 

 

Рис. 27.9. Структура FPAA ispPAC20

 

Заложенная в эту серию архитектура основывается на следующих базовых функциональных ячейках: инструментальный усилитель (IA), выходной усилитель (OA), реализованных по схеме сумматора/интегратора, 2,5-вольтовый источник опорного напряжения (Reference, ИОН), 8-разрядный ЦАП с выходом по напряжению, и сдвоенный компаратор (CP). Аналоговые входы и выходы ячеек (кроме ИОН) для повышения динамического диапазона обрабатываемых сигналов выполнены по дифференциальной схеме. Два IA и один OA образуют макроячейку, называемую PAC-блоком, в которой выходы IA соединены с суммирующими входами OA. ispPAC10 имеет четыре такие макроячейки, а ispPAC20 — две. В состав ispPAC20 также входят ячейки ЦАП и компараторов. В макроячейке программируются коэффициент усиления IA в диапазоне от -10 до +10 с шагом 1, величина емкости конденсатора обратной связи в OA (128 возможных значений) и включение/выключение сопротивления обратной связи в OA.

Средства внутренней разводки (Analog Routing Pool) позволяют выполнить соединения между входными контактами микросхемы, входами и выходами макроячеек, выходом ЦАП и входами компараторов. Объединение нескольких макроячеек позволяет строить схемы перестраиваемых активных фильтров, основанные на использовании звена интегратора, на диапазон частот от 10 до 100 кГц.

Конфигурирование микросхемы осуществляется через JTAG-интерфейс с помощью загрузочного кабеля от параллельного порта PC или имеющегося в системе микроконтроллера.

Проектирование устройств серии ispPAC поддерживается САПРом PAC-Designer. Этот пакет обеспечивает в графическом виде редактирование схемы путем проведения конкретных внутренних межсоединений и задания величин программируемых параметров, ее симулирование, создание конфигурационного файла и его загрузка.

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

Структурная схема динамически конфигурируемой FPAA фирмы Anadigm AN221E04 приведена на рис.27.10.

В основе FPAA лежат конфигурируемые аналоговые блоки (САВ), которые содержат наборы элементов для реализации аналоговых схем – операционные усилители, источники образцового напряжения, компараторы, ЦАП, конфигурационную память (LUT, Look-Up Table) и интерфейс.

Конфигурируемые двунаправленные ячейки (IO, Input/Output Cell) служат для подачи аналоговых сигналов на САВ. Каждый вход ячейки может непосредственно подключаться к одному из блоков или предварительно обрабатываться с помощью набора из стандартных элементов, входящих в состав этой ячейки: буферный усилитель, усилитель с программируемым коэффициентом усиления, программируемый фильтр нижних частот, прецизионный усилитель.

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

Конфигурируемые выходные ячейки Output Cell позволяют выводить из FPAA как аналоговые сигналы, так и логические уровни. Сигналы из различных аналоговых блоков подаются на вход ячейки через программируемый мультиплексор. Каждая выходная ячейка содержит программируемый ФНЧ. Некоторые элементы из стандартной библиотеки требуют вывода сигналов в цифровой форме, например выходы данных и синхронизации АЦП. В этом случае выходные ячейки могут быть сконфигурированы в режиме цифрового выхода.

 

 

Рис.27.10. Структурная схема FPAA AN221E04

 

Конфигурируемый аналоговый блок (САВ) (рис.27.11) содержит статические и динамические ключи. Динамические ключи управляются входными и тактовыми сигналами и логикой регистра последовательного приближения. Статические ключи определяют общие схемы коммутации блоков, значения емкости конденсаторов, подключение входов. Независимо от назначения, все ключи управляются с помощью конфигурационной памяти (SRAM).

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

С помощью двух матриц ключей осуществляется коммутация входных сигналов, обратных связей (первая матрица) и организация внутренней коммутации цепей. Основу ячейки САВ составляют два операционных усилителя и компаратор. Обработка сигнала внутри САВ осуществляется схемами на переключаемых конденсаторах, для чего он содержит группу из восьми программируемых конденсаторов.

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

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

АЦП собирается из элементов, которые содержатся в САВ. По структуре это 8-разрядный АЦП последовательного приближения со скоростью преобразования до 250 кГц.

Формирователи опорного напряжения и тока смещения выполнены по схеме термокомпенсированных источников образцового напряжения и служат в качестве ИОН для компараторов, системного нуля и уровней ограничения входных сигналов.

 

Рис.27.11. Конфигурируемый аналоговый блок

 

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

Рассмотренная FPAA выполняет обработку сигналов в диапазоне частот от нулевой до 2 МГц. Отношение сигнал/шум для широкополосного диапазона составляет 80 дБ, для аудиосигналов 100 дБ. Напряжение смещения на входах ОУ не более 100 мкВ, напряжение питания 5 В. Время процесса реконфигурации системы составляет не более 100 мкс.

 

27.8. ПЛИС типа «система на кристалле»

Дальнейшее развитие архитектур идет по пути создания комбинированных структур, сочетающих удобство реализации алгоритмов цифровой обработки сигналов на базе таблиц перекодировок и реконфигурируемых модулей памяти, характерных для FPGA-структур и многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD-архитектурах. Увеличение интеграции современных программируемых логических интегральных схем, расширение их функциональных возможностей, повышение быстродействия, развитие и разнообразие их архитектур привело к тому, что стало возможным разместить на одном кристалле целую электронную систему, включающую в себя микропроцессорное/микроконтроллерное ядро, массив программируемой логики и блок памяти. Такие системы называют программируемыми или конфигурируемыми устройствами типа система на кристалле (SoC, System-on-Chip).

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

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

Soft-ядра или виртуальные компоненты. Это файлы, которые интегрируются в описание проектируемого устройства на языках HDL. На основе soft-ядер реализуются однородные структуры, в которых разные функциональные блоки реализуются идентичными программируемыми схемотехническими блоками.

Hard-ядра, представляющие собой реализованные на кристалле области с фиксированными функциями. На основе hard-ядер реализуются блочные структуры, имеющие жестко выделенные для определенных функций аппаратные ядра. SoС блочного типа включают в себя как программируемые, так и фиксированные области, в которых реализованы блоки с предопределенными функциями. Такими блоками являются микропроцессоры или микроконтроллеры, FPGA, память.

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

Так, ПЛИС APEX20K фирмы Altera (рис. 27.12) имеет однородную структуру и содержит в себе логические элементы всех перечисленных типов, что позволяет отнести эту ПЛИС к семейству SоC.

 

 

Рис.27.12. Структура SoC APEX20K

 

В основе идеи SоC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SоC-микросхемы выполняется на базе этих "виртуальных компонентов" с помощью программ систем автоматизации проектирования (САПР) электронных устройств – EDA (Electronic Design Automation). Благодаря стандартизации в одно целое, можно объединять "виртуальные компоненты" от разных разработчиков.

Эта микросхема с триггерной памятью конфигурации обладает программируемостью всех основных областей кристалла. Уровень интеграции этой микросхемы составляет до 3 млн. типичных эквивалентных вентилей, встроенная память – до 1,2 млн. бит. В микросхеме комбинируются табличные методы реализации функций и реализация в дизъюнктивных нормальных формах, т.е. частично используются FPGA и CPLD.Схема имеет встроенную память и гибкую систему интерфейсов.

SoC блочного типа используют в качестве процессорных ядер преимущественно 8- и 32-разрядные ядра. В качестве процессора первого типа наиболее часто используют восьмиразрядный микропроцессор 8051 фирмы INTEL, второго – процессор ARM7. В состав микросхемы A7 компании Triscend входят ядро ARM7TDMI с дополнительным четырехпортовым ассоциативным кэшем объемом 8 Кбайт и сверхоперативной SRAM-памятью объемом 16 Кбайт и целый ряд периферийных узлов с жесткой логикой, необходимых для большинства управляющих приложений. Программируемые периферийные узлы, реализованные в виде матрицы конфигурируемой системной логики (CSL), подключаются к адресным и управляющим сигнальным линиям посредством селекторных блоков (рис.27.13).

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

Остальная площадь кристалла А7 занята матрицей конфигурируемой системной логики (CSL configurable system logic), обменивающейся данными с процессором по конфигурируемой системной (CSI) шине (configurable system interconnect bus CSI bus). Матрица CSL создана на базе SRAM-памяти, при этом в составе кристалла TA7S20, первого члена семейства А7, имеется 2048 конфигурируемых логических ячеек, которые могут быть запрограммированы либо как специализированные периферийные узлы, либо как ячейки памяти (например, двухпортовой). Логическая матрица и CSI-шина взаимодействуют через сокеты системных межсоединений, так что логические адреса периферийных узлов не зависят от их физического расположения в матрице.

Рис.27.13. Структурная схема SoC семейства А7

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

 


ГЛАВА 28








Дата добавления: 2015-12-29; просмотров: 2633;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.093 сек.