- •© Иркутский государственный университет
- •Сокращения
- •Введение
- •Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
- •1.1. Переменные и функции алгебры логики
- •1.2. Двоичные коды переменных
- •Запишем аналитическое выражение для y1 в виде логической суммы (дизъюнкции) конъюнкций тех переменных, которые определяют единичное значение булевой функции:
- •1.3. Логические функции одной и двух переменных
- •1.4. Одноразрядный сумматор двух переменных
- •1.5. Дешифратор и шифратор двоичного позиционного кода
- •1.6. Цифровой и аналоговый мультиплексоры
- •1.7. Основные понятия минимизации булевых функций
- •1.8. Структурный синтез самодиагностируемых обратимых функциональных преобразователей информации
- •1.9. Дискретные преобразователи информации
- •Глава 2 системы управления дискретной автоматики
- •2.1. Операционные автоматы
- •2.2. Базовые модели систем управления
- •Окончание рис. 32
- •Системная модель преобразования информации
- •Расширение двухблоковой модели системы
- •2.3. Организация связей в информационно-управляющих системах
- •2.4. Проектирование преобразователей информации
- •2.5. Операторные схемы алгоритмов систем управления
- •Глава 3 конечные автоматы систем управления
- •3.1. Абстрактный синтез автоматов
- •3.2. Структурный синтез автоматов
- •3.2.1. Организация памяти автоматов
- •3.3. Структурная схема автомата Мура
- •3.4. Функциональная реализация автоматов управления
- •3.4.1. Функциональная подсистема автомата
- •3.4.2. Адресная подсистема автомата
- •3.4.3. Реализация автоматов управления на программируемых логических интегральных схемах
- •3.5. Синтез быстродействующих автоматов
- •Глава 4 системы автоматов управления
- •4.1. Декомпозиция автоматов
- •4.2. Автоматы с объединенными операторами
- •4.3. Синтез многорежимных автоматов
- •4.3.1. Многопрограммные формирователи временных интервалов
- •4.3.2. Режим реализации нескольких последовательностей временных интервалов (от 8 до 64)
- •Режим реализации
- •4.4. Синтез автоматов по декомпозированной схеме алгоритма
- •4.5. Управление взаимосвязанными процессами
- •Глава 5 сложные автоматы систем реального времени
- •5.1. Структурная организация сложных автоматов
- •5.2. Контроль автоматов управления в системах реального времени
- •5.3. Моделирование автоматов управления
- •5.4. Управление спецпроцессором функционального контроля пзу
- •5.5. Система управления коммутаций сигналов
- •Основная литература
- •Дополнительная литература
4.3. Синтез многорежимных автоматов
Разработка и освоение отечественной промышленностью БИС оперативной и постоянной памяти позволяет решать задачи создания блоков памяти путем объединения нескольких БИС. Адресация и управление в таких блоках не сводятся только к задачам дешифрации. Наиболее сложный узел, обеспечивающий комплексное функционирование блока памяти, – это автомат управления. В том случае, когда в блоке кроме кристаллов ПЗУ используются кристаллы ОЗУ, необходимо формировать несколько различных временных диаграмм (рис. 76). На этом рисунке цифры по оси абсцисс обозначают номер выходных сигналов управления, а по оси ординат – длительность сигналов в относительных единицах.
Трудность проектирования таких автоматов заключается в многорежимности, в большом диапазоне временных длительностей при переходе от одного режима к другому (абонент–ОЗУ и ОЗУ–ПЗУ, ПЗУ–ОЗУ и абонент ОЗУ и др.). Ограничительным фактором является требование минимальности затрат оборудования и стремление к максимальному быстродействию с целью снижения частоты синхронизирующих импульсов для самого автомата управления.
Известные методы проектирования однорежимных микропрограммных автоматов (МПА) основаны на использовании элементов задержки (встроенных мультивибраторов) в логических цепях автомата или на применении автоматов Мили, Мура. Оптимизация МПА производится за счет функционально-временного совмещения операторов, минимизации булевых функций или специального кодирования. Отсутствуют методики оптимизации на уровне составления самих граф-схем алгоритмов функционирования МПА, хотя оптимизация наиболее эффективна на самых ранних этапах проектирования МПА.
Рассмотрим один из возможных подходов к решению данной проблемы применительно к поставленной задаче. Проанализируем временные диаграммы рис. 76. Реализацию каждого временного интервала можно осуществить путем включения и выключения триггеров с кодовыми входами, соответствующими микрооперациям С1, С2, ..., Сk.
Рис. 76
В основу проектирования МПА положим модель В.М. Глушкова [9], расширенную в работах [16, 23] за счет явного выделения блока формирования логических условий α. В данном случае введем α1, ..., αm – набор логических условий, отмечающих окончание соответствующего временного интервала, формирование которых осуществим с помощью счетчика временных тактов (Сч 2) и комбинационной схемы (КСхЗ) на рис. 77.
Рис. 77
Обозначим через а1, а2, ..., аn состояния МПА. Желательно так составить граф-схемы алгоритма для всех режимов, чтобы они содержали минимальное число различных αi (т.е. min m), а одни и те же сигналы Cj принадлежали бы одним и тем же состояниям aS(t). В этом случае не потребуется дополнительных схем ИЛИ, объединяющих сигналы Cj от разных aS(t) и ap(t), p ≠ s, сокращается глубина логических схем, возможно сокращение числа состояний МПА, следовательно, может быть повышено быстродействие. В связи с тем, что генерация временных интервалов начинается включением счетчика (Сч 2), каждому αi в граф-схеме алгоритма необходимо соотнести пустой оператор перед αi, соответствующий независимому состоянию МПА. Число таких состояний после оптимизации МПА должно соответствовать максимальному числу одновременно используемых αi в одном режиме Р(Р = 1, 2, ..., Р).
Для микрооперации Cj обозначим в режиме P: ti0(P) – момент ее включения; ti1(P) – момент ее выключения. В некоторых режимах P: ti0(P) = 0, тогда время выключения определяется по условию
minti1(P) ≤ ti1(P) ≤ maxti0(P).
Микрооперациям с ti0(P) ≠ 0 будет предшествовать момент времени включения задержки tαi(P) по условию αi и время пропусков тактов tei(P), где e – символ пустого оператора. Например, для С6 в режиме запишем
t60(1) = tα6(1) + te6(1); t60(1) + 0,4 ≤ t61(1) ≤ 2.
Очевидно, что для сигналов большой длительности через tαi(P) и tei(P) будет определяться момент выключения Cj(P).
Таким образом, для моментов включения при всех режимах P {1, …, P} и для каждого типа микрооперации i {1, 2, ..., I} условие определяется выражениями
ti0(P) = 0 или ti0 = tαi(P) + tei(P),
а для моментов выключения
minti1(P) ≤ ti1(P) ≤ maxti1(P) или ti1(P) = tαi(P) + tei(P) + ti0(P).
Подставив в последнее уравнение ti0(P) = 0 для соответствующих ti получим систему неравенств вида:
(6)
где i ≠ j, j = 1, 2, …, I; P = 1, 2, ..., P.
Заметим, что ti(P) и ti(P + k) окажутся приписанными одному и тому же состоянию либо при k = 0, либо в том случае, если
(7)
где Δt – длительность такта синхронизации в автомате; 2n – максимально допустимое число состояний МПА.
Введем двоичные переменные δik(P), которые принимают значения 1 для заданного i, P; если i ≠ k, условие (7) выполняется, в противном случае δik(P) = 0. Тогда целевую функцию оптимизации можно записать в виде
. (8)
Таким образом, задача составления граф-схемы с оптимальным совмещением одноименных операций и минимальным числом различных αi (за счет передвижения начала или конца микрооперации в заданных допустимых границах) свелась к задаче целочисленного программирования с булевыми переменными: необходимо максимизировать выражение (8) при ограничениях (6).
Решением задачи оптимизации для рассматриваемого примера является система граф-схем алгоритмов. Как видно из рис. 78, полученные по формализованной методике граф-схемы отличаются малым числом логических условий и однозначной привязкой как операций проверки логических условий, так и одноименных микроопераций к одним и тем же состояниям МПА.
Дальнейший этап синтеза многорежимных автоматов связан с получением обобщенного графа МПА. Для этого разметим граф-схемы (рис. 78, режим 1) и затем на граф состояний (рис. 79) перенесем все переходы из состояний αi в αj, которые имеются хотя бы в одном из режимов Р. После получения графа МПА следует перейти к составлению булевых функций выходов и переходов МПА и к синтезу МПА.
Наиболее эффективная реализация МПА для рассматриваемого случая связана с использованием счетчика в качестве МПА [25] для реализации последовательности состояний 1, 2, ..., 7 и пропуска такта (отметим это особо) в переходах 2, 4, 6 путем отключения сигналов тактовой частоты от входов памяти МПА и переключения на устройство выработки логических условий α. Тогда комбинационная схема формирования переходов в МПА существенно упрощается, так как требуется формировать единственную выходную функцию f0 переключения генераторов тактовых сигналов. Реализация автомата такого типа приводит к экономии оборудования и существенному повышению его быстродействия.
В реальных системах управления и контроля необходимо генерировать многоканальную последовательность временных интервалов длительностью от 0,2 мкс до 25 мс в каждом из каналов управления исполнительными устройствами. Конструирование таких многопрограммных, многоканальных формирователей на структурах взаимосвязанных микропрограммных автоматов [25] позволяет исключить наборное поле (набор регистров, ПЗУ), схему цифрового компаратора, а для формирования интервалов времени, неравных произведению длительности
Рис. 78
Рис. 79
периода задающего генератора и числа 2n, следует применить схемы «И» на 2–3 входа, где n – целое число.
