Триггер (электроника) - Flip-flop (electronics)

Анимированная интерактивная защелка SR (R1, R2 = 1 кОм; R3, R4 = 10 кОм).

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

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

Триггеры могут запускаться по уровню (асинхронный, прозрачный или непрозрачный) или по фронту (синхронный, или же синхронизированный ). Термин триггер исторически относился к схемам с запуском по уровню и по фронту, которые хранят один бит данных с использованием вентилей. В последнее время некоторые авторы оставляют за собой термин резкий поворот исключительно для обсуждения тактовых схем; простые обычно называются прозрачные защелки.[1][2] Используя эту терминологию, чувствительный к уровню триггер называется прозрачной защелкой, тогда как триггер, запускаемый фронтом, просто называется триггером. Используя любую терминологию, термин «триггер» относится к устройству, которое хранит один бит данных, но термин «защелка» может также относиться к устройству, которое хранит любое количество битов данных с использованием одного триггера. Термины «запускаемый по фронту» и «запускаемый по уровню» могут использоваться, чтобы избежать двусмысленности.[3]

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

История

Схема триггера из патента Эклза и Джордана, поданного в 1918 году, одна изображена как каскад усилителей с положительной обратной связью, а другая - как симметричная пара с перекрестной связью.

Первый электронный триггер был изобретен в 1918 году британскими физиками. Уильям Экклс и Ф. В. Джордан.[4][5] Первоначально он назывался Схема триггера Эклза – Джордана и состоял из двух активных элементов (вакуумные трубки ).[6] Дизайн был использован в 1943 г. Компьютер для взлома кода Colossus[7] и такие схемы и их транзисторные версии были обычным явлением в компьютерах даже после появления интегральные схемы, хотя шлепанцы из логические ворота сейчас тоже распространены.[8][9] Ранние триггеры были известны как триггерные схемы или мультивибраторы.

По словам П. Л. Линдли, инженера из США. Лаборатория реактивного движения, типы триггеров, подробно описанные ниже (SR, D, T, JK), впервые были обсуждены в 1954 г. UCLA курс компьютерного дизайна Монтгомери Фистера, а затем появился в его книге Логический дизайн цифровых компьютеров.[10][11] Линдли в то время работал в Hughes Aircraft под руководством Элдреда Нельсона, который придумал термин JK для триггера, который изменял состояния, когда оба входа были включены (логическая «единица»). Остальные имена были придуманы Фистером. Они немного отличаются от некоторых определений, приведенных ниже. Линдли объясняет, что он слышал историю о триггере JK от Элдреда Нельсона, который придумал термин во время работы в Hughes Aircraft. В то время в Hughes использовались шлепанцы того типа, который стал известен как JK. При разработке логической системы Нельсон назначил буквы входам триггеров следующим образом: # 1: A и B, # 2: C и D, # 3: E & F, # 4: G & H, # 5: J & К. Нельсон использовал обозначения "j-ввод "и"k-вход »в заявке на патент, поданной в 1953 г.[12]

Выполнение

Традиционная (простая) схема триггера на основе биполярные переходные транзисторы

Триггеры могут быть простыми (прозрачными или асинхронными) или тактовыми (синхронными). В контексте языков описания оборудования простые из них обычно описываются как защелки,[1] в то время как синхронизированные описываются как шлепки.[2]

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

Тактовые устройства специально разработаны для синхронных систем; такие устройства игнорируют свои входы, за исключением перехода выделенного синхросигнала (известного как тактирование, пульсация или стробирование). Синхронизация заставляет триггер либо изменять, либо сохранять свой выходной сигнал в зависимости от значений входных сигналов при переходе. Некоторые триггеры меняют выход при повышении край часов, другие на заднем крае.

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

Типы триггеров

Вьетнамки можно разделить на общие типы: SR ("установить-сбросить"), D («данные» или «задержка»[13]), Т ("переключатель") и JK. Поведение конкретного типа может быть описано с помощью так называемого характеристического уравнения, которое выводит «следующий» (то есть после следующего тактового импульса) выходной сигнал, Qследующий с точки зрения входного сигнала (ов) и / или токового выхода, .

