Разница между защелкой и триггером?

51

В чем разница между защелкой и триггером?

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

Что это обозначает? Триггер такой же, как защелка или нет?

trapaank
источник

Ответы:

23

Основное отличие заключается в механизме гейтинга или тактирования. Например, давайте поговорим о SR-триггерах и SR-триггерах.

SR Latch будет выглядеть так

SR Latch с использованием ворот NAND

В этой схеме, когда вы устанавливаете S как активный, выход Q будет высоким, а Q 'будет низким. Это независимо от чего-либо еще. (Это активная цепь низкого уровня, поэтому активный здесь означает низкий уровень, но для активного высокого уровня активный означает высокий)

Триггер SR (также называемый закрытой или синхронизированной защелкой SR) выглядит следующим образом.

введите описание изображения здесь

В этой схеме выход изменяется (т.е. сохраняются данные) только тогда, когда вы даете активный тактовый сигнал. В противном случае, даже если активны S или R, данные не изменятся. Этот механизм используется для синхронизации цепей и регистров, так что данные не изменяются без необходимости.

Rick_2047
источник
так могу ли я сделать вывод, что защелки запускаются по уровню, а триггеры - по краю?
Трапаанк
5
Защелки не срабатывают вообще. Как только я даю ввод, я получаю вывод в защелках. Триггеры запускаются так, как если бы я дал тактовый триггер, чтобы преобразовать мой вход в выходной.
Rick_2047
1
Это не SR триггер. Это закрытый замок SR. Время установки и удержания этой цепи будет работать так же, как и любая другая защелка с выводом «включить прозрачность». Триггер - это конфигурация «ведущий-ведомый». Просто подумайте о переходе от цикла к циклу с этой защелкой. Тебе нельзя. Вам потребуются две защелки с противоположными фазовыми часами (отсюда и флип-флоп)
jbord39
19

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

Тип защелки не имеет значения (JK, SR, D, T) для этого ограничения, но важно, чтобы прозрачность контролировалась каким-либо выводом (назовите его «Clock» или «Enable» или как вам угодно).

Защелки SR бросают каждый за петлю, потому что самый базовый дизайн всегда прозрачен. Таким образом, как только часы включены, люди начинают называть это триггером. Ну, это не так; это закрытая защелка. Однако вы можете построить триггер SR из двух защелок SR:

правда SR триггер

Или две защелки JK:

правда JK FF

Или две защелки D: введите описание изображения здесь

Добавление булавки часов к защелке (SR или JK) не делает его триггером - оно делает его закрытой защелкой. Пульсирование часов на закрытой защелке также не делает его триггером; это делает его импульсной защелкой ( описание импульсной защелки ).

Триггеры запускаются по фронту, и время установки и удержания относятся к этому активному фронту. Традиционный триггер не позволит заимствовать время за границами цикла, поскольку топология «главный-подчиненный» действует как система блокировки-и-дамбы, создавая жесткий край на активных часах.

Защелки с другой стороны устанавливаются на прозрачность защелки и удерживаются, пока защелка не закроется. Они также позволяют занимать время на протяжении всей фазы прозрачности. Это означает, что если один полупериод медленно, а другой полупериод быстро; при использовании схемы с защелкой медленный путь может занимать время в цикле быстрых путей.

Очень распространенная хитрость при проектировании, когда вам нужно выжать каждую пикосекунду из пути, - это раздвинуть триггер (на две отдельные защелки) и выполнить логику между ними.

В основном время установки и удержания совершенно различны для защелки и триггера; с точки зрения того, как обрабатываются границы цикла. Различие важно, если вы делаете какой-либо дизайн на основе защелки. Многие люди (даже на этом сайте) перепутают их. Но как только вы начнете измерять их, разница станет кристально ясной.

Также см:

хороший текст, описывающий защелки и шлепки

Что такое триггер?

Редактировать:

Просто показывает D-триггер на основе t-гейта (обратите внимание, что он построен из двух D-защелок на основе t-гейта с противоположными фазами).

T-Gate на основе D FF

