Курс 10 • Урок 7 из 8 • 3 часа учебной нагрузки

ПЛИС и прототипирование цифровых узлов

Цель: Понять, что такое ПЛИС, чем FPGA отличается от других разновидностей ПЛИС, из каких ресурсов строится цифровой узел и как проект проходит путь от Verilog-описания до конфигурации реальной микросхемы.

3 часа короткая теория, самостоятельная практика, проверка результата и тест.

Суть темы

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

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

  • конфигурируемые логические блоки реализуют требуемые функции;
  • программируемые линии связи соединяют блоки;
  • блоки ввода/вывода связывают кристалл с внешними сигналами;
  • встроенная память и специализированные блоки расширяют возможности;
  • LUT реализует комбинационную функцию, а D-триггер хранит состояние.

Ключевые связи и параметры

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

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

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

Разбор примера

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

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

Практическая работа и проверка

  1. Откройте описание учебной платы и найдите установленную ПЛИС.
  2. Определите, к каким выводам подключены тактовый генератор, кнопка и светодиод.
  3. Создайте простой модуль Verilog и проверьте его в моделировании.
  4. Выполните синтез и посмотрите, сколько LUT и триггеров использовано.
  5. Назначьте реальные выводы, выполните размещение, сформируйте файл конфигурации и загрузите его на плату.
  6. Если схема не работает, разделите диагностику на три части: логика Verilog, ограничения/выводы и физическое подключение платы.

Типичные ошибки и диагностика

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

При отладке сначала подтверждают логику в моделировании, затем проверяют отчёт синтеза, назначения выводов, тактовый сигнал и только после этого внешние устройства платы.

Связь с реальным устройством

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

Что нужно запомнить

  • ПЛИС — общий класс интегральных схем с конфигурируемой логикой.
  • FPGA — одна из разновидностей ПЛИС; в ней конфигурируются функции логических элементов и их соединения.
  • LUT реализуют комбинационную логику, триггеры хранят состояние.
  • Проект проходит моделирование, синтез, размещение, назначение выводов и создание файла конфигурации.
  • Работа на плате зависит не только от Verilog, но и от корректного физического подключения и ограничений проекта.
Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…