Простые защелки для установки и сброса

При использовании статических ворот в качестве строительных блоков наиболее важной защелкой является простой Защелка SR, где S и R обозначают набор и перезагрузить. Он может быть построен из пары перекрестно связанных НИ или же NAND логические ворота. Сохраненный бит присутствует на выходе с меткой Q.

Защелка SR NOR

Анимация защелки SR, построенной из пары перекрестно связанных Ворота NOR. Красный и черный означают логические «1» и «0» соответственно.
Анимированная защелка SR. Черный и белый означают логические «1» и «0» соответственно.
  1. S = 1, R = 0: установить
  2. S = 0, R = 0: удерживать
  3. S = 0, R = 1: сброс
  4. S = 1, R = 1: не допускается
Переход от ограниченной комбинации (D) к (A) приводит к нестабильному состоянию.

В то время как входы R и S низкие, Обратная связь поддерживает Q и Q выходы в постоянном состоянии, с Q дополнение к Q. Если S (Набор) имеет высокий импульс, а R (Перезагрузить) удерживается на низком уровне, тогда выход Q принудительно устанавливается на высокий уровень и остается на высоком уровне, когда S возвращается на низкий уровень; аналогично, если R имеет высокий импульс, в то время как S удерживается на низком уровне, тогда выход Q принудительно становится низким и остается низким, когда R возвращается к низкому уровню.

Работа защелки SR[3]
Таблица характеристикТаблица возбуждения
SрQследующийДействиеQQследующийSр
00QСостояние удержания000Икс
010Перезагрузить0110
101Набор1001
11ИксНе положено11Икс0

Примечание: X означает все равно, то есть допустимым значением является либо 0, либо 1.

Комбинация R = S = 1 называется ограниченная комбинация или запретное состояние потому что, поскольку оба логических элемента ИЛИ-НЕ выводят нули, это нарушает логическое уравнение Q = нет Q. Комбинация также не подходит в схемах, где обе входы могут упасть одновременно (т.е. переход от ограниченный к держать). Выход будет заблокирован либо на 1, либо на 0 в зависимости от отношений времени распространения между воротами (a состояние гонки ).

Как работает защелка SR NOR.

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

  • Q = 1 (1, 0) - называется S (доминируемый) -защелка
  • Q = 0 (0, 1) - называется R (доминируемый) -защелка

Это делается почти в каждом Программируемый логический контроллер.

  • Сохранить состояние (0, 0) - называется E-защелка

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

Характеристическое уравнение защелки SR:

или же [14]

Другое выражение:

с [15]

SR Защелка NAND

An SR защелка изготовлена ​​из поперечно соединенных Ворота NAND.

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

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

SR защелка
SрДействие
00Q = 1, Q = 1; не положено
01Q = 1
10Q = 0
11Без изменений; случайный начальный
Символ для SR Защелка NAND

Защелка SR AND-OR

Защелка SR AND-OR. Светло-зеленый означает логическую «1», а темно-зеленый означает логический «0». Защелка в настоящее время находится в режиме удержания (без изменений).

С точки зрения обучения, защелки SR, изображенные как пара перекрестно связанных компонентов (транзисторы, вентили, лампы и т. Д.), Часто трудно понять новичкам. Дидактически более простой способ - изобразить защелку в виде единой петли обратной связи вместо перекрестной связи. Ниже представлена ​​защелка SR, построенная с И ворота с одним перевернутый ввод и ИЛИ ЖЕ ворота. Обратите внимание, что инвертор нужен не для функции защелки, а для того, чтобы сделать оба входа высокоактивными.

SR И-ИЛИ операция защелки
SрДействие
00Без изменений; случайный начальный
10Q = 1
Икс1Q = 0

Обратите внимание, что защелка SR AND-OR имеет то преимущество, что S = 1, R = 1 хорошо определены. В вышеупомянутой версии защелки SR AND-OR он дает приоритет R-сигналу над S-сигналом. Если необходим приоритет S над R, этого можно достичь, подключив выход Q к выходу логического элемента ИЛИ вместо выхода логического элемента И.

