stringtranslate.com

Триггер (электроника)

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

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

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

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

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

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

История

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

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

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

Выполнение

Прозрачная схема-защелка на основе биполярных транзисторов.

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

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

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

Типы

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

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

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

Защелка SR может быть построена из пары логических элементов NOR или NAND с перекрестной связью . Сохраненный бит присутствует на выходе, отмеченном Q. Чтобы лучше понять реализацию схемы, представленную ниже, удобно рассматривать NAND, NOR, AND и OR как управляемые операции. А именно, хотя все эти элементы симметричны по своему входу, удобно выбрать один бит в качестве бита управления, установленного по нашему выбору, а другой бит в качестве входа, который будет обрабатываться в зависимости от состояния управления. Затем, как вы можете видеть ниже, оказывается, что все эти элементы имеют одно управляющее значение, которое игнорирует входные данные и выводит постоянное значение, в то время как другое управляющее значение пропускает входные данные (возможно, дополняется). Давайте назовем x входом, а другой бит будет управляющим, тогда:

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

Защелка 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: Не разрешено
Переход от ограниченной комбинации (Г) к (А) приводит к неустойчивому состоянию.

Защелка SR NOR состоит из двух параллельных вентилей NOR, где выход каждого NOR также распределяется на один вход другого NOR, как показано на рисунке. Мы называем входами обратной связи или просто обратными связями эти соединения выхода со входом. Остальные входы мы будем использовать в качестве входов управления , как описано выше. Обратите внимание: на этом этапе, поскольку все симметрично, не имеет значения, к каким входам подключены выходы. Теперь мы нарушаем симметрию, выбирая, какой из оставшихся управляющих входов будет для нас установлен и сброшен, и мы можем вызвать «set NOR» вентиль NOR с помощью элемента управления set и «reset NOR» с помощью элемента управления сбросом; на рисунках установленное NOR — нижнее, а сбросное NOR — верхнее. Выходом сброса NOR будет наш сохраненный бит Q, при этом мы увидим, что выход набора NOR сохраняет свое дополнение Q.

Чтобы определить поведение защелки SR NOR, рассмотрите S и R как управляющие входы и помните, что, согласно приведенным выше уравнениям, установка и сброс NOR с элементом управления 1 фиксирует их выходы на 0, тогда как установка и сброс NOR с элементом управления 0 будет действовать. как ворота НЕ. Благодаря этому теперь можно определить поведение фиксации SR как простые условия (вместо того, чтобы, например, присваивать значения каждой строке, посмотрите, как они распространяются).

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

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

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

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

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

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

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

или [14]

где A + B означает (A или B), AB означает (A и B)

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

с [15]

Защелка SR NAND

Защелка SR , построенная из перекрестно связанных вентилей И-НЕ.

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

Схема использует ту же обратную связь, что и SR NOR, просто заменяя элементы NOR на элементы NAND, чтобы «запомнить» и сохранить свое логическое состояние даже после изменения управляющих входных сигналов. Опять же, вспомните, что И-НЕ, управляемое 1, всегда выводит 0, тогда как И-НЕ, управляемое 0, действует как вентиль НЕ. Когда на входах S и R высокий уровень, обратная связь поддерживает выходы Q в предыдущем состоянии. Когда один из них равен нулю, они фиксируют свои выходные биты на 0, а остальные адаптируются к дополнению. S=R=0 создает недопустимое состояние.

Защелка SR И-ИЛИ

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

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

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

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

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

JK-защелка

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

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

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

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

Запираемая защелка SR

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

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

Альтернативно, вентильную защелку SR (с неинвертирующим разрешением) можно создать путем добавления второго уровня логических элементов И к защелке SR .

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

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

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

Запираемая D-защелка

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

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

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

Эрл защелка

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

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

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

D-триггер

Символ D-триггера

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

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

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

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

4-битный сдвиговый регистр с последовательным входом и параллельным выходом (SIPO)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Динамический элемент хранения D, запускаемый по фронту

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

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

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

Т-триггер

Обозначение схемы триггера Т-типа.

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

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

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

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

JK шлепанцы

Обозначение схемы триггера JK, запускаемого по положительному фронту.
Временная диаграмма JK-триггера

Триггер JK дополняет поведение триггера SR (J: Set, K: Reset), интерпретируя условие 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-триггер или Т-триггер.

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

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

