stringtranslate.com

Логический блок

В вычислительной технике логический блок или конфигурируемый логический блок ( CLB ) является основным строительным блоком технологии программируемой пользователем вентильной матрицы (FPGA). [ требуется ссылка ] Логические блоки могут быть сконфигурированы инженером для предоставления реконфигурируемых логических вентилей . [ требуется ссылка ]

Логические блоки являются наиболее распространенной архитектурой ПЛИС и обычно размещаются в массиве логических блоков. [ необходима ссылка ] Логическим блокам требуются контактные площадки ввода-вывода (для взаимодействия с внешними сигналами) и каналы маршрутизации (для соединения логических блоков).

Программируемые логические блоки были изобретены Дэвидом В. Пейджем и ЛуВерном Р. Петерсоном и описаны в их патентах 1985 года. [1] [2]

Приложения

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

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

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

Архитектура

Упрощенная иллюстрация логической ячейки

В общем, логический блок состоит из нескольких логических ячеек (каждая ячейка называется адаптивным логическим модулем (ALM), логическим элементом (LE), секцией и т. д.). Типичная ячейка состоит из 4-входовой LUT, полного сумматора (FA) и D-триггера ( DFF), как показано справа. LUT на этом рисунке разделены на две 3-входовые LUT. В нормальном режиме они объединены в 4-входовую LUT через левый мультиплексор . В арифметическом режиме их выходы подаются на FA. Выбор режима программируется в среднем мультиплексоре. Выход может быть как синхронным, так и асинхронным, в зависимости от программирования мультиплексора справа, в примере на рисунке. На практике, целые или части FA помещаются в LUT как функции для экономии места. [3] [4] [5]

Логические блоки обычно содержат несколько ALM/LE/слайсов. ALM и слайсы обычно содержат 2 или 4 структуры, похожие на рисунок-пример, с некоторыми общими сигналами.

Производители начали переходить на 6-входовые LUT в своих высокопроизводительных компонентах, заявляя об улучшении производительности. [6]

3D архитектура

Чтобы уменьшить размер и энергопотребление ПЛИС, такие поставщики, как Tabula и Xilinx, представили новые 3D или стековые архитектуры. [7] [8] После представления своих 28 нм ПЛИС 7-й серии, Xilinx сообщила, что несколько деталей с самой высокой плотностью в этих линейках продуктов ПЛИС будут построены с использованием нескольких кристаллов в одном корпусе, используя технологию, разработанную для 3D-строительства и сборок стековых кристаллов. Технология позволяет размещать несколько (три или четыре) активных кристалла ПЛИС бок о бок на кремниевом интерпозере  — едином куске кремния, который несет пассивное соединение. [8] [9] Многокристальная конструкция также позволяет создавать различные части ПЛИС с использованием различных технологических процессов, поскольку требования к процессу различаются между самой структурой ПЛИС и высокоскоростными последовательными приемопередатчиками 28 Гбит/с. ПЛИС, построенная таким образом, называется гетерогенной ПЛИС . [10]

Внешний ввод/вывод

Расположение выводов логического блока

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

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

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

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

Аналогично, I/O pad может подключаться к любому из сегментов проводки в канале, смежном с ним. Например, I/O pad в верхней части чипа может подключаться к любому из проводов W (где W — ширина канала) в горизонтальном канале непосредственно под ним.

Маршрутизация

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

Топология распределительной коробки

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

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

Жесткие блоки

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

Более высокопроизводительные FPGA могут содержать высокоскоростные мультигигабитные трансиверы и жесткие IP-ядра, такие как процессорные ядра, контроллеры доступа к среде Ethernet , контроллеры PCI / PCI Express и контроллеры внешней памяти. Эти ядра существуют наряду с программируемой фабрикой, но они построены из транзисторов вместо LUT, поэтому они имеют производительность и энергопотребление уровня ASIC, не потребляя при этом значительного количества ресурсов фабрики, оставляя большую часть фабрики свободной для логики, специфичной для приложения. Мультигигабитные трансиверы также содержат высокопроизводительные аналоговые входные и выходные схемы вместе с высокоскоростными сериализаторами и десериализаторами, компонентами, которые не могут быть построены из LUT. Функциональность более высокого уровня PHY, такая как линейное кодирование, может быть реализована или не реализована вместе с сериализаторами и десериализаторами в жесткой логике, в зависимости от FPGA.

Тактовые сигналы

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

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

Ссылки

  1. ^ Поиск патентов Google, «Перепрограммируемый PLA». Подано 11 января 1983 г. Выдано 2 апреля 1985 г. Получено 5 февраля 2009 г.
  2. ^ Поиск патентов Google, "Динамические данные, перепрограммируемые PLA". Подано 11 января 1983 г. Выдано 18 июня 1985 г. Получено 5 февраля 2009 г.
  3. ^ "Cyclone II Device Handbook, Volume 1: Cyclone II Architecture - Functional Description" (PDF) . Altera . 2007.
  4. ^ "Документация: Устройства Stratix IV" (PDF) . Altera.com. 2008-06-11. Архивировано из оригинала (PDF) 2011-09-26 . Получено 2013-05-01 .
  5. ^ http://www.xilinx.com/support/documentation/user_guides/ug070.pdf [ пустой URL-адрес PDF ]
  6. ^ http://www.origin.xilinx.com/support/documentation/white_papers/wp245.pdf [ пустой URL-адрес PDF ]
  7. Дин Такахаши, VentureBeat. «Intel Connection помог стартапу по производству чипов Tabula собрать $108 млн». 2 мая 2011 г. Получено 13 мая 2011 г.
  8. ^ ab Lawrence Latif, The Inquirer. «Производитель FPGA утверждает, что победил закон Мура». 27 октября 2010 г. Получено 12 мая 2011 г.
  9. ^ EDN Europe. «Xilinx принимает пакетную 3D-корпусную технологию». 1 ноября 2010 г. Получено 12 мая 2011 г.
  10. ^ http://www.xilinx.com/support/documentation/white_papers/wp380_Stacked_Silicon_Interconnect_Technology.pdf [ пустой URL-адрес PDF ]