шлепанцы, основная концепция с защелкой

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


person t0ma5    schedule 12.03.2012    source источник


Ответы (3)


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

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

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

person Ramsharan    schedule 09.09.2012

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

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

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

person Chaos    schedule 14.03.2012

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

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

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

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

person Nathan Fellman    schedule 13.03.2012
comment
Классическим примером является преобразование переходного сигнала. В этом цикле t = Tnow условие X истинно, но где условие X ложно в момент t! = Tnow, в сигнал. Видел ли я когда-нибудь, чтобы условие X было истинным, которое ложно в t ‹Tnow, но trie для всех времен t› = Tnow. // увидеть разницу? Кратковременный по сравнению с постоянным. - person Krazy Glew; 07.08.2012