Защелку SR AND-OR легче понять, потому что оба затвора можно объяснить по отдельности. Когда ни S, ни R не установлены, то логический элемент ИЛИ и логический элемент И находятся в "режиме удержания", т.е. их выход является входом из контура обратной связи. Когда вход S = 1, тогда выход логического элемента ИЛИ становится 1, независимо от другого входа из контура обратной связи («режим установки»). Когда вход R = 1, тогда выход логического элемента И становится 0, независимо от другого входа из контура обратной связи («режим сброса»). А так как выход Q напрямую подключен к выходу логического элемента И, R имеет приоритет над S. Защелки, нарисованные как перекрестно связанные вентили, могут выглядеть менее интуитивно понятными, поскольку поведение одного логического элемента кажется переплетенным с другим вентилем.

Обратите внимание, что защелка SR AND-OR может быть преобразована в защелку SR NOR с помощью логических преобразований: инвертирование выхода логического элемента ИЛИ-ИЛИ, а также 2-го входа логического элемента И и подключение инвертированного выхода Q между этими двумя добавленными инверторами; с вентилем И с обоими инвертированными входами, что эквивалентно вентилю ИЛИ в соответствии с Законы де Моргана.

Защелка JK

Защелка JK используется гораздо реже, чем триггер JK. Защелка JK соответствует следующей таблице состояний:

Таблица истинности защелки JK
JKQследующийКомментарий
00QБез изменений
010Перезагрузить
101Набор
11QПереключать

Следовательно, защелка JK - это защелка SR, которая предназначена для переключать его выход (колеблется между 0 и 1) при передаче входной комбинации 11.[16] В отличие от триггера JK, комбинация из 11 входов для защелки JK не очень полезна, потому что нет часов, которые управляют переключением.[17]

Закрытые защелки и условная прозрачность

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

Защелка закрытого типа SR

Защелка NAND Gated SR (триггер с синхронизацией SR). Обратите внимание на перевернутые входы.
Принципиальная схема защелки стробируемого SR построена из И ворота (слева) и НИ ворота (справа).

А синхронная защелка SR (иногда синхронизированный триггер SR) можно сделать, добавив второй уровень логических элементов NAND к перевернутый Защелка SR (или второй уровень логических элементов AND на непосредственный Защелка SR). Дополнительные ворота NAND дополнительно инвертируют входы, чтобы SR защелка становится закрытой защелкой SR (а защелка SR трансформируется в закрытый SR защелка с перевернутым включением).

С высоким E (включить true), сигналы могут проходить через входные затворы в инкапсулированную защелку; все комбинации сигналов, кроме (0, 0) = держать затем немедленно воспроизвести на (Q, Q) выход, т.е. защелка прозрачный.

С низким E (включить false) защелка закрытый (непрозрачный) и остается в том состоянии, в котором он был в последний раз, когда E.

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

Защелка закрытого типа SR
E / CДействие
0Никаких действий (сохранить состояние)
1То же, что и защелка SR без синхронизации
Символ закрытой защелки SR

Защелка закрытая D

Эта защелка использует тот факт, что в двух активных комбинациях входов (01 и 10) стробируемой защелки SR R является дополнением к S. комбинации для следующего SR защелка, инвертируя входной сигнал данных. Низкое состояние включить signal выдает неактивную комбинацию «11». Таким образом, закрытый D-образный фиксатор можно рассматривать как синхронная защелка SR с одним входом. Эта конфигурация предотвращает применение ограниченной комбинации входов. Он также известен как прозрачная защелка, защелка данных, или просто закрытая защелка. Оно имеет данные ввод и включить сигнал (иногда называемый Часы, или же контроль). Слово прозрачный происходит из-за того, что при включенном разрешающем входе сигнал распространяется напрямую по цепи от входа D к выходу Q. Стробируемые D-защелки также являются чувствительный к уровню относительно уровня тактового сигнала или разрешающего сигнала.

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

Защелки доступны как интегральные схемы, обычно с несколькими защелками на чип. Например, 74HC75 это четырехкратная прозрачная защелка в 7400 серии.

Таблица истинности ниже показывает, что когда еnable /cвход блокировки равен 0, вход D не влияет на выход. Когда E / C высокий, выход равен D.

