Синхронизация в цифровых автоматах
Смена состояний в синхронизированных автоматах происходит в определённые моменты времени, задаваемые по цепям синхронизации внешним тактовым генератором. Изменение состояний в реальных цифровых автоматах сопровождаются переходными процессами, имеющими вполне определённые длительности для выбранной элементной базы. Выходные сигналы по цепям обратной связи (рис.2, рис.21) поступают на вход цифрового автомата и далее на вход его блока памяти. Из-за неопределённости сигналов обратной связи во время протекания переходных процессов неопределёнными будут и сигналы возбуждения блока памяти. По этой причине предусматриваются специальные меры, гарантирующие переход автомата в нужное состояние. В синхронизированных цифровых автоматах устойчивость автомата обеспечивается специальными цепями синхронизации, разрывающими цепи обратной связи во время протекания переходных процессов. Такая синхронизация требует обеспечения определённых запасов времени на протекание переходных процессов и, следовательно, уменьшает быстродействие цифровых автоматов и требует выполнения определённых временных соотношений при смене значений входных сигналов.
Схема цифрового автомата, построенная из элементарных автоматов является корректно построенной, если в каждом её узле неоднозначность сигналов в любой существенный интервал времени отсутствует. Существенным интервалом времени является интервал, в течение которого информация считывается с какого либо узла этой схемы. Корректная схема автомата Мура изображена на рис.46. Комбинационная схема КСвх служит для выработки кода, соответствующего новому состоянию автомата в соответствии с функцией переходов
аs(t+1)=d(am(t), zf(t)),
схема КCвых - для выработки сигналов, соответствующих функции выходов
wg=l(am(t)).
Блок памяти состоит из двух одинаковых блоков БП1 и БП2. Передача сигналов от блока к блоку осуществляется через конъюнкторы, управляемые тактовыми сигналами t1 и t2. Код, соответствующий новому состоянию, формируется КСвх и при появлении импульса t1 устанавливает в нужное состояние БП1. В интервале времени t1 БП2 сохраняет код своего прежнего состояния на входах КС1. В течение времени, выделенного цветом, изменение входных сигналов запрещено, поэтому неопределённость на выходах КС1 не возникает. Выполнение ограничений на временные соотношения при формировании входных сигналов обеспечивается в источнике входных сигналов X.
Импульсом t2 информация переносится в БП2 и этим заканчивается такт работы цифрового автомата. На смену состояния цифрового автомата, таким образом затрачивается время T’. Поскольку у автомата Мура функции выходов не зависят от входных сигналов, то порядок их смены может быть любым, лишь бы на интервале времени t1 входные сигналы были неизменны.
Таким образом, корректность работы цифрового автомата Мура обеспечивается введением двухтактного синхронизированного блока памяти. Логика работы двухтактной памяти практически реализуется в двухступенчатых триггерах структуры О-В (или M-S), имеющих встроенную двухтактную систему синхронизации.
Двухтактная синхронизированная память обеспечивает корректность и автомата Мили. Однако только одного этого для него недостаточно, так как одним из аргументов функции выходов автомата Мили является код входного сигнала x(t), то есть
wg=l(am(t), zf(t)).
Для синхронизированного цифрового автомата недопустим случайный характер смены кода выходного сигнала в соответствии с изменениями кода входного сигнала, но накладывать жёсткие ограничения на временные соотношения во входном сигнале также недопустимо. Это противоречие разрешается при введении стробирования выходной комбинационной схемы КСвых синхросигналом t1. Выходные сигналы цифрового автомата Мили при этом становятся импульсными. Для цифрового автомата Мура выходные сигналы считаются потенциальными, так как нет необходимости в стробировании выходной комбинационной схемы.
Структурная схема корректного цифрового автомата Мили и временная диаграмма его работы приведены на рис.47.
По временной диаграмме рис.47б) видно, что смена состояния блока памяти должна происходить по спаду синхроимпульса. В противном случае
в цифровом автомате Мили будет реализована функция выходов, описываемая уравнением:
wg(t)=l(am(t+1), zf(t)).
Структурный синтез цифровых автоматов по таблицам
Если автомат имеет М состояний, то для двоичного структурного алфавита количество триггеров в блоке памяти этого автомата
n=]log2M[ ,
где ]...[ - ближайшее большее целое число.
Если в каждую клетку таблицы переходов и выходов записать двоичный код, соответствующий размещённым там состояниям или выходным сигналам цифрового автомата, то таким образом получаются кодированные таблицы переходов и выходов.
Кодированная таблица выходов является табличным описанием системы булевых функций, реализуемых схемой КСвых . Кодированная таблица переходов только после переработки с использованием матрицы переходов для заданного типа триггеров будет называться кодированной таблицей возбуждений и соответствовать описанию комбинационной схемы КСвх.
Таким образом, задача синтеза состоит в определении по таблицам функций выхода и функций возбуждения триггеров заданного типа в блоке памяти, минимизации их для выбранной элементной базы и схемной реализации в функционально полном базисе элементов.
Кодированные таблицы переходов и выходов изображаются в наиболее удобном расположении, либо поперёк страницы, либо вдоль в том случае, если размерность таблицы велика.
Рассмотрим пример синтеза цифрового автомата Мили S18, заданного таблицей 39 переходов и таблицей 40 выходов. Структурный алфавит для выходных сигналов и состояний - двоичный. Для кодирования трёх входных и трёх выходных сигналов двоичными кодами достаточно двухразрядного кода, а три состояния можно реализовать двумя триггерами. Таким образом, структурный автомат будет иметь две входных и две выходных линии, а память его будет состоять из двух триггеров.
Очевидно, что при кодировании переходов и выходов можно придерживаться двух принципов описания булевых функций. Если желательно получить табличное описание функций выходов с наименьшим количеством единичных значений, то для кодирования часто встречающихся в таблице выходов сигналов следует использовать коды с максимально возможным количеством нулей в коде, а для кодирования следующих по количеству ссылок в таблице выходов сигналов использовать коды с увеличивающимся количеством единиц в кодовых комбинациях. Для кодирования состояний блока памяти на D триггерах также можно использовать этот принцип кодирования, поскольку таблица возбуждений для них совпадает с таблицей переходов. Рекомендовать этот принцип для всеобщего применения при синтезе автоматов нельзя, так как при минимизации булевых функций возможно получение более простых результирующих форм представления функций, имеющих более сложную запись в СДНФ. Этот принцип можно использовать только в том случае, если ФАЛ выходов и ФАЛ возбуждений для D триггеров не подлежат минимизации, поскольку реализуются на мультиплексорах, дешифраторах или постоянных запоминающих устройствах.
Второй принцип кодирования соответствует противоположному подходу и ориентирован на возможность получения значительных упрощений ФАЛ в результате минимизации. Для кодирования выходных сигналов с максимальным количеством ссылок в таблице выходов используется код с максимальным количеством единиц, а для кодирования следующих по количеству ссылок в таблице выходных сигналов использовать коды с уменьшающимся количеством единиц в кодовых комбинациях. Этот принцип также без оговорок применим для кодирования состояний блока памяти на D триггерах для случая применения элементной базы, требующей минимизации для своей реализации. Минимальный по материальным затратам вариант кодирования выбирается из конечных результатов при использовании всевозможных вариантов кодирования.
Для второго принципа кодирования по изложенной выше методике построим кодированные таблицы переходов, выходов и возбуждений для JK триггера с использованием матрицы переходов на рис.40в). Кодирование входных, выходных сигналов и состояний автомата выполним следующим образом:
Рис.48 Таблицы кодирования входных сигналов, выходных сигналов
и состояний (по второму варианту)
В таблице выходов выходной сигнал w1 встречается 4 раза, выходной сигнал w3 - 3 раза, выходной сигнал w2 - 2 раза. В таблице переходов состояние a1 встречается 6 раз, состояние a3 - 2 раза, состояние a2 - 1 раз. В соответствии с количеством этих ссылок заполнены таблицы кодирования на рис.48.
Запрещённые наборы переменных x1x0Q1Q0
1100; 1101; 1110; 1111; 0000; 0100; 1000.
Где 11§§ - запрещённый код входных сигналов,
§§00 - запрещённый код состояний.
Рис.49 Кодированные таблицы переходов, выходов и возбуждений блока памяти на JK триггерах
Выполним конкатенацию кодов входных сигналов и кодов состояний по порядку следования переменных x1x0Q1Q0 и заполним таблицу истинности для функций выхода и возбуждений. В таблице на запрещённых наборах входных сигналов и состояний значения функций не определены и обозначены символом красного цвета §к .
Рис.50 Таблица истинности булевых функций входной и выходной схем цифрового автомата Мили S18
Рис.51 Минимизация функций выходов
Рис.52 Минимизация функций возбуждения
Минимизированные функции выходов в ДНФ:
Минимизированные функции возбуждений в ДНФ:
Для первого принципа кодирования по изложенной выше методике построим кодированные таблицы переходов, выходов и возбуждений для JK триггера с использованием матрицы переходов на рис.40в). Кодирование входных, выходных сигналов и состояний автомата выполним следующим образом:
Запрещённые коды x1x0Q1Q0
1100; 1101; 1110; 1111; 0011; 0111; 1011.
Где 11§§ - запрещённый код входных сигналов,
§§11 - запрещённый код состояний
Рис.53 Таблицы кодирования входных сигналов, выходных сигналов
и состояний (по первому варианту)
В кодированных таблицах переходов, выходов и возбуждений при таком кодировании значительно меньше единичных значений функций выходов и возбуждений для D триггеров. По кодированным таблицам возбуждений для двух вариантов кодирования видно, что по общему количеству единиц и неопределённых значений они совершенно эквивалентны.
Рис.54 Кодированные таблицы переходов, выходов и возбуждений
Рис. 55 Минимизация функций выхода
Рис.56 Минимизаций функций возбуждения JK триггеров блока памяти
Сопоставим результаты синтеза комбинационных схем цифрового автомата по двум вариантам кодирования выходов и состояний (формулы А и Б). Рассмотрение минимизированных функций выходов и возбуждений не позволяет сделать вывод о преимуществе какого-то из способов кодирования. Очевидно, что для получения оптимального варианта кодирования нужно сопоставить результаты минимизации комбинационных схем при использовании всевозможных вариантов кодирования.
Минимизированные функции выходов в ДНФ:
Минимизированные функции возбуждений в ДНФ:
На рис.57 приведена принципиальная схема цифрового автомата S18 с использованием кодирования по первому варианту, который имеет явные преимущества при использовании элементной базы, не требующей минимизации булевых функций выходов и возбуждений.
В формулах А и Б функции возбуждения JK триггеров блока памяти не содержат дизъюнкций, а количество переменных в конъюнкции не больше трёх. Для блока памяти следует использовать JK триггеры с встроенной логикой (трёхвходовые конъюнкторы в триггерах типа 155ТВ1). Такие схемы дают большую экономию и повышенную надёжность. Функция К0 «константа 1» задаётся подключением соответствующего входа через резистор сопротивлением 1 кОм к источнику питания схемы (для ТТЛ схем это напряжение равно +5В). Для соединения элементов схемы между собой использован «жгут». Соединены между собой проводники, имеющие одинаковую нумерацию входов в «жгут» и выходов из «жгута».
Рис.57 Принципиальная схема автомата Мили S18
При построении принципиальной схемы цифрового автомата принимаются меры против подачи на вход запрещённых кодов входного сигнала и случайного попадания автомата в состояния, соответствующие запрещённым кодам. Задача исключения нахождения в состояниях, соответствующих запрещённым кодам, и аварийной реакции на поступление запрещённых кодов входных сигналов решается двумя способами.
Первый способ. Во входную строку (столбец) таблицы переходов включаются все состояния, кодируемые запрещёнными кодами, а все сигналы, кодируемые запрещёнными кодами, включаются в соответствующий входной столбец (строку) таблицы переходов. Функции переходов, соответствующие запрещённым кодам состояний или запрещённым кодам входных сигналов, определяются как переходы в установленное (обычно начальное) состояние. Для полностью определённого таким образом кодированного цифрового автомата обычным образом синтезируются комбинационные схемы входа и выхода.
Второй способ. Все триггеры, предназначенные для применения в составе блоков памяти цифровых автоматов, имеют отдельные несинхронизированные входы сброса или установки. Для всех запрещённых кодов входных сигналов и состояний выполняется дешифрирование и объединение выходных сигналов дешифраторов на входы сброса или установки триггеров в какое-то состояние с разрешённой кодировкой (обычно начальное). Таким образом синтезируется отдельная специальная система сброса и начальной установки цифрового автомата.
В обоих случаях усложняется принципиальная схема цифрового автомата. Иногда проектировщики ограничиваются упрощенной схемой начального сброса цифрового автомата при включении питающего напряжения. Для надёжной работы цифрового автомата такой схемы недостаточно.
Дата добавления: 2015-08-20; просмотров: 1377;