Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программируемая логическая матрица это

FPGA. Разбираемся, как устроены программируемые логические схемы и чем они хороши

Содержание статьи

Может быть, ты умеешь взламывать устройства на другом конце света или кодить крутые веб-приложения, но понимаешь ли ты, как работает твой компьютер? И речь не о том, что делает операционка, как функционирует garbage collector в Java или как устроен компилятор C++. Я говорю о самом низком, аппаратном уровне, ниже ассемблера: как работает железо.

Что происходит в микросхеме сетевой карты, когда приходит пакет Ethernet? Как этот пакет передается дальше в оперативную память компьютера через шину PCI Express? Как работают самые быстрые системы распознавания изображений на аппаратном уровне?

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

FPGA расшифровывается как field-programmable gate array, по-русски — программируемые пользователем вентильные матрицы, ППВМ. В более общем случае они называются ПЛИС — программируемые логические интегральные схемы.

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

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

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

Важная особенность FPGA — возможность реконфигурации. Сегодня нам нужен контроллер 100G Ethernet, а завтра эта же плата может быть использована для реализации независимых четырех интерфейсов 25G Ethernet.

Существуют два крупных производителя FPGA-чипов: Xilinx и Intel, которые контролируют 58 и 42% рынка соответственно. Основатели Xilinx изобрели первый чип FPGA в далеком 1985 году. Intel пришла на рынок недавно — в 2015 году, поглотив компанию Altera, которая была основана в то же время, что и Xilinx. Технологии Xilinx и Altera во многом схожи, как и среды разработки. Чаще я работал с продуктами компании Xilinx, поэтому не удивляйся ее постоянному упоминанию.

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

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

Принцип работы

Микросхема FPGA — это та же заказная микросхема ASIC, состоящая из таких же транзисторов, из которых собираются триггеры, регистры, мультиплексоры и другие логические элементы для обычных схем. Изменить порядок соединения этих транзисторов, конечно, нельзя. Но архитектурно микросхема построена таким хитрым образом, что можно изменять коммутацию сигналов между более крупными блоками: их называют CLB — программируемые логические блоки.

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

Так как конфигурационная память построена по технологии Static RAM, то, во-первых, при включении питания FPGA микросхему обязательно надо сконфигурировать, а во-вторых, микросхему можно реконфигурировать практически бесконечное количество раз.

Очень упрощенная 2D-структура микросхемы без конфигурационной памяти

Блоки CLB находятся в коммутационной матрице, которая задает соединения входов и выходов блоков CLB.

Схема коммутационной матрицы

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

CLB очень упрощенно состоит из блока, задающего булеву функцию от нескольких аргументов (она называется таблицей соответствия — Look Up Table, LUT) и триггера (flip-flop, FF). В современных FPGA LUT имеет шесть входов, но на рисунке для простоты показаны три. Выход LUT подается на выход CLB либо асинхронно (напрямую), либо синхронно (через триггер FF, работающий на системной тактовой частоте).

Принцип реализации LUT

Интересно посмотреть на принцип реализации LUT. Пусть у нас есть некоторая булева функция y = (a & b) |

c . Ее схемотехническое представление и таблица истинности показаны на рисунке. У функции три аргумента, поэтому она принимает 2^3 = 8 значений. Каждое из них соответствует своей комбинации входных сигналов. Эти значения вычисляются программой для разработки прошивки ПЛИС и записываются в специальные ячейки конфигурационной памяти.

Значение каждой из ячеек подается на свой вход выходного мультиплексора LUT, а входные аргументы булевой функции используются для выбора того или иного значения функции. CLB — важнейший аппаратный ресурс FPGA. Количество CLB в современных кристаллах FPGA может быть разным и зависит от типа и емкости кристалла. У Xilinx есть кристаллы с количеством CLB в пределах примерно от четырех тысяч до трех миллионов.