Таблица истинности защелки Gated D
E / CDQQКомментарий
0ИксQпредыдущийQпредыдущийБез изменений
1001Перезагрузить
1110Набор
Символ закрытой D-защелки

Защелка Earle

Классические конструкции защелок закрытого типа имеют ряд нежелательных характеристик.[18] Для них требуется двухканальная логика или инвертор. Распространение сигнала с входа на выход может занять до трех задержек затвора. Распространение от входа к выходу не является постоянным - некоторые выходы принимают две задержки затвора, а другие - три.

Дизайнеры искали альтернативы.[19] Удачная альтернатива - защелка Эрла. Он требует только одного ввода данных, а его вывод требует двух постоянных задержек затвора. Кроме того, два уровня затвора защелки Эрла в некоторых случаях могут быть объединены с двумя последними уровнями затвора схем, управляющих защелкой, потому что многие общие вычислительные схемы имеют слой ИЛИ, за которым следует слой И в качестве последних двух уровней. . Объединение функции защелки может реализовать защелку без дополнительных задержек затвора.[18] Слияние обычно используется при проектировании конвейерных компьютеров и, фактически, изначально было разработано Джоном Г. Эрлом для использования в IBM System / 360 Модель 91 для этой цели.[20]

Защелка Earle безопасна.[21] Если средний вентиль NAND опущен, то получается фиксатор полярности, который обычно используется, потому что требует меньше логики.[21][22] Однако это восприимчиво к логическая опасность. Преднамеренное искажение тактового сигнала может избежать опасности.[22]

D-шлепанцы

D символ триггера

D-триггер широко используется. Он также известен как триггер «данных» или «задержки».

D-триггер фиксирует значение входа D на определенной части тактового цикла (например, нарастающий фронт тактового сигнала). Это захваченное значение становится выходом Q. В остальное время выход Q не меняется.[23][24] D-триггер можно рассматривать как ячейку памяти, удержание нулевого порядка, или линия задержки.[25]

Таблица истинности:

ЧасыDQследующий
Фронт00
Фронт11
Не поднимающийсяИксQ

(Икс обозначает все равно состояние, то есть сигнал не имеет значения)

Большинство триггеров D-типа в ИС имеют возможность принудительно переводиться в состояние установки или сброса (которое игнорирует входы D и тактовый сигнал), во многом как триггер SR. Обычно недопустимое условие S = R = 1 разрешается в триггерах D-типа. Установка S = R = 0 заставляет триггер вести себя, как описано выше. Вот таблица истинности для других возможных конфигураций S и R:

ВходыВыходы
SрD>QQ
01ИксИкс01
10ИксИкс10
11ИксИкс11

Эти шлепанцы очень полезны, так как они составляют основу регистры сдвига, которые являются неотъемлемой частью многих электронных устройств. Преимущество D-триггера перед «прозрачной защелкой» D-типа состоит в том, что сигнал на входном контакте D улавливается в момент синхронизации триггера, а последующие изменения на входе D будут игнорироваться до следующего событие часов. Исключением является то, что некоторые триггеры имеют входной сигнал «сброса», который сбрасывает Q (до нуля) и может быть асинхронным или синхронным с часами.

Вышеупомянутая схема сдвигает содержимое регистра вправо на одну битовую позицию при каждом активном переходе часов. Вход X сдвигается в крайнюю левую битовую позицию.

Классический D-триггер с положительным фронтом

Несколько различных типов D-триггеров с фронтальным запуском
D-триггер с положительным фронтом
D-триггер с положительным фронтом
D-триггер, запускаемый положительным фронтом, с установкой и сбросом
D-триггер, запускаемый положительным фронтом, с установкой и сбросом