jbord39
источник
Привет, Дж.Б. В моих книгах «защелка» - это асинхронный регистр памяти, а «триггер» - это синхронный регистр памяти, некоторые с асинхронными функциями, называемыми «Set / Reset». Фактически все синхронные операции чувствительны к фронту.
Тони Стюарт Sunnyskyguy EE75
@ TonyStewart.EEsince'75: Хех, кто-то еще ответил прямо передо мной. Да, я знаком с этим определением, но оно немного ручное. Я думаю, что гораздо яснее понять, что триггер построен из двух защелок с противоположными фазовыми часами. Это дает очень точное представление о том, что именно происходит внутри, и лучшее понимание времени установки и удержания. Это важное различие при характеристике стандартных ячеек или при проектировании любого пути к данным. Это также оставляет место для неоднозначности: например, время заимствования триггеров имеет асинхронный характер вокруг активного края clk.
jbord39
Замена флопов парами защелок, которые работают на разных фазах тактового генератора, дает возможность включить мертвое время между этими фазами. Если некоторые микросхемы активируют свои входные защелки только тогда, когда их вход тактового сигнала ниже (1/3) VDD, а внутренние микросхемы защелкиваются только тогда, когда вход тактового сигнала выше (2/3) VDD, микросхемы, которые используют одни и те же часы, будут быть в состоянии общаться надежно, даже если они не видят переключателя часов в один и тот же момент, при условии, что все микросхемы видели повышение частоты выше (1/3) VDD прежде, чем кто-либо увидит его выше (2/3) VDD. Такой дизайн, казалось бы, ...
суперкат
... функционально лучше, чем триггер Шмидта почти во всех отношениях; Интересно, почему регистры чаще используют триггеры Шмидта, чем разделяют синхронизацию между входом и выходом?
суперкат
1
+1. Это лучший ответ, ИМО. Другие, так или иначе, запутывают разницу между запуском по краям (FF) и стробированием (закрытые защелки). Немного тяжело в реализации, особенно для начинающих. Ниппик: кажется, вы подразумеваете, что единственная техника для реализации запуска по фронту - это соединение двух защелок в конфигурации «ведущий-ведомый». Я не эксперт, но я думаю (IIRC), есть и другие хитрости для реализации запуска по фронту.
Лоренцо Донати поддерживает Монику
6

Защелка передает входные данные непосредственно в открытом состоянии и замораживает вывод в заблокированном состоянии. Защелка реагирует на уровень контрольного сигнала.

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

Олин Латроп
источник
так есть ли разница между защелкой и триггером или нет?
трапаанк 7.11.11
@ ankur.trapasiya: Да.
Олин Латроп
хммм ... прояснилось несколько .. !! я понял, что триггеру нужны часы, а защелке - нет.
трапаанк
1
@ ankur.trapasiya: да, у защелок нет входа часов, но у них есть соответствующий вход: большую часть времени называется ENABLE. Вход тактового сигнала D-триггера чувствителен к фронту, вход разрешения защелки чувствителен к уровню, то есть выход изменяется, когда активация активна, и вход изменяется.
Творог
1
@Jbord: ты делаешь это слишком сложным. Защелки регулируются по уровню, а шлепанцы - по краю. Это почти все, что нужно сделать.
Олин Латроп
6

Защелка является примером бистабильного мультивибратора, то есть устройства с ровно двумя устойчивыми состояниями.
Эти состояния являются высокими и низкими.
Защелка имеет путь обратной связи, поэтому информация может быть сохранена устройством.
Поэтому защелки могут быть устройствами памяти и могут хранить один бит данных до тех пор, пока устройство включено.
Как следует из названия, защелки используются для фиксации информации и удержания ее на месте.
Защелки очень похожи на триггеры, но не являются синхронными устройствами и не работают на фронтах тактовой частоты, как триггеры.

введите описание изображения здесь

Триггер - это устройство, очень похожее на защелку в том смысле, что оно является бистабильным мутивибратором, имеющим два состояния и путь обратной связи, который позволяет ему хранить немного информации.
Разница между защелкой и триггером заключается в том, что защелка является асинхронной, и выходы могут изменяться, как только поступают входные сигналы (или, по крайней мере, после небольшой задержки распространения).
Триггер, с другой стороны, запускается по фронту и меняет состояние только тогда, когда сигнал управления переходит от высокого к низкому или от низкого к высокому.
Это различие является относительно недавним и не формальным, поскольку многие органы власти все еще называют триггеры защелками и наоборот, но для ясности это полезное различие.

введите описание изображения здесь

Gouse Shaik
источник
Защелка не является (бистабильным или любым другим) мультивибратором.
Творог
2

Разница между защелками и триггерами заключается в том, что на их выходы постоянно влияют их входы, пока присутствует сигнал разрешения. Когда они включены, их содержимое изменяется сразу же после изменения их входных данных. Триггеры изменяют свое содержимое только на переднем или заднем фронте разрешающего сигнала. Этот разрешающий сигнал управляет тактовым сигналом. После нарастающего или заднего фронта часов содержание триггера остается постоянным, даже если ввод изменяется.

