Разработка и освоение отечественной промышленностью БИС оперативной и постоянной памяти позволяет решать задачи создания блоков памяти путем объединения нескольких БИС. Адресация и управление в таких блоках не сводятся только к задачам дешифрации. Наиболее сложный узел, обеспечивающий комплексное функционирование блока памяти, – это автомат управления. В том случае, когда в блоке кроме кристаллов ПЗУ используются кристаллы ОЗУ, необходимо формировать несколько различных временных диаграмм (рис. 76). На этом рисунке цифры по оси абсцисс обозначают номер выходных сигналов управления, а по оси ординат – длительность сигналов в относительных единицах.
Трудность проектирования таких автоматов заключается в многорежимности, в большом диапазоне временных длительностей при переходе от одного режима к другому (абонент–ОЗУ и ОЗУ–ПЗУ, ПЗУ–ОЗУ и абонент ОЗУ и др.). Ограничительным фактором является требование минимальности затрат оборудования и стремление к максимальному быстродействию с целью снижения частоты синхронизирующих импульсов для самого автомата управления.
|
|
Известные методы проектирования однорежимных микропрограммных автоматов (МПА) основаны на использовании элементов задержки (встроенных мультивибраторов) в логических цепях автомата или на применении автоматов Мили, Мура. Оптимизация МПА производится за счет функционально-временного совмещения операторов, минимизации булевых функций или специального кодирования. Отсутствуют методики оптимизации на уровне составления самих граф-схем алгоритмов функционирования МПА, хотя оптимизация наиболее эффективна на самых ранних этапах проектирования МПА.
Рассмотрим один из возможных подходов к решению данной проблемы применительно к поставленной задаче. Проанализируем временные диаграммы рис. 76. Реализацию каждого временного интервала можно осуществить путем включения и выключения триггеров с кодовыми входами, соответствующими микрооперациям С1, С2,..., С k.
Рис. 76
В основу проектирования МПА положим модель В.М. Глушкова [9], расширенную в работах [16, 23] за счет явного выделения блока формирования логических условий α. В данном случае введем α 1,..., αm – набор логических условий, отмечающих окончание соответствующего временного интервала, формирование которых осуществим с помощью счетчика временных тактов (Сч 2) и комбинационной схемы (КСхЗ) на рис. 77.
Рис. 77
Обозначим через а1, а2,..., а n состояния МПА. Желательно так составить граф-схемы алгоритма для всех режимов, чтобы они содержали минимальное число различных αi (т.е. min m), а одни и те же сигналы C j принадлежали бы одним и тем же состояниям a S (t). В этом случае не потребуется дополнительных схем ИЛИ, объединяющих сигналы C j от разных a S (t) и a p (t), p ≠ s, сокращается глубина логических схем, возможно сокращение числа состояний МПА, следовательно, может быть повышено быстродействие. В связи с тем, что генерация временных интервалов начинается включением счетчика (Сч 2), каждому αi в граф-схеме алгоритма необходимо соотнести пустой оператор перед αi, соответствующий независимому состоянию МПА. Число таких состояний после оптимизации МПА должно соответствовать максимальному числу одновременно используемых αi в одном режиме Р (Р = 1, 2,..., Р).
|
|
Для микрооперации C j обозначим в режиме P: ti 0(P) – момент ее включения; ti 1(P) – момент ее выключения. В некоторых режимах P: ti 0(P) = 0, тогда время выключения определяется по условию
min ti 1(P) ≤ ti 1(P) ≤ max ti 0(P).
Микрооперациям с ti 0(P) ≠ 0 будет предшествовать момент времени включения задержки tαi (P) по условию αi и время пропусков тактов tei (P), где e – символ пустого оператора. Например, для С6 в режиме запишем
t 60(1) = tα 6(1) + t e6(1); t 60(1) + 0,4 ≤ t 61(1) ≤ 2.
Очевидно, что для сигналов большой длительности через tαi (P) и tei (P) будет определяться момент выключения C j (P).
Таким образом, для моментов включения при всех режимах P Î {1, …, P } и для каждого типа микрооперации i Î {1, 2,..., I } условие определяется выражениями
ti 0(P) = 0 или ti 0 = tαi (P) + tei (P),
а для моментов выключения
min ti 1(P) ≤ ti 1(P) ≤ max ti 1(P) или ti 1(P) = tαi (P) + tei (P) + ti 0(P).
Подставив в последнее уравнение ti 0(P) = 0 для соответствующих ti получим систему неравенств вида:
(6)
где i ≠ j, j = 1, 2, …, I; P = 1, 2,..., P.
Заметим, что ti (P) и ti (P + k) окажутся приписанными одному и тому же состоянию либо при k = 0, либо в том случае, если
(7)
где Δ t – длительность такта синхронизации в автомате; 2 n – максимально допустимое число состояний МПА.
Введем двоичные переменные δ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 путем отключения сигналов тактовой частоты от входов памяти МПА и переключения на устройство выработки логических условий α. Тогда комбинационная схема формирования переходов в МПА существенно упрощается, так как требуется формировать единственную выходную функцию f 0 переключения генераторов тактовых сигналов. Реализация автомата такого типа приводит к экономии оборудования и существенному повышению его быстродействия.
|
|
В реальных системах управления и контроля необходимо генерировать многоканальную последовательность временных интервалов длительностью от 0,2 мкс до 25 мс в каждом из каналов управления исполнительными устройствами. Конструирование таких многопрограммных, многоканальных формирователей на структурах взаимосвязанных микропрограммных автоматов [25] позволяет исключить наборное поле (набор регистров, ПЗУ), схему цифрового компаратора, а для формирования интервалов времени, неравных произведению длительности
Рис. 78
Рис. 79
периода задающего генератора и числа 2 n, следует применить схемы «И» на 2–3 входа, где n – целое число.