Эта схема[26] состоит из двух этапов, реализуемых SR Защелки NAND. Входной каскад (две защелки слева) обрабатывает тактовые сигналы и сигналы данных, чтобы гарантировать правильность входных сигналов для выходного каскада (единственная защелка справа). Если часы низкие, оба выходных сигнала входного каскада имеют высокий уровень независимо от ввода данных; выходная защелка не изменяется и сохраняет предыдущее состояние. Когда синхросигнал меняется с низкого на высокий, только одно из выходных напряжений (в зависимости от сигнала данных) становится низким и устанавливает / сбрасывает выходной фиксатор: если D = 0, нижний выход становится низким; если D = 1, верхний выход становится низким. Если тактовый сигнал продолжает оставаться на высоком уровне, выходы сохраняют свое состояние независимо от ввода данных и заставляют защелку выхода оставаться в соответствующем состоянии, поскольку входной логический ноль (выходного каскада) остается активным, пока тактовый сигнал высокий. Следовательно, роль выходной защелки заключается в хранении данных только при низком тактовом сигнале.

Схема тесно связана с закрытая D-защелка поскольку обе схемы преобразуют два входных состояния D (0 и 1) в две входные комбинации (01 и 10) для выхода SR защелка, инвертируя входной сигнал данных (обе схемы разделяют одиночный сигнал D на два дополнительных S и р сигналы). Разница в том, что в стробируемой D-защелке используются простые логические элементы NAND, а в D-триггере с положительным фронтом SR Для этого используются защелки NAND. Роль этих защелок состоит в том, чтобы «заблокировать» активный выход, производящий низкое напряжение (логический ноль); таким образом, запускаемый положительным фронтом D-триггер также можно рассматривать как стробируемую D-защелку с защелкивающимися входными затворами.

D-триггер с синхронизацией по фронту "ведущий-ведомый"

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

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

Для запускаемого положительным фронтом D-триггера ведущий-ведомый, когда синхросигнал низкий (логический 0), «разрешение», видимое первой или «ведущей» D-защелкой (инвертированный синхросигнал), имеет высокий уровень (логическая 1) . Это позволяет «главной» защелке сохранять входное значение при переходе синхросигнала с низкого на высокий. Когда синхронизирующий сигнал становится высоким (от 0 до 1), инвертированное «включение» первой защелки становится низким (от 1 до 0), и значение, видимое на входе в главную защелку, «блокируется». Почти одновременно дважды инвертированное «включение» второй или «ведомой» D-защелки переходит с низкого уровня на высокий (от 0 до 1) с тактовым сигналом. Это позволяет сигналу, захваченному на переднем фронте тактового сигнала теперь «заблокированной» главной защелкой, проходить через «ведомую» защелку. Когда тактовый сигнал возвращается к низкому уровню (от 1 до 0), выход защелки «ведомого» блокируется, и значение, наблюдаемое на последнем нарастающем фронте тактового сигнала, сохраняется, в то время как защелка «ведущего» начинает принимать новые значения при подготовке к следующему нарастающему фронту тактового сигнала.

Удаление крайнего левого инвертора в цепи создает триггер D-типа, который стробирует на падающий край тактового сигнала. Вот такая таблица истинности:

DQ>Qследующий
0ИксПадение0
1ИксПадение1

D-триггер с двойным фронтом

Реализация D-триггера с двойным фронтом

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

Условное обозначение схемы D-триггера с двойным фронтом

Элемент динамического хранения D с запуском по границе

Реализация CMOS IC динамического триггера с фронтом и сбросом

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

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

T шлепанцы

Обозначение схемы для триггера T-типа

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

(расширение XOR оператор)

и может быть описан в таблица истинности:

T триггерная операция[27]
Таблица характеристикТаблица возбуждения
КомментарийКомментарий
000Состояние удержания (без часов)000Без изменений
011Состояние удержания (без часов)110Без изменений
101Переключать011Дополнение
110Переключать101Дополнение

Когда T удерживается на высоком уровне, триггер делит тактовую частоту на два; то есть, если тактовая частота равна 4 МГц, выходная частота, полученная от триггера, будет 2 МГц. Эта функция "разделить на" применяется в различных типах цифровых счетчики. T-триггер также может быть построен с использованием JK-триггера (контакты J и K соединены вместе и действуют как T) или D-триггера (T вход XOR Qпредыдущий управляет входом D).

JK шлепки

Символ схемы для триггера JK с положительным фронтом
Временная диаграмма JK flip-flop

