Хотелось бы начать автореферат с обзора исследований разработок по данной теме на трех уровнях:
Модель микропрограммного автомата (МПА) Мура [1]
часто используется при реализации устройств управления цифровых систем [2, 3]. Развитие микроэлектроники
привело к появлению разнообразных программируемых логических устройств [4, 5], одними из представителей
которых являются CPLD (complex programmable logic devices) [6, 7, 9, 10]. Основой CPLD являются макроячейки
PAL (pro-grammable array logic), соединенные с помощью программируемых матриц межсоединений. Одной из
важных проблем, возникающих при синтезе МПА на CPLD, является минимизация числа макроячеек в его логической схеме.
Одним из путей решения этой проблемы является оптимальное кодирование состояний [8]. Однако этот подход не позволяет
оптимизировать схему формирования выходных сигналов. В настоящей работе предлагается метод оптимизации, основанный на
представлении кода состояния МПА в виде конкатенации кодов класса псевдоэквивалентных состояний и кода набора микроопераций
(микрокоманды). Такой подход позволяет уменьшить аппаратурные затраты в комбинационных блоках МПА и не приводит к потере
быстродействия.
Целью исследования является оптимизация схемы МПА Мура за счет нестандартного
представления кодов состояний.
Задачей исследования является разработка метода синтеза МПА Мура, позволяющего
уменьшить число ячеек PAL в схеме автомата. При этом алгоритм управления представляется в виде граф-схемы алгоритма (ГСА) [1].
Пусть автомат Мура задан прямой структурной таблицей (ПСТ)
со столбцами [1]: am, K(am), as, K(as), Xh, Фh, h.
Здесь am - исходное состояние МПА; K(am) – код состояния
разрядности , для кодирования состояний используются внутренние переменные из множества
; as, K(as) – соответственно состояние перехода и его код;
Xh – входной сигнал, определяющий переход m,as>, и равный конъюнкции некоторых
элементов (или их отрицаний) множества логических условий ; Фh – набор функций
возбуждения триггеров памяти МПА, принимающих единичное значение для переключения памяти из К(am) в
К(as), ; h=1,…,Н – номер перехода. В столбце am записывается набор
микроопераций Yq, формируемых в состоянии , где Эта таблица
является основой для формирования систем функций
задающих логическую схему МПА. Системы (1)-(2) определяют структурную схему МПА Мура U1, показанную на рис.1.
В этой структуре блок функций возбуждения памяти (БФП) реализует систему (1), регистр RG служит для хранения кодов состояний,
а блок микроопераций (БМО) реализует систему (2). Для минимизации числа макроячеек PAL в БФП может использоваться метод
оптимального кодирования состояний [8], позволяющий уменьшить число термов в системе (1) до Н0.
Здесь Н0 – число переходов эквивалентного автомата Мили. Оптимизация БМО может быть выполнена за счет
уточненного кодирования состояний [10]. При этом число макроячеек может быть уменьшено до N, что соответствует ситуации,
когда каждая функция реализуется на одной макроячейке. Для оптимального и уточненного кодирования
состояний может быть использован, например, известный алгоритм ESPRESSO [3]. Однако оба метода не могут быть применены
одновременно. Поэтому кодирование состояний позволяет оптимизировать либо БФП, либо БМО.
В настоящей работе предлагается метод, позволяющий оптимизировать число PAL в схемах обоих блоков МПА Мура.
Одной из особенностей МПА Мура является наличие псевдоэквивалентных состояний [8], то есть состояний с одинаковыми переходами под воз-действием одинаковых входных сигналов. Такие состояния соответствуют операторным вершинам [1] алгоритма управления, выходы которых связаны со входом одной и той же вершины алгоритма.
Пусть - разбиение множества А на классы псевоэквивалентных состояний. Закодируем классы двоичными кодами K(Bi) разрядности
Пусть исходная ГСА Г включает Q попарно различных наборов микроопераций (НМО) Закодируем набор Yq двоичным кодом K(Yq) разрядности
Пусть операторная вершина bt ГСА Г соответствует состоянию и пусть в ней записан набор микроопераций Yq. Тогда код состояния можно представить в виде конкатенации кодов
Такое представление позволяет представить автомат Мура в виде модели U2 (рис.2).
В автомате U2 блок БФП реализует функции (6) и блок БМО – функции (7).
При этом элементы множества используются для кодирования классов , а элементы множества используются для кодирования наборов микроопераций.
Предлагаемый подход имеет ряд положительных качеств:
Для кодирования состояний МПА U1 достаточно
Предлагаемый метод представления кодов состояний перехода ориентирован на уменьшение числа макроячеек PAL в схеме автомата Мура. Такой подход позволяет уменьшить число термов в системе функций возбуждения памяти до величины соответствующего параметра эквивалентного автомата Мили. Исследования показали, что предлагаемый метод всегда более эффективен по сравнению с классическим методом реализации МПА Мура. При этом число макроячеек уменьшается до 38%.
Уменьшение числа макроячеек не связано с введением дополнительных блоков, уменьшающих быстродействие схемы. Более того, уменьшение числа макроячеек часто сопровождается уменьшением числа уровней схемы МПА. При этом повышается быстродействие МПА и, следовательно, цифровой системы в целом.
Научная новизна предложенного метода заключается в использовании особенностей автомата Мура (наличие классов псевдоэквивалентных состояний) для оптимизации числа макроячеек PAL в логической схеме автомата.
Практическая значимость метода заключается в уменьшении площади кристалла, занимаемой комбинационной схемой МПА, что позволяет получить схемы, которые обладают меньшей стоимостью, чем известные из литературы аналоги.
Дальнейшие направления работы связаны с исследованием возможности применения предложенного метода для случая реализации устройства управления в базисе FPGA, а также в составе «систем-на-кристале».