# D/T/J-K/S-R триггеры

Библиотека: | Память
Введён в: | 2.0 Beta 1
Внешний вид: |

## Поведение

Каждый триггер хранит один бит данных, который выдаётся на выход Q на восточном крае. В нормальном состоянии значением можно управлять через входы на западном крае. В частности, значение меняется, когда значение на тактовом входе, отмеченном треугольником на каждом триггере, меняется с 0 на 1 (или наоборот, если так настроено); в момент этого перехода значение меняется в соответствии с таблицей ниже.

D триггер | T триггер | J-K триггер | S-R триггер
--- | --- | --- | ---
D | Q
--- | ---
0 | 0
1 | 1
T | Q
--- | ---
0 | Q
1 | Q'
J | K | Q
--- | --- | ---
0 | 0 | Q
0 | 1 | 0
1 | 0 | 1
1 | 1 | Q'
S | R | Q
--- | --- | ---
0 | 0 | Q
0 | 1 | 0
1 | 0 | 1
1 | 1 | ??

Другой способ описания поведения различных триггеров - обычный текст.

- D триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, мгновенно становится значением входа D (Данные).

- T триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, меняется или остаётся прежним в зависимости от того, какое значение на входе T (Переключение): 1 или 0.

- J-K триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, меняется, если на входах J и K единица; остаётся прежним, если на них 0; если значения на них различны, то значение становится единицей, если на входе J (Прыжок) - 1; или нулём, если на входе K (Забой) - 1.

- S-R триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, остаётся неизменным, если на входах R и S - 0; становится 0, если на входе R (Сброс) - 1, и становится 1, если на входе S (Установка) - 1. Поведение не определено, если на обоих входах 1. (В Logisim значение триггера остается неизменным.)

По умолчанию тактовый вход срабатывает при переднем фронте - то есть когда значение на тактовом входе меняется с 0 на 1. Впрочем, атрибут Срабатывание позволяет сменить это на задний фронт (когда значение на тактовом входе меняется с 1 на 0), на Высокий уровень (срабатывать непрерывно на протяжении времени, когда на тактовом входе 1), или на Низкий уровень (срабатывать непрерывно на протяжении времени 0). Варианты "... уровень" недоступны для T и J-K триггеров, так как триггер ведет себя непредсказуемо, если заставить его переключаться непрерывно на протяжении отрезка времени.

## Контакты

Западный край, отмечен треугольником (вход, разрядность равна 1)
  Тактовый вход: в момент, когда значение на этом входе меняется с 0 на 1 (передний фронт), значение триггера будет обновлено в соответствии с другими входами на западном крае. Пока значение на этом входе остаётся 0 или 1, другие входы на западном крае не имеют эффекта.
Западный край, другой отмеченный контакт(ы) (вход(ы), разрядность равна 1)
  Эти входы управляют тем, как значение триггера меняется в момент срабатывания тактового входа. Их точное поведение зависит от триггера; приведенная выше таблица описывает его.
Восточный край, отмечен Q, северный контакт (выход, разрядность равна 1)
  Выдаёт значение, хранящееся в данный момент в триггере.
Восточный край, южный контакт (выход, разрядность равна 1)
  Выдаёт дополнение для значения, хранящегося в данный момент в триггере.
Южный край, восточный контакт (вход, разрядность равна 1)
  Асинхронный сброс: если на этом входе 0 или неопределённое значение, то он не имеет эффекта. Пока на нём 1, значение триггера фиксировано на 0. Это происходит асинхронно - то есть вне зависимости от текущего значения на тактовом входе. Пока на нём 1, другие входы не имеют эффекта.
Южный край, центральный контакт (вход, разрядность равна 1)
  Включение: когда на этом входе 0, срабатывания тактового входа игнорируются. Текущий бит по-прежнему поступает на выход. Срабатывания тактового входа включаются, когда значение этого входа 1 или не определено.
Южный край, западный контакт (вход, разрядность равна 1)
  Асинхронная установка: если на этом входе 0 или неопределённое значение, то он не имеет эффекта. Пока на нём 1, значение триггера фиксировано на 1. Это происходит асинхронно - то есть вне зависимости от текущего значения на тактовом входе. Пока на этом входе 1, другие входы не имеют эффекта, за исключением входа Асинхронный сброс - он имеет приоритет.

## Атрибуты

Срабатывание
  Определяет, как обрабатывается тактовый вход. Значение Передний фронт означает, что триггер должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение Задний фронт означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0. Значение Высокий уровень означает, что триггер должен обновляться непрерывно, пока на тактовом входе 1. И значение Низкий уровень означает, что он должен обновляться непрерывно, пока на тактовом входе 0. Обратите внимание, что два последних варианта недоступны для T и J-K триггеров.
Метка
  Текст внутри метки, привязанной к триггеру.
Шрифт метки
  Шрифт, которым отрисовывается метка.

## Поведение Инструмента Нажатие

Щелчок на триггере с помощью Инструмента Нажатие переключают бит, хранящийся в триггере, если входы Асинхронный сброс/установка не фиксируют значение в данный момент.

## Поведение Инструмента Текст

Позволяет редактировать привязанную к компоненту метку.

Назад к Справке по библиотеке