D-триггер (DFF) в ПЛИС/FPGA Max II EPM240

D-триггер (DFF) в ПЛИС/FPGA Max II EPM240

Продолжаю изучать ПЛИС на примере EPM240T100I5/EPM240T100C5. Работа с DFF примитивом в блок-схеме и реализация управления нагрузкой одной кнопкой.

Информацию нужно где то хранить. Для этого можно использовать триггеры. Один триггер имеет один выход, а значит может хранить для нас 1 бит информации.

Рассмотрим D-триггер в микросхеме Altera Max II EPM240T100I5 в блок-схемах Quartus II Web Edition версии 13. D-trigger реализован в примитиве DFFE.

altera max II fpga epm240t100i5 dffe

Примитив DFFE имеет выход Q который и будет хранить наш бит.
Вход ENA позволяет включать/выключать триггер (разрешение или запрет записи в триггер).
Вход обозначенный треугольником это вход clock. По фронту сигнала (при переходе с нуля в единицу) происходит запись состояния со входа D на выход Q.

Примитив DFF не имеет входа ENA, данный триггер всегда включен.

alter max II epm240 dff

В остальном DFF идентичен примитиву DFFE.

Пример использования D-триггера в ПЛИС для включения/выключения нагрузки одной кнопкой.

Для создания программной кнопки с фиксацией соединим выход триггера с его входом через примитив NOT. А на вход clock подключим кнопку. Как создать новый проект в Quartus II и настроить пины ПЛИС EPM240 я описывал ранее.

DFF D триггер FPGA max ii altera

При включении моей отладочной платы на EPM240T100I5 на вход CLK будет подана логическая единица. На выходе Q будет логический ноль. Через примитив NOT на вход D будет подана лог. единица.

При нажатии кнопки на вход clock будет подан 0, а когда мы отпустим кнопку будет переход с 0 в 1 и состояние входа D будет перенесено на выход Q. Светодиод загорится.

Теперь на вход D через примитив NOT будет подан 0 и светодиод погаснет. Следующий сигнал с кнопки на вход clock запишет на выход 0.

Таким образом мы получили кнопку, которая нажатием переключает состояние на противоположное.

Библиотека maxplus2 включает вспомогательный примитив, объединяющий в себе DFF и NOT. Это примитив DFF2. В результате данную схему можно нарисовать так:

altera max II dff2 example

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

Видео с демонстрацией работы D-триггера на примере Max II EPM240T100I5:

При копировании материалов ссылка на https://terraideas.ru/ обязательна

Комментарии к статье: D-триггер (DFF) в ПЛИС/FPGA Max II EPM240

Нет ни одного комментария. Будьте первым!