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


25

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

Учебник по информатике для курса, который я преподаю, вероятно, является наиболее запутанным (на самом деле я мало верю в книгу, потому что в некоторых местах она просто неверна).

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

Это то, во что я верю до сих пор:

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

«Защелка - это бистабильное устройство, управляемое уровнем, которое может хранить 1 бит».

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

Мое текущее понимание, которое я хочу проверить, приведено в диаграммах ниже ...

Я понимаю, что рядом есть две реализации стробируемой D-защелки, запускаемой по уровню.

Ниже находится детектор положительного фронта, в тот короткий момент, когда вентиль NOT еще не ответил на вход изменения с низкого уровня на высокий, а именно нарастающий фронт (красный - 1, синий - 0).

На последней диаграмме детектор контуров был установлен на датированную D-защелку, и это делает его триггером.

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

Последняя диаграмма на самом деле - триггер, или это все-таки просто защелка?

И зачем нам версия master-slave, учитывая, что это устройство намного проще?


1
@DanielTork, почему бы не сделать это ответ?
Ледяной

10
В Австралии и Новой Зеландии они представляют собой туфли с открытым верхом, которые часто носят на пляже или в хорошую погоду. ;)
KyranF

3
В США тоже. Но мы привыкли называть их стрингами, но теперь это относится к чему-то другому ;-)
Приостановлено до дальнейшего уведомления.

1
Теперь я хочу увидеть принципиальную схему, нарисованную сандалиями, известными как шлепанцы ...
Кешлам

1
@immibis убирайся отсюда, ты, гнилой киви!
KyranF

Ответы:


11

Я много думал об этом определении сегодня.

Как отмечали другие, точные значения будут разными. Кроме того, вы, вероятно, увидите, что больше людей ошибаются даже на этом сайте, чем правильно. Мне все равно, что говорит Википедия!

А вообще:

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

Дополнительно,

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

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

Это означает, что триггер по своей сути состоит из двух элементов памяти: один для удержания во время низкого цикла и один для удержания во время высокого цикла.

Защелка - это всего лишь один элемент памяти (SR-защелка, D-защелка, JK-защелка). По моему мнению, только то, что вы вводите поток данных в элемент памяти в тактовый элемент, не делает его триггером (хотя это может заставить его действовать как единое целое: т. Е. Срабатывает больше переднего фронта). Это просто делает его прозрачным в течение определенного времени.

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

правда д фф

И еще один настоящий триггер (это самый распространенный стиль в VLSI) из двух D-защелок (стиль шлюза передачи). Снова обратите внимание на противоположные фазы часов :

истинный стиль триггера

Если вы достаточно быстро переключаете часы на защелку, она начинает напоминать поведение триггера (импульсная защелка). Это часто встречается при проектировании высокоскоростного канала передачи данных из-за меньшей задержки от D-> Out и Clk-> Out, в дополнение к предоставленному лучшему времени установки (время удержания также должно увеличиться, небольшая цена для оплаты) за счет прозрачности на протяжении пульс. Это делает это шлепком? Не совсем, но, похоже, выглядит как один!

Тем не менее, это гораздо сложнее гарантировать работу. Вы должны проверить по всем углам процесса (быстрый nmos, медленный pmos, высокая крышка провода, низкий провод r; как пример) и все напряжения (низкое напряжение вызывает проблемы), чтобы импульс от вашего детектора края оставался достаточно широким, чтобы фактически открыться защелка и разрешить данные в.

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

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

РЕДАКТИРОВАТЬ Для некоторой ясности я включил графический дизайн на основе защелки. Между ними есть защелка L1 и L2 с логикой. Это метод, который может уменьшить задержки, так как защелка имеет меньшую задержку, чем триггер. Триггер «раздвинут», а логика посередине. Теперь вы сохраняете пару задержек в воротах (по сравнению с триггером на обоих концах)!

конструкция с защелкой


«Характеризуется топологией« ведущий-ведомый »- это больше похоже на детали реализации, чем на определяющую поведенческую характеристику. Поведенчески, триггер (по вашему определению) - это однобитовая память, которая срабатывает по фронту. На практике магия реализации, необходимая для аппроксимации запуска по фронту, требует второго элемента хранения!
Оливер Чарльзуорт

1
@OliverCharlesworth: Ну, это деталь реализации. А также физические, поведенческие, структурные и топологические детали. Вы не можете просто назвать защелку триггером, потому что это похоже на один. Возможно, вам это удастся, но чтобы использовать их в полной мере, вам нужно знать разницу. Если вы раздвинете триггер, у вас есть две отдельные защелки противоположной фазы. Вы можете набить логику посередине. Это быстрее, чем флип-флоп на любом конце. Это также позволяет «занимать время» через границу цикла, что является очень важной концепцией для высокоскоростных конструкций.
jbord39

