|
|
Триггеры D/T/JK/RS |
| Библиотека: | Память | |||||||||||||||
| Введён в: | 2.0 Beta 1 | |||||||||||||||
| Внешний вид: |
|
Поведение
Каждый триггер хранит один бит данных, который выдаётся на выход Q на правой стороне. В нормальном состоянии значением можно управлять через входы на левой стороне. В частности, значение меняется, когда значение на тактовом входе, отмеченном треугольником на каждом триггере, меняется с 0 на 1 (или наоборот, если так настроено); в момент этого перехода значение меняется в соответствии с таблицей ниже.
| D-триггер | T-триггер | JK-триггер | RS-триггер | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
Другой способ описания поведения различных триггеров — обычный текст.
-
D-триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, мгновенно становится значением входа D (Данные).
-
T-триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, меняется на противоположное или остаётся прежним в зависимости от того, какое значение на входе T (Переключение): 1 или 0.
-
JK-триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, инвертируется, если на входах J и K единица (1); остаётся прежним, если на них 0; если значения на них различны, то значение становится единицей (1), если на входе J (Прыжок) — 1; или нулём (0), если на входе K (Забой) — 1.
-
RS-триггер: когда тактовый вход срабатывает, значение, хранящееся в триггере, остаётся неизменным, если на входах R и S — 0; становится 0, если на входе R (Сброс) — 1, и становится 1, если на входе S (Установка) — 1. Поведение не определено, если на обоих входах 1. (В Logisim значение триггера остается неизменным.)
По умолчанию тактовый вход срабатывает по фронту — то есть когда значение на тактовом входе меняется с 0 на 1. Впрочем, атрибут Срабатывание позволяет сменить это на спад (когда значение на тактовом входе меняется с 1 на 0), на Высокий уровень (срабатывать непрерывно на протяжении времени, когда на тактовом входе 1), или на Низкий уровень (срабатывать непрерывно на протяжении времени 0). Варианты «... уровень» недоступны для T и JK-триггеров, так как триггер ведет себя непредсказуемо, если заставить его переключаться непрерывно на протяжении отрезка времени.
Контакты
- Левая сторона, отмечена треугольником (вход, разрядность равна 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 и JK-триггеров. - Метка
- Текст внутри метки, привязанной к триггеру.
- Шрифт метки
- Шрифт, которым отрисовывается метка.
- Внешний вид
- Определяет внешний вид триггеров: «Классический Logisim» (традиционное представление Logisim) или «Logisim-HolyCross» / «Logisim-Evolution» (представление в стандарте IEC).
Поведение Инструмента «Нажатие»
Щелчок на триггере с помощью Инструмента «Нажатие» переключает бит, хранящийся в триггере, если входы Асинхронный сброс/установка не фиксируют значение в данный момент.
Назад к Справке по библиотеке