Помимо CLB, внутри FPGA есть еще ряд важных аппаратных ресурсов. Например, аппаратные блоки умножения с накоплением или блоки DSP. Каждый из них может делать операции умножения и сложения 18-битных чисел каждый такт. В топовых кристаллах количество блоков DSP может превышать 6000.

Другой ресурс — это блоки внутренней памяти (Block RAM, BRAM). Каждый блок может хранить 2 Кбайт. Полная емкость такой памяти в зависимости от кристалла может достигать от 20 Кбайт до 20 Мбайт. Как и CLB, BRAM и DSP-блоки связаны коммутационной матрицей и пронизывают весь кристалл. Связывая блоки CLB, DSP и BRAM, можно получать весьма эффективные схемы обработки данных.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Большая Энциклопедия Нефти и Газа

Программируемая логическая матрица

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

Программируемая логическая матрица ( ПЛМ) — матрица логических элементов, электрические связи между которыми определяются путем программирования. [2]

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

Читать еще:  Программирование с нуля pascal

Программируемая логическая матрица ( ПЛМ) в соответствии с кодом поступившей команды формирует код очередной микрокоманды, адрес следующей микрокоманды и управляющие коды, которые поступают соответственно на регистр микрокоманд, регистр следующего адреса и регистр управления. [5]

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

Программируемая логическая матрица ( ПЛМ) в соответствии с кодом поступившей команды формирует код очередной микрокоманды, адрес следующей микрокоманды и управляющие коды, которые поступают соответственно на регистр микрокоманд, регистр следующего адреса и регистр управления. [8]

Программируемые логические матрицы ( ПЛМ), выпускаемые отечественной промышленностью ( К556РТ1 и К556РТ2), относятся к однократно программируемым БИС с пережиганием плавких перемычек. [10]

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

В программируемых логических матрицах ( ПЛМ) заданная схема формируется также на основе матрицы элементов. [12]

Микросхема представляет собой программируемую логическую матрицу ( 16 х 48 х 8) емкостью 512 бит с тремя состояниями на выходе. Программируется электрическим полем и может быть запрограммирована самим заказчиком. [13]

Микросхема представляет собой программируемую логическую матрицу . [14]

Микросхемы представляют собой многофункциональную программируемую логическую матрицу с обратными связями, реализующую восемь выходных функций от шестнадцати переменных ( от 10 входных и 6 программируемых обратных связей в базисе И-ИЛИ-НЕ), включающих до 64 термов и программируемые двунаправленные шины; предназначены для реализации различных комбинационных логических схем, применяемых в устройствах вычислительной техники и автоматики. [15]

Средства программируемой матричной логики

Программируемые логические матрицы

Успехи в области интегральной технологии обеспечили возможность разместить в одной БИС многие тысячи элементов, повысить надежность работы электронных устройств и быстродействие, снизить потребляемую мощность и габариты. Однако при этом возник вопрос: как на схемах с таким количеством элементов изготавливать устройства, решающие различные задачи?

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

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

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

Рис. 4.30. Программируемые логические матрицы:

а — матрица И; б — матрица ИЛИ

Рассмотрим, какие функции реализует матрица Мх. Если на горизонтальную шину подана лог. 1 (высокий потенциал), то диод будет заперт, и ток через R не течет. Падение напряжения на R отсутствует, и на вертикальной шине, соединенной с анодом запертого диода, остается высокий потенциал, соответствующий лог. 1. Если же на горизонтальной шине низкий потенциал (лог. 0), то протекающий через R и открытый диод ток создаст падение напряжения на R и на вертикальной шине будет лог. 0. Для сохранения на вертикальной шине матрицы Мх высокого потенциала, необходимо, чтобы все диоды этой шины были заперты, т.е. на всех входах была лог. 1. Таким образом, на вертикальных шинах реализуется операция «И» от аргументов, помеченных крестиками, и матрицу М< называют матрицей И. В приведенном примере на выходах Р, реализуются функции:

Конъюнкции, образующиеся на выходах матрицы И, называют термами.

Выясним, какие функции реализует матрица М2 (см. рис. 4.30, в). Если на вертикальной шине высокий потенциал (лог. 1), то транзистор открыт и высокий потенциал через него поступает на горизонтальную шину г/, т.е. на ней будет лог 1. Если транзистор закрыт (на базе потенциал лог. 0), то на шине у будет потенциал корпуса — лог. 0. Очевидно, что открытие любого из транзисторов приводит к появлению на горизонтальной шине у потенциала лог. 1, поэтому на ней реализуется функция «ИЛИ» от входных переменных Р,, помеченных крестиками. Так как каждая из переменных Pj реализует операцию «И» над аргументами х, то в итоге на выходах у реализуются функции:

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

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

ПЛМ могут выполняться как на биполярных, так и на МОП-транзисторах. В последнем случае матрица М, выполняет функцию «И-НЕ», а матрица М2 — функцию «ИЛИ-HE». Программирование ПЛМ заключается в пережигании перемычек, соединяющих горизонтальные и вертикальные шины матриц, которое выполняется на специальных устройствах — программаторах. В исходном состоянии все перемычки целы. Если в переменную Р входит прямое значение аргумента х, то пережигается перемычка, соединяющая вертикальную шину Р с инверсной горизонтальной шиной, если значение аргумента инверсное — то с шиной, передающей прямое значение аргумента. Если аргумент не участвует в формировании переменной, пережигаются обе перемычки. Если переменная Р входит в функцию у, то перемычка сохраняется, в противном случае — пережигается.

Программируемая логическая матрица

Программи́руемая логи́ческая интегра́льная схе́ма (ПЛИС, англ. programmable logic device , PLD ) — электронный компонент (интегральная микросхема), используемый для создания конфигурируемых цифровых электронных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программатор и IDE (отладочная среда), позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС являются:

  • базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования;
  • ASIC — специализированные заказные большие интегральные схемы (БИС), которые при малосерийном и единичном производстве существенно дороже;
  • специализированные компьютеры, процессоры (например, цифровой сигнальный процессор) или микроконтроллеры, которые из‑за программного способа реализации алгоритмов в работе медленнее ПЛИС.
  • непрограммируемые цифровые устройства и системы, настроенные на решение заранее известных задач, построенные на принципах т.н. «жесткой логики».
Читать еще:  Не загружается безопасный режим

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

  • обеспечивается увеличение свободного места на печатной плате (возможность уменьшения размеров платы);
  • упрощается проектирование самой ПЛИС;
  • увеличивается быстродействие ПЛИС.

Содержание

Этапы проектирования [ | код ]

  1. Задание принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др.
  2. Логический синтез с помощью программ-синтезаторов (получение списка электрических соединений (в виде текста) из абстрактной модели, записанной на языке описания аппаратуры).
  3. Проектирование печатной платы устройства с помощью системы автоматизированного проектирования (САПР) печатных плат (Altium Designer, P-CAD и др.), на которой размещается микросхема ПЛИС и прочие электронные компоненты (резисторы, конденсаторы, генераторы, АЦП, разъёмы и т.д.).
  4. Создание файла конфигурации ПЛИС.
  5. Загрузка файла в микросхему ПЛИС или отдельную микросхему памяти конфигурации. В результате загрузки конфигурации микросхема ПЛИС обретает заданную функциональность.

Применение [ | код ]

ПЛИС широко используется для построения различных по сложности и по возможностям цифровых устройств, например:

  • устройств с большим количеством портов ввода-вывода (бывают ПЛИС с более чем 1000 выводов («пинов»));
  • устройств, выполняющих цифровую обработку сигнала (ЦОС);
  • цифровой видеоаудиоаппаратуры;
  • устройств, выполняющих передачу данных на высокой скорости;
  • устройств, выполняющих криптографические операции, систем защиты информации;
  • устройств, предназначенных для проектирования и прототипирования интегральных схем специального назначения (ASIC);
  • устройств, выполняющих роль мостов (коммутаторов) между системами с различной логикой и напряжением питания;
  • реализаций нейрочипов;
  • устройств, выполняющих моделирование квантовых вычислений;
  • устройств, выполняющих обработку радиолокационной информации.