Вот еще несколько полезных картинок DFF, которые могут помочь, смотрите последнюю. Приведенный выше DFF вызывает путаницу из-за фиксации на противоположных фазах часов (то есть, главные защелки на переднем фронте, подчиненные защелки при падении). electronics.stackexchange.com/a/84247/42957
mrbean

Было бы неплохо увидеть пример настоящего однофазного триггерного триггера («TSPC» DFF) здесь.
MrBean

Вот хороший пример
mrbean

1

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

Существует достаточно двусмысленности, что, когда это важно, полагаться на листы с номерами деталей, а также на временные диаграммы, а не на описания слов.


Тогда GTO-SCR также является триггером?
Bradman175

1

Спасибо всем, кто ответил на мой вопрос. Как и следовало ожидать, есть некоторые разногласия. К сожалению, семантика часто важнее понимания, когда дело доходит до экзаменов. Если мне нужно поспорить с экзаменационной комиссией за неправильную маркировку экзаменационной работы студента A Level Computer Science (и я делал это в прошлом), я хочу быть в сильной позиции. Я думал, что поделюсь с вами парой страниц официального учебника курса A Level.

Первая диаграмма - активная низкая защелка SR. Книга называет это триггером.

В тексте книга гласит: «Используя два триггера, мы можем создать схему, называемую триггер D-типа, которая использует схему, управляемую часами, для управления выходом, задерживая его на один тактовый импульс. D обозначает задержку «. Этот текст, кажется, относится к конфигурации «ведущий / ведомый». Вторая диаграмма (рисунок 14.2) помечена как триггер D-типа. На самом деле это активная задвижка с высоким стробированием.

Не очень полезно!

Я собираюсь остановиться на том, что «триггер чаще всего характеризуется топологией ведущий-ведомый». Как предположил jbord39, с оговоркой, что термин триггер часто используется для обозначения защелки, запускаемой по краю, а иногда и просто любого вида защелки. Я думаю, что именно отсюда приходит книга, хотя и не доходит до нее убедительно.

Еще раз спасибо всем.

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


2
Да, эта книга просто вводит в заблуждение. Кроме того, D означает Data, а не задержку ... lol. Важная часть - понять, как они работают, и не слишком увлекаться семантикой. Я объяснил семантику так, как мне ее объяснили в компаниях, где я работал. Это может варьироваться в зависимости от области и уровня опыта (особенно относительно внутренних элементов логических элементов, над которыми я работаю).
jbord39

Я должен согласиться с jbord39. Как я показал в своем ответе, тот E-вход позволяет только данным влиять на вывод. Тем не менее, у вас есть учебники, которые содержат неверную информацию. Довольно раздражает на самом деле.
Bradman175

1

Флип-флоп отличается от защелки. Обе они являются бистабильными цепями, но на самом деле это две разные вещи.

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

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

Время реакции триггера

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

Автономный SR не является практически осуществимой схемой на практике.

Авторы jbord39 за указание на ошибку. Изображение взято с radio-elctronics.com и отредактировано.


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

Я отредактировал ответ @ jbord39
Даниэль Торк

Спасибо, @ Питер Мортенсен. Я этого не видел.
Даниэль Торк

0

Термины, которые вы используете в своем вопросе, на 100% соответствуют тому, что я слышал в контексте проектирования аналоговых ИС. Защелки имеют чувствительный к уровню сигнал включения, тогда как триггеры имеют чувствительные к фронту сигналы разрешения, называемые «часы». Я заметил несколько мест в Интернете или в некоторых книгах, которые, кажется, используют термин триггер для обоих типов, что может иметь смысл, если вы просто думаете о состоянии схемы «триггер» между двумя стабильными точками, но всякий раз, когда дизайнеры говорят о В схемах, где я работаю, защелки чувствительны к уровню, а триггеры (или обычно просто «флопы») чувствительны к краям.

О вашем другом вопросе о том, следует ли спроектировать триггер в виде защелки с детектором кромки в сравнении с парой защелок «ведущий-ведомый». Любой способ может работать, при условии, что в вашем детекторе краев достаточно времени. Защелки будут иметь минимальное время включения. Я подозреваю, что сделать высокоскоростной триггер, используя технику детектора краев, сложнее, и время настройки / удержания может варьироваться в зависимости от процесса / напряжения / температуры.


