Кажется, существует несколько разных определений триггеров и защелок, некоторые из которых противоречивы.
Учебник по информатике для курса, который я преподаю, вероятно, является наиболее запутанным (на самом деле я мало верю в книгу, потому что в некоторых местах она просто неверна).
Я доволен работой защелок (SR, стробированный SR, стробированный D) и разницей между устройствами, запускаемыми по уровню и по краю, по крайней мере, с точки зрения логических элементов и временных диаграмм. Тем не менее, я все еще ищу краткое определение триггера и защелки.
Это то, во что я верю до сих пор:
«Триггер - это бистабильное устройство, запускаемое по фронту, которое может хранить 1 бит».
«Защелка - это бистабильное устройство, управляемое уровнем, которое может хранить 1 бит».
Я посмотрел предыдущие посты на этом сайте об этом, и, как ни показательно, я все еще ищу что-то определенное.
Мое текущее понимание, которое я хочу проверить, приведено в диаграммах ниже ...
Я понимаю, что рядом есть две реализации стробируемой D-защелки, запускаемой по уровню.
Ниже находится детектор положительного фронта, в тот короткий момент, когда вентиль NOT еще не ответил на вход изменения с низкого уровня на высокий, а именно нарастающий фронт (красный - 1, синий - 0).
На последней диаграмме детектор контуров был установлен на датированную D-защелку, и это делает его триггером.
Последняя диаграмма на самом деле - триггер, или это все-таки просто защелка?
И зачем нам версия master-slave, учитывая, что это устройство намного проще?
Ответы:
Я много думал об этом определении сегодня.
Как отмечали другие, точные значения будут разными. Кроме того, вы, вероятно, увидите, что больше людей ошибаются даже на этом сайте, чем правильно. Мне все равно, что говорит Википедия!
А вообще:
Дополнительно,
Триггер наиболее типично характеризуется топологией ведущий-ведомый. Это две взаимосвязанные (между ними может быть логика) противоположные фазовые защелки вплотную (иногда в промышленности, называемые L1 / L2).
Это означает, что триггер по своей сути состоит из двух элементов памяти: один для удержания во время низкого цикла и один для удержания во время высокого цикла.
Защелка - это всего лишь один элемент памяти (SR-защелка, D-защелка, JK-защелка). По моему мнению, только то, что вы вводите поток данных в элемент памяти в тактовый элемент, не делает его триггером (хотя это может заставить его действовать как единое целое: т. Е. Срабатывает больше переднего фронта). Это просто делает его прозрачным в течение определенного времени.
Ниже показан настоящий триггер, созданный из двух защелок SR (обратите внимание на противоположные фазовые часы).
И еще один настоящий триггер (это самый распространенный стиль в VLSI) из двух D-защелок (стиль шлюза передачи). Снова обратите внимание на противоположные фазы часов :
Если вы достаточно быстро переключаете часы на защелку, она начинает напоминать поведение триггера (импульсная защелка). Это часто встречается при проектировании высокоскоростного канала передачи данных из-за меньшей задержки от D-> Out и Clk-> Out, в дополнение к предоставленному лучшему времени установки (время удержания также должно увеличиться, небольшая цена для оплаты) за счет прозрачности на протяжении пульс. Это делает это шлепком? Не совсем, но, похоже, выглядит как один!
Тем не менее, это гораздо сложнее гарантировать работу. Вы должны проверить по всем углам процесса (быстрый nmos, медленный pmos, высокая крышка провода, низкий провод r; как пример) и все напряжения (низкое напряжение вызывает проблемы), чтобы импульс от вашего детектора края оставался достаточно широким, чтобы фактически открыться защелка и разрешить данные в.
По вашему конкретному вопросу, почему он считается импульсным фиксатором, а не триггером, это потому, что у вас действительно только один чувствительный элемент хранения битов одного уровня. Несмотря на то, что пульс узкий, он не образует систему блокировки-дамбы, которая создает триггер.
Вот статья, описывающая очень похожую импульсную защелку на ваш запрос. Соответствующая цитата: «Если форма импульса синхроимпульса запускает защелку, защелка синхронизируется с часами аналогично триггеру с триггером, потому что нарастающий и падающий фронты импульса синхроимпульса практически идентичны с точки зрения синхронизации».
РЕДАКТИРОВАТЬ Для некоторой ясности я включил графический дизайн на основе защелки. Между ними есть защелка L1 и L2 с логикой. Это метод, который может уменьшить задержки, так как защелка имеет меньшую задержку, чем триггер. Триггер «раздвинут», а логика посередине. Теперь вы сохраняете пару задержек в воротах (по сравнению с триггером на обоих концах)!
источник
Многие люди будут называть синхронизированные устройства «триггерами», а не синхронизированные - защелками. Назад, когда я узнал это, это были «синхронизированные шлепанцы» и «шлепанцы». Любой может быть вызван краем.
Существует достаточно двусмысленности, что, когда это важно, полагаться на листы с номерами деталей, а также на временные диаграммы, а не на описания слов.
источник
Спасибо всем, кто ответил на мой вопрос. Как и следовало ожидать, есть некоторые разногласия. К сожалению, семантика часто важнее понимания, когда дело доходит до экзаменов. Если мне нужно поспорить с экзаменационной комиссией за неправильную маркировку экзаменационной работы студента A Level Computer Science (и я делал это в прошлом), я хочу быть в сильной позиции. Я думал, что поделюсь с вами парой страниц официального учебника курса A Level.
Первая диаграмма - активная низкая защелка SR. Книга называет это триггером.
В тексте книга гласит: «Используя два триггера, мы можем создать схему, называемую триггер D-типа, которая использует схему, управляемую часами, для управления выходом, задерживая его на один тактовый импульс. D обозначает задержку «. Этот текст, кажется, относится к конфигурации «ведущий / ведомый». Вторая диаграмма (рисунок 14.2) помечена как триггер D-типа. На самом деле это активная задвижка с высоким стробированием.
Не очень полезно!
Я собираюсь остановиться на том, что «триггер чаще всего характеризуется топологией ведущий-ведомый». Как предположил jbord39, с оговоркой, что термин триггер часто используется для обозначения защелки, запускаемой по краю, а иногда и просто любого вида защелки. Я думаю, что именно отсюда приходит книга, хотя и не доходит до нее убедительно.
Еще раз спасибо всем.
источник
Флип-флоп отличается от защелки. Обе они являются бистабильными цепями, но на самом деле это две разные вещи.
защелки имеет разрешающий контактные и прослушивает ввод данных / входы только тогда , когда этот контакт является высоким. Когда он низкий, защелка замерзает и запоминает свое состояние. Теперь даже вы манипулируете входами, он не будет реагировать.
Флип - флоп содержит тактовый штифт вместо того , который реагирует только на изменение импульсов (сдвиги уровней). Подумайте о прямоугольной волне. Переходное время между выключением и включением, выключением и включением - это время, в течение которого схема реагирует на входные сигналы. Только тогда он доступен для изменения, а не тогда, когда штифт стабилен и полностью включен.
Обратите внимание, что зеленые линии представляют период, который он слушает, а красные линии - период, когда его нет. Защелка позволяет вводить только в течение периодов, показанных самыми верхними красными линиями.
Автономный SR не является практически осуществимой схемой на практике.
Авторы jbord39 за указание на ошибку. Изображение взято с radio-elctronics.com и отредактировано.
источник
Термины, которые вы используете в своем вопросе, на 100% соответствуют тому, что я слышал в контексте проектирования аналоговых ИС. Защелки имеют чувствительный к уровню сигнал включения, тогда как триггеры имеют чувствительные к фронту сигналы разрешения, называемые «часы». Я заметил несколько мест в Интернете или в некоторых книгах, которые, кажется, используют термин триггер для обоих типов, что может иметь смысл, если вы просто думаете о состоянии схемы «триггер» между двумя стабильными точками, но всякий раз, когда дизайнеры говорят о В схемах, где я работаю, защелки чувствительны к уровню, а триггеры (или обычно просто «флопы») чувствительны к краям.
О вашем другом вопросе о том, следует ли спроектировать триггер в виде защелки с детектором кромки в сравнении с парой защелок «ведущий-ведомый». Любой способ может работать, при условии, что в вашем детекторе краев достаточно времени. Защелки будут иметь минимальное время включения. Я подозреваю, что сделать высокоскоростной триггер, используя технику детектора краев, сложнее, и время настройки / удержания может варьироваться в зависимости от процесса / напряжения / температуры.
источник
(Пропустите до конца, если вы хотите знать, является ли последний контур ОП триггером или защелкой.)
В общих чертах, триггер - это схема логических элементов (или компонентов), которая позволяет фиксировать 2 состояния вместе с тактовым выводом, который обеспечивает эти изменения состояний.
Теперь вот разница между триггером и защелкой. Защелки асинхронные, а триггеры - синхронные.
Асинхронные защелки не требуют вывода обновления, который обычно называют
CLK
триггером (сокращение от часов). Все они заботятся, если входы в определенном состоянии, либоHIGH
илиLOW
. Когда определенная комбинацияHIGH
s иLOW
s инициируется на входе, то есть когда схема решает выполнить действие, и желаемый результат возвращается «немедленно». Есть 4 возможных действия в защелке.Обратите внимание, что
Q'
это зависит отQ
.Примером является защелка SR, которая демонстрирует все 4 возможных действия, которые может выполнить защелка:
CLK
булавка, как указано выше. КогдаCLK
вывод меняет состояние (сLOW
наHIGH
, наоборот или даже на оба), выводы данных «захватываются», и триггер выполняет действие, основанное на комбинацииHIGH
s иLOW
s данных, полученных с выводов данных. Есть два действия дляCLK
булавки.Опять же, есть 4 возможных действия, которые схема может выполнить на выходе.
ЭТО НЕ Шлепок:
Но почему вы можете спросить? Что
E
контакт не является контактом часов. Выводы синхронизации позволяют схеме анализировать информацию из выводов данных ОДИН РАЗ, когда эта информация отправляется в виде инструкций для выполнения определенных действий на выходе. Тем не менее, активируйте выводы, подобные этой, что позволяет схеме анализировать информацию с выводов данных, пока она поддерживается на высоком уровне и постоянно устанавливает значения выхода. Таким образом, это защелка. (Спасибо jbord39 за указание на мою ошибку).Таким образом, триггер похож на защелку, за исключением того, что вам нужен дополнительный шаг «подтверждения», который является
CLK
пин-код.Так что, последняя цепочка вопроса ОП - триггер? Попробуйте удерживать C на высоком уровне и посмотрите, не изменится ли выход при изменении значения D. Если выход изменится, его вместо этого следует назвать enable и это защелка. Но если вывод не меняется (в этом случае), то это триггер.
Изображения получены из Википедии.
источник