Prasanth
источник
2

Разница в основном в предполагаемом использовании. Триггер является общей идеей и имеет вариации - как он запускается, входы JK или D, и все такое. Флип может быть использован для счетчиков, регистров сдвига и всех других применений, которые можно найти в текстах и ​​онлайн-статьях о триггерах.

Защелка - это одно конкретное использование, где набору триггеров (может быть всего один, я полагаю) присваиваются логические уровни, они синхронизируются и после этого постоянно держат эти значения на своих выходах. Снимок, так сказать, двоичного значения. Никакого изменения значений выходов не происходит, за исключением случаев, когда новые входы синхронизируются или защелка очищается, что означает установку всех выходов на ноль.

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

DarenW
источник
2

Прозрачная защелка - это устройство с вводом данных и управляющим входом. Управляющий вход имеет два состояния, которые можно назвать «дорожка» и «удержание». Некоторые устройства будут воспринимать «высокий» уровень на входе управления как «дорожку», а низкий уровень - как «удерживать»; другие делают наоборот. Всякий раз, когда управляющий вход находится в состоянии «дорожка», состояние выхода будет непрерывно пытаться следовать состоянию ввода данных (будет короткая задержка между временем изменения ввода данных и отражением изменения выхода). Если управляющий вход переходит из состояния «дорожка» в состояние «удержание», при условии, что последнее изменение ввода данных имело шанс достичь выхода, выход будет сохранять свое значение до тех пор, пока управляющий вход не перейдет вернуться в состояние «трек».

Хотя прозрачные защелки могут использоваться разными способами, важно понимать, по крайней мере, два сценария использования. В одном сценарии защелка используется для преобразования сигнала, который иногда будет содержать действительные данные, а иногда и недействительные данные, в сигнал, который всегда будет содержать действительные данные. Это делается путем удержания защелки в состоянии «удержание» в любое время, когда ввод данных может не соответствовать желаемым выходным данным. Чтобы изменить зафиксированные данные, можно было бы поместить желаемые данные на вход, затем кратко установить защелку в состояние «отслеживание» и обратно в состояние «удержание», следя за тем, чтобы ввод данных не изменялся на нежелательное значение, пока « сигнал удержания активен. Эта схема может использоваться, например, для управления 64 выходами с использованием восьми сигналов управления и восьми сигналов данных. Каждый управляющий сигнал управляет восемью защелками, один из которых подключен к каждому из восьми сигналов данных. Можно использовать триггеры, запускаемые по краям, так же легко, как и защелки, но схема защелки несколько проще. Обратите внимание, что триггер с триггером в этом сценарии в идеале должен срабатывать при переходе от «удержания» к «дорожке».

Во втором сценарии использования ввод может не иметь смысла, когда защелка переключается на «прозрачный», но становится значимым до переключения защелки на «удержание». Если устройства, которые используют его выход, не будут заботиться о его состоянии до тех пор, пока через некоторое время после того, как защелка переключится на «удержание», то это будет состояние ввода данных в то время, которое будет подано на выход. В этом сценарии можно использовать триггер с триггером, но он должен срабатывать при переходе от «дорожки» к «удержанию». Обратите внимание, что если данные, введенные в защелку, становятся действительными за значительное время до перехода от «удержания» к «отслеживанию», вывод будет действовать аналогичным образом. Напротив, вывод триггера станет действительным только при смене часов.

Supercat
источник
1

Основное различие заключается в том, что защелка - это уровень, запускаемый, для которого возникает гонка вокруг условия в JK-защелке и Т-защелке, где, поскольку в JK-FF и T-FF нет гонки вокруг условия, а триггеры срабатывают по краю, поэтому нет гонки вокруг условия в фф.

судха
источник
0

Основное различие между защелками и триггерами состоит в том, что для защелок их выходы постоянно зависят от их входов, пока подается сигнал разрешения. Другими словами, когда они включены, их содержимое изменяется сразу же после изменения их входных данных. С другой стороны, триггеры изменяют свое содержимое только на переднем или заднем фронте сигнала включения. Этот разрешающий сигнал обычно является управляющим тактовым сигналом. После нарастающего или падающего фронта тактового сигнала содержимое триггера остается постоянным, даже если изменяется вход

антонио
источник
5
Похоже, это не добавляет ничего, что еще не было рассмотрено в ответе Прасанта, который был опубликован более двух лет назад.
PeterJ
@PeterJ: Это исправляет грамматику (исходный ответ имел неразрешенный антецедент). Должно быть, было изменение к более раннему ответу, все же.
Бен Фойгт