Вопросы выбора времени

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще одним важным значением времени для триггера является задержка тактового сигнала до выхода (общий символ в таблицах данных: t CO ) или задержка распространения (t P ), которая представляет собой время, необходимое триггеру для изменения своего выходного сигнала после край часов. Время перехода от высокого к низкому (t PHL ) иногда отличается от времени перехода от низкого к высокому (t PLH ).

При каскадном соединении триггеров, которые используют одни и те же часы (как в сдвиговом регистре ), важно гарантировать, что t CO предыдущего триггера больше, чем время удержания (th h ) следующего триггера. таким образом, данные, присутствующие на входе последующего триггера, правильно «смещаются» после активного фронта тактового сигнала. Эта связь между t CO и th обычно гарантируется, если триггеры физически идентичны. Более того, для корректной работы легко проверить, что период такта должен быть больше суммы t su  + th h .

Обобщения

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

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

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

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

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

  1. ^ Например, в издании 1969 года Logic Handfbook Flip Chip™ Modules компании Digital Equipment Corporation прозрачные защелки RS называются «триггерами R/S» (страница http://www.bitsavers.org/pdf/dec/handbooks/Digital_Logic_Handbook_1969.pdf). 44)
  2. ^ Педрони, Волней А. (2008). Цифровая электроника и дизайн с использованием VHDL. Морган Кауфманн. п. 329. ИСБН 978-0-12-374270-4.
  3. ^ Защелки и шлепанцы (EE 42/100, лекция 24 из Беркли) «... Иногда термины «триггер» и «защелка» используются как синонимы...»
  4. ^ Аб Рот, Чарльз Х. младший (1995). «Защелки и шлепанцы». Основы логического проектирования (4-е изд.). ПВС. ISBN 9780534954727.
  5. ^ GB 148582, Экклс, Уильям Генри и Джордан, Фрэнк Уилфред, «Усовершенствования в ионных реле», опубликовано 5 августа 1920 г. 
  6. ^ См.:
    • Экклс, Вашингтон; Джордан, ФРВ (19 сентября 1919 г.). «Триггерное реле с использованием трехэлектродных термоэлектронных ламп». Электрик . 83 : 298.
    • Перепечатано: Экклс, штат Вашингтон; Джордан, ФРГ (декабрь 1919 г.). «Триггерное реле с использованием трехэлектродных термоэлектронных ламп». Радиообзор . 1 (3): 143–6.
    • Краткое изложение: Экклс, штат Вашингтон; Джордан, ФРВ (1919). «Триггерное реле с тремя электродами на термоэлектронных вакуумных лампах». Отчет восемьдесят седьмого собрания Британской ассоциации содействия развитию науки: Борнмут: 1919 г., 9–13 сентября . стр. 271–2.
  7. ^ Пью, Эмерсон В.; Джонсон, Лайл Р.; Палмер, Джон Х. (1991). Системы IBM 360 и ранние версии 370 . МТИ Пресс. п. 10. ISBN 978-0-262-16123-7.
  8. ^ Флауэрс, Томас Х. (1983), «Дизайн колосса», Анналы истории вычислений , 5 (3): 249, doi : 10.1109/MAHC.1983.10079, S2CID  39816473
  9. ^ Гейтс, Эрл Д. (2000). Введение в электронику (4-е изд.). Дельмар Томсон (Сенгейдж) Обучение. п. 299. ИСБН 978-0-7668-1698-5.
  10. ^ Фогель, Макс; Гу, Ю-Лян (1998). Решение проблем с электроникой, Том 1 (переработанное издание). Ассоциация исследований и образования. п. 1223. ИСБН 978-0-87891-543-9.
  11. ^ Линдли, Польша (август 1968 г.). «письмо от 13 июня 1968 г.». ЭДН .
  12. ^ Фистер, Монтгомери (1958). Логическое проектирование цифровых компьютеров. Уайли. п. 128. ИСБН 9780608102658.
  13. ^ США 2850566, Нельсон, Элдред К., «Система высокоскоростной печати», опубликовано 2 сентября 1958 г., передано Hughes Aircraft Co. 
  14. ^ Лангхольц, Гидеон; Кандель, Авраам; Мотт, Джо Л. (1998). Основы проектирования цифровой логики. Всемирная научная. п. 344. ИСБН 978-981-02-3110-1.
  15. ^ «Краткое описание типов поведения шлепанцев». Проверено 16 апреля 2018 г.
  16. ^ Хинрихсен, Дидерих; Причард, Энтони Дж. (2006). «Пример 1.5.6 (защелка R – S и защелка J – K)». Теория математических систем I: моделирование, анализ пространства состояний, устойчивость и устойчивость . Спрингер. стр. 63–64. ISBN 9783540264101.
  17. ^ Фархат, Хасан А. (2004). Цифровой дизайн и компьютерная организация. Том. 1. ЦРК Пресс. п. 274. ИСБН 978-0-8493-1191-8.
  18. ^ Аб Когге, Питер М. (1981). Архитектура конвейерных компьютеров . МакГроу-Хилл. стр. 25–27. ISBN 0-07-035237-2.
  19. ^ Коттен, LW (1965). «Схема реализации высокоскоростных трубопроводных систем». AFIPS Proc. Осенняя совместная компьютерная конференция : 489–504. дои : 10.1145/1463891.1463945 . S2CID  15955626.
  20. ^ Эрл, Джон Г. (март 1965 г.). «Зафиксированный сумматор переноса-сохранения». Бюллетень технической информации IBM . 7 (10): 909–910.
  21. ^ аб Омонди, Амос Р. (1999). Микроархитектура конвейерных и суперскалярных компьютеров. Спрингер. стр. 40–42. ISBN 978-0-7923-8463-2.
  22. ^ аб Кункель, Стивен Р.; Смит, Джеймс Э. (май 1986 г.). «Оптимальная конвейеризация в суперкомпьютерах». Новости компьютерной архитектуры ACM SIGARCH . АКМ. 14 (2): 404–411 [406]. CiteSeerX 10.1.1.99.2773 . дои : 10.1145/17356.17403. ISSN  0163-5964. S2CID  2733845. 
  23. ^ "D-триггер". Архивировано из оригинала 23 февраля 2014 г. Проверено 5 июня 2016 г.
  24. ^ "Шлепанцы с краевым триггером" . Архивировано из оригинала 8 сентября 2013 г. Проверено 15 декабря 2011 г.
  25. ^ Обзор систем цифровой компьютерной памяти
  26. ^ Техническое описание SN7474 TI
  27. ^ аб Мано, М. Моррис; Кайм, Чарльз Р. (2004). Основы логики и компьютерного проектирования, 3-е издание . Река Аппер-Сэддл, Нью-Джерси, США: Pearson Education International. п. 283. ИСБН  0-13-191165-1.
  28. ^ Аб Харрис, С; Харрис, Д. (2016). Цифровой дизайн и компьютерная архитектура — ARM Edition . Морган Кауфманн, Уолтем, Массачусетс. ISBN 978-0-12-800056-4.
  29. ^ Чейни, Томас Дж.; Мольнар, Чарльз Э. (апрель 1973 г.). «Аномальное поведение схем синхронизатора и арбитра». Транзакции IEEE на компьютерах . С-22 (4): 421–422. дои : 10.1109/TC.1973.223730. ISSN  0018-9340. S2CID  12594672.
  30. ^ Часто приписывается Дону Кнуту (1969) (см. Мидхат Дж. Газале (2000). Номер: от Ахмеса до Кантора. Princeton University Press. стр. 57. ISBN 978-0-691-00515-7.), термин «трип-флап-флоп» на самом деле появился гораздо раньше в компьютерной литературе, например, у Боудона, Эдварда К. (1960). Конструкция и применение «триггера-флапа-флопа» с использованием туннельных диодов (магистерская диссертация). Университет Северной Дакоты.и у Александра В. (февраль 1964 г.). «Тричный компьютер». Электроника и энергетика . ИЭПП. 10 (2): 36–39. дои : 10.1049/эп.1964.0037.
  31. ^ "Тричный "трип-флап-флоп"" . Архивировано из оригинала 5 января 2009 г. Проверено 17 октября 2009 г.
  32. ^ США 6975152, Лапидус, Питер Д., «Триггер, поддерживающий бесперебойную работу на горячей шине и методе», опубликовано 13 декабря 2005 г., передано Advanced Micro Devices Inc. 
  33. ^ Ирвинг, Турман А.; Шива, Саджан Г.; Нэгл, Х. Трой (март 1976 г.). «Триггеры для многозначной логики». Транзакции IEEE на компьютерах . С-25 (3): 237–246. дои : 10.1109/TC.1976.5009250. S2CID  34323423.
  34. ^ Ву, Хаоминь; Чжуан Нань (июль 1991 г.). «Исследование троичного триггера JKL, запускаемого по фронту». Журнал электроники (Китай) . 8 (3): 268–275. дои : 10.1007/BF02778378. S2CID  61275953.

Внешние ссылки