2.5 Основные этапы структурного синтеза
Процедуру структурного синтеза удобно рассматривать, расчленив ее предварительно на несколько связанных между собой этапов.
1. Выбор структурной схемы автомата.Этот этап синтеза во многом определяет последовательность построения схемы. Примеры того, как заданная система элементов влияет на структурную схему автомата, были приведены в предыдущем параграфе. Структурные схемы автомата, применяемые при построении схемы на потенциальных элементах, будут рассмотрены в п. 9, а структурные схемы, использующие типовые блоки, будут описаны в п. 10. Основная трудность этого этапа заключается в отсутствии формальных критериев для выбора структурной схемы. Одним из главных факторов, определяющих выбор структурной схемы, является опыт разработчика.
2. Кодирование входных и выходных сигналов.Кодирование входных сигналов заключается в том, что каждой букве pi входного алфавита абстрактного автомата однозначным образом ставится в соответствие набор значений двоичных переменных х1, х2,…, хn. Очевидно, что кодирование является однозначным, если число букв входного алфавита не превышает числа различных двоичных наборов переменных х1, х2,…, хn. Исходя из этого, количество двоичных переменных n, необходимое для кодирования r букв входного алфавита, можно определить из условия r Ј 2n. Кодирование выходных сигналов состоит в том, что буквам выходного алфавита wi абстрактного автомата аналогичным образом ставятся в соответствие наборы значений выходных переменных z1, z2,…, zm. Результаты кодирования обычно заносятся в таблицы кодирования входных и выходных сигналов.
В некоторых задачах кодирования входных и выходных сигналов задается в качестве условий работы схемы на этапе абстрактного синтеза. В таких случаях в структурную схему автомата могут быть включены преобразователи кодов. При этом кодирование заключается в том, что каждому набору значений переменных х1, х2,…, хn однозначным образом ставится в соответствие набор переменных х1', х2',…, хq', а каждому набору переменных z1, z2,…, zm – набор переменных z1', z2',…, zs'. Заметим, что в качестве преобразователей кодов на практике часто используют дешифраторы. Необходимо иметь в виду, что кодирование входных и выходных сигналов может существенно влиять на сложность комбинационной части схемы так же, как и кодирование состояний автомата.
3. Выбор числа элементов памяти и кодирование состояний автомата.Кодирование состояний заключается в том, что каждому состоянию si О S однозначным образом ставится в соответствие набор внутренних переменных у1, у2,…, уh. Состояния и соответствующие им коды обычно представляют в виде таблицы, которая называется таблицей кодирования состояний автомата.
Если автомат имеет l состояний, то, для того, чтобы получить однозначное соответствие, необходимо иметь не менее l различных двоичных кодов. Минимальное число элементов памяти, необходимое для получения однозначного кодирования, h=log2l.
Кодирование состояний существенно влияет на сложность комбинационной части схемы автомата. Для того, чтобы упростить комбинационную схему, часто используют избыточное кодирование, выбирая h большим, чем это необходимо для получения однозначного кодирования. Избыточное кодирование используется также для построения схем без состязаний. Кодирование состояний кажется целесообразным выполнять совместно с кодированием входных и выходных сигналов, однако такая задача оказывается весьма сложной и практически не реализуется.
4. Построение функций возбуждения. Функция возбуждения yi' определяет, какой сигнал нужно подать на вход i-го элемента памяти, чтобы получить код состояния, в которое автомат должен перейти. Функции возбуждения при структурном синтезе соответствуют функциям перехода абстрактного автомата. Это соответствие показывает, что функции возбуждения должны зависеть от внутренних переменных y1, y2,…, yh, определяющих состояние автомата, и входных переменных х1, х2,…, хn, относящихся к одному и тому же моменту времени. Последнее обстоятельство позволяет нам рассматривать функции возбуждения как переключательные функции:
5. Построение функции выхода.В автомате Мили каждая функция выхода zi определяет соответствующий компонент набора выходных сигналов. Функции выхода при структурном синтезе соответствуют функции выхода абстрактного автомата. Они зависят от внутренних переменных y1, y2,…, yh и входных переменных х1, х2,…, хn. Существенно, что значения переменных, определяющих zi, относятся всегда к одному и тому же моменту времени, поэтому функции выхода являются переключательными функциями:
Функции выхода автомата Мура в каждый момент времени определяют совокупность выходных сигналов:
6. Реализация функций выхода и функций возбуждения.Этот этап включает в себя действия, связанные с построением аналитического представления для переключательных функций, входящих в системы, их минимизацию, факторизацию и преобразования в операторную форму для заданной системы элементов. Заметим, что на этом этапе целесообразно также выполнять построение преобразователей кодов, которые обычно реализуются либо как система переключательных функций, либо в виде схемы «дешифратор-шифратор».
7.Графическое изображение полной схемы автомата.
2.6 Типы элементов памяти
В качестве элементов памяти на стадии структурного синтеза чаще всего используют элементарные автоматы с двумя выходными сигналами. Однако в последнее время в связи с разработкой больших интегральных схем представляет интерес использование в качестве элементов памяти широко применяемых в цифровых устройствах типовых схем: счетчиков и регистров. Элементы памяти с двумя выходными сигналами обычно называются триггерами. В большинстве случаев триггер является автоматом Мура. Он может иметь один или несколько входов. Работа триггера, как и любого автомата, описывается с помощью таблицы переходов.
На практике часто возникает задача построения триггеров из элементов заданной системы. Для этой цели используют характеристическое уравнение триггера, которое определяет состояние, в которое должен перейти триггер qt+1 в зависимости от входного сигнала xt и состояния qt, в котором находится триггер qt+1 = c (xt, qt). Построение характеристических уравнений триггеров выполняется обычно либо непосредственно по таблице переходов, либо с помощью диаграмм Вейча.
При построении функций возбуждения автомата необходимо решать обратную задачу: находить сигналы, которые нужно подать на вход триггера, чтобы перевести его из одного состояния в другое. Для этого используют матрицу переходов автомата, в которой для каждого перехода указаны соответствующие входные сигналы, вызывающие такой переход. Построение матрицы переходов выполняется, как правило, непосредственно по таблице переходов автомата.
3. Проектирование алгоритма и построение абстрактного автомата арифметико-логического устройства
3.1 Задание и исходные данные
Разработка арифметико-логического устройства, выполняющего операцию сложения и вычитания в прямом двоичном коде.
Исходные данные:
– разрядность операндов – 8 бит;
– разрядность результата – 8 бит;
– элемент памяти – ПЗУ;
– формат операндов и результата – 8 бит;
3.2 Разработка алгоритма устройства
Построим алгоритм заданного логического устройства. Распишем все возможные комбинации сочетания знаков чисел, поступающих на вход устройства с учетом типа операции
1.A+B
2.А+(-В)
3.-А+В
4.-А+(-В)
5.А-В
6.А – (-В)
7.-А-В
8.-А – (-В)
Учтя особенности сложения и вычитания в двоичном коде, получим:
1. А+В
2. А+Вд
3. Ад+В
4. Ад+Вд
5. А+Вд
6. А+В
7. Ад+Вд
8. Ад+В, где д – означает число, переведенное в дополнительный код.
Очевидно, что мы получили пары одинаковых комбинаций. Объединив номера 1 и 6, 2 и 5, 3 и 8, 4 и 7 получим:
1. А+В
2. А+Вд
3. Ад+В
4. Ад+Вд
Теперь мы имеем все данные для построения алгоритма, построим его:
Рисунок 3.2.1. Алгоритм арифметико-логического устройства
Далее разметим алгоритм с учётом входных, выходных сигналов и состояний для построения абстрактного автомата Мили:
Рисунок 3.2.2 – Алгоритм с учётом входных, выходных сигналов и состояний
Нарисуем Граф автомата Мили
Запишем составляющие К1, К2, К3, К4, К5
К1=
К2=
К3=
К4=
К5=
Входные сигналы К1, К2, К3, К4, К5, X8,
По размеченному алгоритму построим таблицу переходов-выходов автомата Мили.