Pull to refresh

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

Level of difficultyEasy
Reading time2 min
Views3.4K

Привет с вами снова Александр и 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)

Only registered users can participate in poll. Log in, please.
Полезна ли данная статья?
39.13% Да18
28.26% нет13
32.61% Не очень, но сойдёт15
46 users voted. 3 users abstained.
Tags:
Hubs:
+4
Comments7

Articles