Интересно, почему я редко вижу флопы, реализованные с парой ведущий / ведомый с неперекрывающимися логическими порогами (таким образом, при входном напряжении ниже VDD / 4 включается ведущий, а при напряжении выше VDD / 2 включается ведомый. Если несколько каскадных провалов при подаче медленно нарастающего или шумящего входного сигнала поведение будет надежным, если только на переднем фронте никто из них не увидит напряжение ниже VDD / 4 после того, как кто-либо из них увидит напряжение выше VDD / 2.
суперкат

@supercat Ты говоришь о гистерезисе?
Cort Ammon - Восстановить Монику

@CortAmmon: Нет - что-то лучше. Если два триггера с независимыми триггерами Шмидта каскадируются, неправильная операция может привести к тому, что первый флоп распознает фронт тактового сигнала и распространит входной сигнал на выход до того, как второй флоп распознает его тактовый фронт. Если триггеры используют разделенные входные пороги, второй флоп будет захватывать его вход, когда часы поднимаются выше нижнего порога, но выход первого флопа не изменится, пока часы не достигнут верхнего порога.
Суперкат

0

(Пропустите до конца, если вы хотите знать, является ли последний контур ОП триггером или защелкой.)

В общих чертах, триггер - это схема логических элементов (или компонентов), которая позволяет фиксировать 2 состояния вместе с тактовым выводом, который обеспечивает эти изменения состояний.

Теперь вот разница между триггером и защелкой. Защелки асинхронные, а триггеры - синхронные.

  • Асинхронные защелки не требуют вывода обновления, который обычно называют CLKтриггером (сокращение от часов). Все они заботятся, если входы в определенном состоянии, либо HIGHили LOW. Когда определенная комбинация HIGHs и LOWs инициируется на входе, то есть когда схема решает выполнить действие, и желаемый результат возвращается «немедленно». Есть 4 возможных действия в защелке.

    1. Ничего не делать
    2. Установите QнаHIGH
    3. Установите QнаLOW
    4. Недопустимое состояние (предположительно инвертируйте значение Q)

    Обратите внимание, что Q'это зависит от Q.

Примером является защелка SR, которая демонстрирует все 4 возможных действия, которые может выполнить защелка: RS Latch

  1. Когда Sесть LOWи RестьLOW , ничего не меняется.
  2. Когда Sесть HIGHи Rесть LOW, QустановленоHIGH .
  3. Когда Sесть LOWи Rесть HIGH, QустановленоLOW .
  4. Когда Sесть HIGHи Rесть HIGH, Qинвертируется с «непредсказуемым» быстрым темпом. Это состояние недействительно.
  • Синхронные триггеры позволяют установить значение для выводов данных. Это означает, что его волнует только состояние этих выводов. Однако схема еще не решает делать какие-либо действия с выходом. У вас есть CLKбулавка, как указано выше. Когда CLKвывод меняет состояние (с LOWна HIGH, наоборот или даже на оба), выводы данных «захватываются», и триггер выполняет действие, основанное на комбинации HIGHs и LOWs данных, полученных с выводов данных. Есть два действия для CLKбулавки.
  1. Ничего не делать
  2. «Захватить» данные с выводов данных и выполнить действие на выходе на основе значений выводов данных в данный конкретный момент времени.

Опять же, есть 4 возможных действия, которые схема может выполнить на выходе.

  1. Ничего не делать
  2. Установите QнаHIGH
  3. Установите QнаLOW
  4. Инвертировать значение Q(теперь оно действительно, потому что оно делает это только один раз)

ЭТО НЕ Шлепок:

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

Но почему вы можете спросить? ЧтоE контакт не является контактом часов. Выводы синхронизации позволяют схеме анализировать информацию из выводов данных ОДИН РАЗ, когда эта информация отправляется в виде инструкций для выполнения определенных действий на выходе. Тем не менее, активируйте выводы, подобные этой, что позволяет схеме анализировать информацию с выводов данных, пока она поддерживается на высоком уровне и постоянно устанавливает значения выхода. Таким образом, это защелка. (Спасибо jbord39 за указание на мою ошибку).

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

Так что, последняя цепочка вопроса ОП - триггер? Попробуйте удерживать C на высоком уровне и посмотрите, не изменится ли выход при изменении значения D. Если выход изменится, его вместо этого следует назвать enable и это защелка. Но если вывод не меняется (в этом случае), то это триггер.

Изображения получены из Википедии.


Нет, у многих защелок есть часы. nxp.com/documents/data_sheet/74HC_HCT373.pdf фактически схема, которую вы показали, является защелкой, а не триггером ...
jbord39

@ jbord39? Какие часы? И вывод активации отличается от контакта часов.
Bradman175

@ jbord39 и упс, ты прав. Два нижних контура являются защелками. Пожалуйста, пересмотрите мой ответ.
Bradman175

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

@DanielTork Дело в том, что у вас есть несколько «часов», и часы не могут чередоваться между выводами, а также служат в качестве вывода данных.
Bradman175
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.