триггер, защелка основная концепция - PullRequest
0 голосов
/ 12 марта 2012

Я надеюсь, что кто-то может помочь мне с этим. Я не могу понять смысл использования триггеров, смысл сохранения состояния. Если мы хотим сохранить предыдущее состояние, почему бы нам просто не сохранить входные данные такими, какие они есть. В общем, почему это не так: input = output, используя not gates, например. Или триггеры используются в хранилище памяти из-за того факта, что после выдачи выходных данных входы можно обнулить и использовать их для других целей и при этом поддерживать выходной сигнал?

Ответы [ 3 ]

2 голосов
/ 09 сентября 2012

Утилита триггера позволяет сохранить состояние и сделать его стабильным.

Для заявления о вводе "input = output" вы должны понимать, что каждое изменение в строке ввода не обязательно является вводом для триггера.И еще одна вещь: вывод может быть некоторой операцией предыдущего вывода и существующего ввода, тогда вам нужен предыдущий вывод, который вы должны где-то хранить, для которого используется триггер (а регистр - это группа триггеров).

В триггере мы используем часы для синхронизации операции.В зависимости от типа триггера, т. Е. Триггера фронта или триггера уровня, вход в триггере влияет на его выход.Например: для триггера триггера уровня вход в триггере влияет на его выход только при высоком тактовом сигнале.
Итак, на ваш вопрос, что «входы могут быть установлены в нули для поддержания выходов», выверно, что это помогает поддерживать выходы, но это не только тот случай, когда нужно поддерживать выходы.Когда часы низкие, смена входов не влияет на выход.

1 голос
/ 15 марта 2012

Вьетнамки используются для хранения 1 бита информации. Они обычно используются в регистрах, в которых хранятся значения, с которыми нужно работать (32/64 битные значения). Шлепанцы обычно имеют возможность. Когда разрешение отключено, триггер поддерживает состояние (то есть хранит 1 бит информации). Когда включение включено, то на следующем фронте тактового сигнала (положительном или отрицательном) выход триггера изменится, в зависимости от того, какой это тип триггера, и каковы входы.

Например, в триггере T (тумблер) состояние вывода переворачивается (от 1 до 0 или от 0 до 1) всякий раз, когда T = 1 и Enable = 1. Таким образом, до тех пор, пока Enable = 0, независимо от значения T, выход не изменится, и триггер продолжит поддерживать то же состояние. Когда разрешение изменяется на 1, а если T = 1, то на следующем фронте тактового сигнала триггер изменит состояние (от 1 до 0 или от 0 до 1).

Более практичный пример с регистрами. Допустим, у нас есть 32-битный регистр. Каждый триггер хранит 1 бит, поэтому у нас есть 32 триггера. Когда в регистр загружается 32-битное значение, включаются триггеры, а состояния триггера устанавливаются в соответствии с входом. И тогда разрешения будут отключены, и триггеры будут поддерживать состояние, пока в регистр не будет загружено какое-то другое значение.

0 голосов
/ 13 марта 2012

Это правильный ответ (цитата из вопроса):

... из-за того факта, что после выдачи выходных данных входы могут быть установлены в нули и при этом сохранены выходные данные

Более того, FF, которые являются более сложными, чем базовые FF SR, с которыми вы сталкиваетесь в первом классе на FF, имеют вход разрешения, который сообщает FF, когда следует просматривать входные данные, так что если любой из входов изменяется на один, когда разрешение выключено, выход остается неизменным.

Это позволяет сохранять значения на выходе независимо от значения на входе.

...