Триггер JK усиливает поведение триггера SR (J: Установить, K: Сброс), интерпретируя условие J = K = 1 как команду «переворота» или переключения. В частности, комбинация J = 1, K = 0 - это команда для установки триггера; комбинация J = 0, K = 1 - это команда сброса триггера; а комбинация J = K = 1 представляет собой команду переключения триггера, то есть изменения его выхода на логическое дополнение его текущего значения. Установка J = K = 0 сохраняет текущее состояние. Чтобы синтезировать D-триггер, просто установите K равным дополнению к J (вход J будет действовать как вход D). Точно так же, чтобы синтезировать T-триггер, установите K равным J. Таким образом, JK-триггер является универсальным триггером, поскольку он может быть настроен для работы как SR-триггер, D-триггер или T триггер.

Характеристическое уравнение триггера JK:

и соответствующая таблица истинности:

JK триггерная операция[27]
Таблица характеристикТаблица возбуждения
JKКомментарийQследующийQQследующийКомментарийJK
00Состояние удержанияQ00Без изменений0Икс
01Перезагрузить001Набор1Икс
10Набор110ПерезагрузитьИкс1
11ПереключатьQ10ПереключатьИкс0

Соображения по времени

Параметры времени

Параметры настройки триггера, удержания и тактового сигнала на выходе

Входной сигнал должен оставаться устойчивым в течение периода около нарастающего фронта часов, известного как апертура. Представьте, что вы фотографируете лягушку на лилии.[28] Предположим, лягушка прыгает в воду. Если вы сфотографируете лягушку, когда она прыгает в воду, вы получите размытое изображение лягушки, прыгающей в воду - неясно, в каком состоянии лягушка находилась. Но если вы сделаете снимок, пока лягушка неподвижно сидит на подушке (или постоянно находится в воде) вы получите четкое изображение. Таким же образом, вход триггера должен быть устойчивым во время отверстие шлепанца.

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

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

Диафрагма это сумма времени настройки и удержания. Ввод данных должен быть постоянным в течение всего этого периода времени.[28]

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

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

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

Сигналы установки и сброса (и другие) могут быть синхронными или асинхронными и, следовательно, могут характеризоваться временем установки / удержания или восстановления / удаления, а синхронность очень зависит от конструкции триггера.

Различие между временем установки / удержания и восстановления / удаления часто необходимо при проверке синхронизации более крупных схем, поскольку асинхронные сигналы могут оказаться менее критичными, чем синхронные сигналы. Такое разделение дает разработчикам схем возможность самостоятельно определять условия проверки для этих типов сигналов.

Метастабильность

С шлепанцами возникает проблема, называемая метастабильность, что может произойти, когда два входа, такие как данные и часы или часы и сброс, изменяются примерно в одно и то же время. Когда порядок не ясен, в пределах соответствующих временных ограничений, результатом является то, что выход может вести себя непредсказуемо, требуя во много раз больше времени, чем обычно, для перехода в то или иное состояние, или даже несколько раз колеблется перед установкой. Теоретически время остепениться не ограничено. В компьютер система, эта метастабильность может вызвать повреждение данных или сбой программы, если состояние нестабильно до того, как другая схема использует его значение; в частности, если два разных логических пути используют выход триггера, один путь может интерпретировать его как 0, а другой как 1, когда он не перешел в стабильное состояние, переводя машину в несовместимое состояние.[29]

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

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

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

Задержка распространения

Еще одно важное значение синхронизации для триггера - это задержка тактового сигнала на выходе (общий символ в таблицах данных: tCO) или же Задержка распространенияп), который представляет собой время, необходимое триггеру, чтобы изменить свой выход после фронта тактового сигнала. Время перехода с высокого уровня на низкий (tPHL) иногда отличается от времени перехода от низкого к высокому (tЛЖВ).

При каскадном соединении триггеров с одинаковыми часами (как в регистр сдвига ) важно, чтобы tCO предыдущего триггера больше, чем время удержания (tчас) следующего триггера, поэтому данные, присутствующие на входе следующего триггера, правильно "смещаются" по активному фронту тактового сигнала. Эта связь между tCO и тчас обычно гарантируется, если триггеры идентичны физически. Кроме того, для правильной работы легко проверить, что период тактовой частоты должен быть больше суммы tвс + тчас.

