stringtranslate.com

Последовательная логика

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

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

Знакомым примером устройства с последовательной логикой является телевизор с кнопками «канал вверх» и «канал вниз». [1] Нажатие кнопки «вверх» дает телевизору входной сигнал, сообщающий ему о необходимости переключиться на следующий канал выше того, который он в данный момент принимает. Если телевизор находится на канале 5, нажатие кнопки «вверх» переключает его на прием канала 6. Однако если телевизор находится на канале 8, нажатие кнопки «вверх» переключает его на канал «9». Для того чтобы выбор канала работал правильно, телевизор должен знать, какой канал он в данный момент принимает, что было определено предыдущими выборами каналов. [1] Телевизор сохраняет текущий канал как часть своего состояния . Когда ему подается входной сигнал «канал вверх» или «канал вниз», последовательная логика схемы выбора канала вычисляет новый канал из входного сигнала и текущего канала.

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

Синхронная последовательная логика

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

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

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

Синхронная логика имеет два основных недостатка:

Асинхронная последовательная логика

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

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

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

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

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

Ссылки

  1. ^ abc Vai, M. Michael (2000). VLSI Design. CRC Press . стр. 147. ISBN 0-84931876-9.
  2. ^ Каванаг, Джозеф (2006). Последовательная логика: анализ и синтез. CRC Press . стр. ix. ISBN 0-84937564-9.
  3. ^ Липянский, Эд (2012). Основы электротехники, электроники и цифрового оборудования для ученых и инженеров. Wiley . стр. 8.39. ISBN 978-1-11841454-5.
  4. ^ Далли, Уильям Джеймс ; Хартинг, Р. Кертис (2012). Цифровой дизайн: системный подход. Cambridge University Press . стр. 291. ISBN 978-0-52119950-6.

Дальнейшее чтение