Типы ПЛИС [ | код ]

Ранние ПЛИС [ | код ]

В 1970 году компания «TI» разработала маскируемые (то есть, программируемые с помощью маски, англ. mask-programmable ) интегральные схемы (далее ИС), основанные на ассоциативном ПЗУ (ROAM) фирмы «IBM». Эта микросхема называлась TMS2000 и программировалась чередованием металлических слоёв в процессе производства интегральной схемы (ИС). TMS2000 имела до 17 входов и 18 выходов с 8 JK-триггерами в качестве памяти. Для этих устройств компания «TI» ввела термин PLA — англ. programmable logic array — программируемая логическая матрица.

PAL [ | код ]

PAL (англ. programmable array logic ) — программируемый массив (матрица) логики. В СССР PLA и PLM не различались и обозначились как ПЛМ (программируемая логическая матрица). Разница между PLA и PLM состоит в доступности программирования внутренней структуры (матриц).

GAL [ | код ]

GAL (англ. generic array logic ) — это ПЛИС, имеющие программируемую матрицу «И» и фиксированную матрицу «ИЛИ».

CPLD [ | код ]

CPLD (англ. complex programmable logic device — сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки — макроячейки, соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении. Может применяться для расширения числа входов/выходов рядом с большими кристаллами, или для предобработки сигналов (например, контроллер COM-порта, USB, VGA).

FPGA [ | код ]

FPGA (англ. field-programmable gate array ) содержат блоки умножения-суммирования, которые широко применяются при обработке сигналов (DSP, англ. digital signal processing ), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределённой памяти, которая может быть выполнена как на основе энергозависимых ячеек статического ОЗУ (подобные микросхемы производят, например, фирмы «Xilinx» и «Altera») — в этом случае программа не сохраняется при исчезновении электропитания микросхемы, так и на основе энергонезависимых ячеек flash-памяти или перемычек antifuse (такие микросхемы производит фирма «Actel» и «Lattice Semiconductor») — в этих случаях программа сохраняется при исчезновении электропитания. Если программа хранится в энергозависимой памяти, то при каждом включении питания микросхемы необходимо заново конфигурировать её при помощи начального загрузчика, который может быть встроен и в саму FPGA. Альтернативой ПЛИС FPGA являются более медленные цифровые процессоры обработки сигналов. FPGA применяются также, как ускорители универсальных процессоров в суперкомпьютерах (например, компьютер «Cray XD1» компании «Cray», проект «RASC» компании «Silicon Graphics» («SGI»)).

Программируемая логическая матрица это

По сравнению с другими микроэлектронными технологиями, в том числе и другими классами СПИС, технология ПЛИС обеспечивает рекор­дно-короткий проектно-технологический цикл (несколько часов/ дней), минимальные затраты на проектирование, максимальную гибкость при модификации аппаратуры. При этом весь проектно-техно­ло­ги­­ческий цикл выполняется разработчиком РЭА на одном рабочем месте.

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

— логическое «ИЛИ» (дизъюнкторы);

— логическое «НЕ» (инверторы);

— буферные элементы с прямыми, инверсными и тристабильными выходами;

— триггеры D‑ и T‑типа;

Поскольку любая логическая функция может быть представлена в виде суммы произведений —дизъюнктивной нормальной формы (ДНФ), базовыми структурными компонентами ПЛИС являются матрицы элементов «И»и «ИЛИ». На выходе матриц расположены так называемые макроячейки (Macrocells), конфигурация которых зависит от типа ПЛИС. Макроячейки могут содержать различные триггеры, тристабильные буферы, элементы управления полярностью сигнала и др. Пути прохождения сигнала в макроячейке (конфигурация) могут быть жестко заданы структурой ПЛИС или управляться посредством мультиплексоров.

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

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

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

На рис. 3 условно изображен один из коньюнкторов матрицы «И». В ПЛИС такой коньюнктор называется термом. В «чистом» (незапрограммированном) состоянии каждый из сигналов A, B, C является входом коньюнктора, образуя логическую функцию «3И».

Разрывая одну или несколько перемычек (на рисунках они обозначаются символом «X»), можно получить любую коньюнкцию от этих сигналов.

Примеры приведены на рис.4.

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

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

Фиксированные матрицы «ИЛИ» обеспечивают соединение каждого дизъюнктора со строго определенными термами (рис.7). Количество таких термов, как правило, составляет от 8 до 16. Фиксированные матрицы «ИЛИ» менее универсальны, но проще и понятнее для проектирования.

Выходной сигнал логических матриц попадает в макроячейку и может быть сохранен в памяти триггера, выведен на контакт или возвращен через ОС в матрицу «И». На рис.8 приведена макроячейка ПЛИС 85C220/85C224 фирмы INTEL.

Читать еще:  Что такое безопасный режим

Символом «P» обозначены программируемые элементы (перемычки конфигурации). В зависимости от состояния перемычки P1 вход B элемента «исключающее ИЛИ» коммутируется либо с низким (L), либо с высоким (H) логическим уровнем. В соответствии с этим сигнал либо сохраняет свою полярность, либо инвертируется (рис.9).

Перемычка P2 управляет сигналом выхода и ОС: в зависимости от ее состояния этот сигнал снимается либо с комбинационной линии (дизъюнктор- «исключающее ИЛИ»), либо с выхода триггера.

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

Некоторые другие ПЛИС имеют макроячейки с более сложной и гибкой структурой, содержащие до 5 перемычек конфигурации. Количество макроячеек в ПЛИС составляет от 8 до 100 и более.

2.1. Классификация ПЛИС

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

— программируемые логические матрицы (ПЛМ);

— программируемая матричная логика (ПМЛ);

— программируемая макрологика (ПМ);

— программируемые коммутируемые матричные блоки (ПКМБ);

— программируемые вентильные матрицы (ПВМ).

Программируемые логические матрицы — наиболее традиционный тип ПЛИС, имеющий программируемые матрицы «И» и «ИЛИ». В зарубежной литературе соответствующими этому классу аббревиатурами являются FPLA (Field Programmable Logic Array) и FPLS (Field Programmable Logic Sequensers). Примерами таких ПЛИС могут служить отечественные схемы K556PT1, PT2, PT21.

Программируемая матричная логика (зарубежная аббревиатура —PAL — Programmable Array Logic) — это ПЛИС, имеющие программируемую матрицу «И»и фиксированную матрицу «ИЛИ». К этому классу относятся большинство современных ПЛИС. В качестве примеров можно привести отечественные ИС КМ1556ХП4,ХП6, ХП8,ХЛ8, ПЛИС фирм INTEL, ALTERA, AMD, LATTICE и др. Разновидностью класса ПМЛ являются ПЛИС, имеющие только одну (программируемую) матрицу «И», например, схема 85C508 фирмы INTEL.

Программируемая макрологика —ПЛИС, содержащие одну программируемую матрицу «И‑НЕ» или «ИЛИ-НЕ», но за счет многочисленных инверсных ОС способные формировать сложные логические функции. К этому классу относятся, например, ПЛИС PLHS501 и PLHS502 фирмы SIG­NE­­­TICS, имеющие матрицу «И‑НЕ», а также схема XL78C800 фирмы EXEL, основанная на матрице «ИЛИ-НЕ» (рис.10).

Программируемые коммутируемые матричные блоки — это ПЛИС, содержащие несколько (обычно 4—8) матричных логических блоков (МЛБ), объединенных коммутационной матрицей. Каждый МЛБ представляет собой структуру типа ПМЛ, т.е. программируемую матрицу «И», фиксированную матрицу «ИЛИ»и макроячейки (рис. 11). ПЛИС типа ПКМБ, как правило, имеют высокую степень интеграции (до 20000 вентилей). К этому классу относятся ПЛИС семейства MAX5000, MAX7000, и MAX9000 фирмы ALTERA, схемы семейств XC72xx, XC73xx и XC95xx фирмы XILINX.

Программируемые вентильные матрицы —это ПЛИС, вообще не содержащие логических матриц и относящиеся к ПЛИС вследствие воз­можности программирования пользователем. Такие схемы основаны на структуре БМК и вентильных матриц и состоят из логических блоков (ЛБ) и коммутирующих путей (рис.12). Как правило, они содержат значительное число триггеров, но их комбинационные и коммутационные возможности ограничены. ПВМ используются, главным образом, для разработки счетных структур с минимальным комбинационным обрамлением. К ПВМ классу относятся схемы фирм XILINX, ACTEL, а также семейства FLEX8000, FLEX10K и FLEX6000 фирмы ALTERA.

2.2. Технология ПЛИС

До 1985 г. все ПЛИС изготавливались по технологии ТТЛШ. Это обеспечивало высокое быстродействие (до 7— 10 нс) и низкую стоимость схем. Однако этим ПЛИС были присущи и все недостатки биполярной технологии: высокая потребляемая мощность, низкая степень интеграции, невозможность перепрограммирования. Поэтому в конце 80‑х годов появились и получили быстрое развитие ПЛИС по технологии КМОП. В таких ПЛИС роль соединительных элементов (перемычек) играют ячейки памяти типа EPROM или EEPROM. Если в биполярных ПЛИС соединения разрываются путем обычного прожига перемычки, то в КМОП-ПЛИС ячейки программируются за счет накопления или удаления электрического заряда. Такие перемычки можно не только разрывать, но и восстанавливать. Этот процесс называется стиранием схемы. В зависимости от типа ячеек памяти различают ПЛИС с УФ-стиранием (EPROM) и электрическим стиранием (EEPROM).

ПЛИС с УФ-стиранием изготавливаются в керамических корпусах с окном. Стирание происходит при облучении ПЛИС УФ-излучением с заданными параметрами. Стирание ПЛИС типа EEPROM осуществляется путем подачи на схему определенных электрических сигналов.

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

Внедрение технологии КМОП позволило значительно увеличить степень интеграции ПЛИС и достичь 10000 и более вентилей. Потребление КМОП-схем составляет около 1mA/МГц, а некоторые ПЛИС имеют режим микроамперного потребления в статическом режиме.

За последние годы были выпущены ПЛИС и по другим технологиям, например, на GaAs (фирма GAZELLE MICROELECTRONICS) или по технологии «антиперемычек»(фирма ACTEL). Но эти схемы еще не получили широкого распространения.

2.3. Бит секретности

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

2.4. Основные области применения ПЛИС

Применение ПЛИС особенно целесообразно в следующих случаях. Во-первых, при разработке оригинальной аппаратуры, требующей нестандартных схемотехнических решений, а также при проектировании малогабаритных устройств. ПЛИС обычно заменяют на плате от 8—10 до 50—70 корпусов стандартной логики (например, 555 серии). При этом значительно уменьшаются размеры оборудования, а вследствие сокращения количества ИС снижается потребление схемы и повышается ее надежность.

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

Отдельной областью применения ПЛИС, как уже отмечалось, являются устройства для защиты от копирования. Обычно применение 1—2 ПЛИС средней степени интеграции оказывается вполне достаточным для надежного «закрытия» информации.

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

Ссылка на основную публикацию
Adblock
detector