D-триггер

 

              Такие типы триггеров как JK и RS с их функциональным описание я привел скорее больше для справки, нежели с целью навязать необходимость их применения в современных проектах. Хотя и они тоже имеют место быть. Чаще всего, если не сказать всегда используют D-триггеры, T-триггеры.

             О них сейчас и пойдет речь.

            D-триггер (D от англ. delay — задержка, либо от data - данные) – это цифровое устройство имеющее два устойчивых состояния. D-триггер «щелкает» только в синхронном режиме, а сбрасывается как в синхронном так и асинхронном режимах.

            Чаще всего D-триггер используют как элементарную ячейку памяти. Т.е. для хранения битовой информации. При необходимости записать больше чем 1 бит данных, объединяют D-триггеры и получают жизненно важные регистры.

            На рис.1 изображено УГО «D – триггера» от ф. Xilinx.

Рис.1. УГО «D – триггера» от ф. Xilinx

Триггер имеет 4 входа:

            - «D» - (data) данные предназначенные для записи;

            - «CE» - (clock enable)  разрешение/запрет тактирования;

            - «С» - (clock) тактовый вход;

            - «R» - (reset) вход сброса.

И один выход:

            - «Q» - выход состояния триггера.

            Триггер записывает по положительному/отрицательному (в зависимости от типа триггера) фронту тактового сигнала. Т.е. если рассматривать триггер, приведенный на рис.1, то ему соответствует следующая таблица истинности (см. табл. 1)

Inputs

Outputs

R

CE

D

C

Q

1

X

X

0 (процесс сброса)

0

0

X

X

No Change (блокировка)

0

1

D

D (процесс записи)

Табл.1. Таблица истинности для «D – триггера» стробирующего положительным фронтом тактов, а также имеющего синхронный сброс.

            Из таблицы видно, если на входе «R» установлена лог. 1, тогда с приходом ближайшего положительного тактового фронта триггер перейдет в нулевое состояние (сбросится). В том случае, когда «R» и «CE» = лог. «0», тогда триггер просто не работает, его содержимое остается прежним. Если на входе сброса оставить лог. нуль «R» = 0, а на входе «CE» = 1 установить лог.1., тогда триггер запишет на выход «Q» состояние входа «D» на момент прихода положительного тактового импульса.