Обобщения

Триггеры можно обобщить по крайней мере двумя способами: сделав их 1 из N вместо 1 из 2 и адаптируя их к логике с более чем двумя состояниями. В особых случаях кодирования 1 из 3 или многозначного троичная логика, такой элемент может называться шлепки-шлепки.[30]

В обычном триггере ровно один из двух дополнительных выходов имеет высокий уровень. Это можно обобщить на элемент памяти с N выходами, ровно один из которых имеет высокий уровень (альтернативно, когда ровно один из N имеет низкий уровень). Таким образом, на выходе всегда получается горячий (соответственно один холодный) представление. Конструкция аналогична обычному перекрестно связанному триггеру; каждый выход, когда высокий, запрещает все остальные выходы.[31] В качестве альтернативы можно использовать более или менее обычные триггеры, по одному на выход, с дополнительной схемой, чтобы гарантировать, что только один за раз может быть верным.[32]

Другое обобщение обычного триггера - это элемент памяти для многозначная логика. В этом случае элемент памяти сохраняет ровно одно из логических состояний до тех пор, пока управляющие входы не вызовут изменение.[33] Кроме того, можно использовать многозначные часы, что приводит к новым возможным переходам тактовых импульсов.[34]

Смотрите также

Рекомендации

  1. ^ а б Педрони, Волней А. (2008). Цифровая электроника и дизайн с VHDL. Морган Кауфманн. п. 329. ISBN  978-0-12-374270-4.
  2. ^ а б Защелки и Вьетнамки (EE 42/100, лекция 24 из Беркли) «... Иногда термины триггер и защелка используются как синонимы ...»
  3. ^ а б Рот, Чарльз Х. Младший "Защелки и шлепанцы". Основы логического дизайна. Бостон: PWS, 1995. Печать.
  4. ^ Уильям Генри Эклс и Фрэнк Уилфред Джордан "Улучшения в ионных реле Британский патентный номер: GB 148582 (подана: 21 июня 1918 г .; опубликована: 5 августа 1920 г.).
  5. ^ Видеть:
  6. ^ Пью, Эмерсон У .; Джонсон, Лайл Р .; Палмер, Джон Х. (1991). Системы IBM 360 и ранние 370. MIT Press. п.10. ISBN  978-0-262-16123-7.
  7. ^ Цветы, Томас Х. (1983), «Дизайн Колосса», Анналы истории вычислительной техники, 5 (3): 249, Дои:10.1109 / MAHC.1983.10079, S2CID  39816473
  8. ^ Гейтс, Эрл Д. (2000-12-01). Введение в электронику (4-е изд.). Делмар Томсон (Сенагаж) Обучение. п. 299. ISBN  978-0-7668-1698-5.
  9. ^ Фогель, Макс; Гу, Ю-Лян (1998). Решение проблем с электроникой, Том 1 (переработанная ред.). Доц. Исследований и образования п. 1223. ISBN  978-0-87891-543-9.
  10. ^ П. Л. Линдли, август 1968 г., EDN (журнал), (письмо от 13 июня 1968 г.).
  11. ^ Фистер, Монтгомери (1958). Логический дизайн цифровых компьютеров. Вайли. п. 128. ISBN  9780608102658.
  12. ^ США 2850566, Элдред К. Нельсон, «Система высокоскоростной печати», опубликовано 8 сентября 1953 г., выпущено 2 сентября 1958 г. ; стр.15
  13. ^ Шива, Саджан Г. (2000). Компьютерный дизайн и архитектура (3-е изд.). CRC Press. п. 81. ISBN  978-0-8247-0368-4.
  14. ^ Ланггольц, Гидеон; Кандел, Авраам; Мотт, Джо Л. (1998). Основы цифрового логического дизайна. Сингапур: World Scientific Publishing Co. Ptc. ООО п. 344. ISBN  978-981-02-3110-1.
  15. ^ «Краткое изложение типов поведения триггеров». Проверено 16 апреля 2018.
  16. ^ Хинрихсен, Дидерих; Причард, Энтони Дж. (2006). Теория математических систем I: моделирование, анализ пространства состояний, устойчивость и надежность. Springer. С. 63–64. ISBN  9783540264101.
  17. ^ Фархат, Хасан А. (2004). Цифровой дизайн и компьютерная организация. 1. CRC Press. п. 274. ISBN  978-0-8493-1191-8.
  18. ^ а б Когге, Питер М. (1981). Архитектура конвейерных компьютеров. Макгроу-Хилл. С. 25–27. ISBN  0-07-035237-2.
  19. ^ Коттен, Л. У. (1965). «Схема реализации высокоскоростных трубопроводных систем». AFIPS Proc. Осенняя совместная компьютерная конференция: 489–504. Дои:10.1145/1463891.1463945. S2CID  15955626.
  20. ^ Эрл, Джон Г. (март 1965 г.). "Сумматор с фиксированным переносом". Бюллетень технических сведений IBM. 7 (10): 909–910.
  21. ^ а б Омонди, Амос Р. (1999-04-30). Микроархитектура конвейерных и суперскалярных компьютеров. Springer. С. 40–42. ISBN  978-0-7923-8463-2.
  22. ^ а б Kunkel, Стивен Р .; Смит, Джеймс Э. (май 1986 г.). «Оптимальная конвейерная обработка в суперкомпьютерах». Новости компьютерной архитектуры ACM SIGARCH. ACM. 14 (2): 404–411 [406]. CiteSeerX  10.1.1.99.2773. Дои:10.1145/17356.17403. ISSN  0163-5964.
  23. ^ D-шлепанец
  24. ^ "Вьетнамки с синхронизацией по краю". Архивировано из оригинал на 2013-09-08. Получено 2011-12-15.
  25. ^ Обзор систем памяти цифровых компьютеров
  26. ^ SN7474 TI лист данных
  27. ^ а б Мано, М. Моррис; Кайм, Чарльз Р. (2004). Основы логики и компьютерного дизайна, 3-е издание. Река Аппер Сэдл, Нью-Джерси, США: Pearson Education International. стр. 283. ISBN  0-13-191165-1.
  28. ^ а б Харрис, S; Харрис, Д. (2016). Цифровой дизайн и компьютерная архитектура - ARM Edition. Морган Кауфманн, Уолтем, Массачусетс. ISBN  978-0-12-800056-4.
  29. ^ Чейни, Томас Дж .; Мольнар, Чарльз Э. (Апрель 1973 г.). «Аномальное поведение цепей синхронизатора и арбитра». Транзакции IEEE на компьютерах. С-22 (4): 421–422. Дои:10.1109 / T-C.1973.223730. ISSN  0018-9340. S2CID  12594672.
  30. ^ Часто приписывается Дон Кнут (1969) (см. Мидхат Дж. Газале (2000). Номер: от Ахмеса до Кантора. Издательство Принстонского университета. п. 57. ISBN  978-0-691-00515-7.), период, термин шлепки-шлепки на самом деле появились намного раньше в компьютерной литературе, например,Боудон, Эдвард К. (1960). Разработка и применение «триггера-триггера» на туннельных диодах (магистерская диссертация).. Университет Северной Дакоты., И в Александр, В. (февраль 1964 г.). «Тернарный компьютер». Электроника и Энергетика. ИЭПП. 10 (2): 36–39. Дои:10.1049 / ep.1964.0037.
  31. ^ Вьетнамки "тройные""". Архивировано из оригинал на 2009-01-05. Получено 2009-10-17.
  32. ^ США 6975152 
  33. ^ Irving, Thurman A .; Шива, Саджан Г .; Нэгл, Х. Трой (март 1976 г.). «Триггеры для многозначной логики». Транзакции IEEE на компьютерах. С-25 (3): 237–246. Дои:10.1109 / TC.1976.5009250. S2CID  34323423.
  34. ^ Ву, Хаомин; Чжуан Нань (1991). «Исследование тройных триггеров JKL, запускаемых по фронту». Журнал электроники (Китай). 8 (Том 8, номер 3 / июль 1991 г.): 268–275. Дои:10.1007 / BF02778378. S2CID  61275953.

внешняя ссылка