Как стать автором
Обновить

Знакомство с FPGA-тян или, что такое ПЛИС

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.9K

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

Первые ПЛИС

Итак, давным-давно в далекой галактике придумали электронные компоненты объединять вместе на кристалле, тогда появились первые ИС (Интегральные схемы), но первые ИС были монолитные и неразборные, потому могли применяться только для отдельных задач, поэтому люди решили сделать  их настраиваемыми, то есть программируемыми. Вот и получаем расшифровку ПЛИС – Программируемые Логические Интегральные Схемы. Одними из первых были PAL (programmable array logic), они состояли из множества входов проходящих через программируемый массив логических элементов AND и фиксированный набор элементов OR, а выходы подаются на D-триггеры. Даже рисуночек остался. “Программирование” такой схемы выполняется c помощью пережигаемых перемычек (т.е. такие микросхемы однократно программируемые, что не очень удобно)

Рисунок 1 – PAL
Рисунок 1 – PAL

Ещё были CPLD (Complex Programable Logic Device). Смысл этой микросхемы был в реализации нескольких PAL схемы на одном кристалле и добавления возможности передачи сигналов между ними. Однако современные CPLD являются уже многократно программируемыми, а их узлы выполнены с использованием флэш памяти. Ну вот, мы уже и подошли вплотную к FPGA.

Да, ты права, но время читателей ограничено, поэтому я стараюсь объяснять, максимально просто не вдаваясь в детали. Так о чём мы разговаривали? Правильно о FPGA.

FPGA или всё же ПЛИС?

Итак, FPGA (Field-Programmable Gate Array) или по-другому массив программируемых логических ячеек. Упрощено можно сказать, что внутри плис есть огромное количество ячеек LUT (Look-UP Table), через которые и реализуется функция изменения логики работы схемы (Рис.2).

Рисунок 2 – устройство LUT
Рисунок 2 – устройство LUT

Как мы видим, на рисунке логическая ячейка состоит из LUT на 3 входа, из мультиплексора и триггера для хранения состояния сигнала. Также мы видим основной принцип реализации логической схемы. В примере приведена логическая функция от трёх аргументов:

Y=(a&b)|(~c).

Далее для перевода логики работы составим таблицу истинности от трёх переменных как на картинке. И вся эта таблица напрямую записывается в LUT.  Далее выход lut идёт через мультиплексор на триггер. Вот в общем то и основной принцип работы FPGA.

Да, на сегодня мы прощаемся с вами! Спасибо всем тем, кто вдумчиво прочитал эту статью и низкий вам поклон.

Список литературных источников

1.    https://ru.wikipedia.org/wiki/ПЛИС#Ранние_ПЛИС

2.    https://ru.wikipedia.org/wiki/Интегральная_схема

3.    https://ru.wikipedia.org/wiki/Программируемая_пользователем_вентильная_матрица

4.    ПЛИС С XILINX. Языки описания аппаратуры VHDL/Verilog САПР, приемы проектирования (Aвтор И. Е. Тарасов)

5.    FPGA prototyping by Verilog examples (Автор PONG P.CHU)

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Полезна ли данная статья?
37.78% Да17
28.89% нет13
33.33% Не очень, но сойдёт15
Проголосовали 45 пользователей. Воздержались 2 пользователя.
Теги:
Хабы:
+3
Комментарии7

Публикации

Ближайшие события