Источник: Сборник "PROCEEDING OF THE STUDENTS AND POSTGRADUATES ON COMPUTER SCIENCE AND ENGINEERING", изданного в г. Донецке, в 2007 году, стр. 36-46, Оригинал
Перевод: Солдатов К.А.
Разработка микропрограммных автоматов с преобразователем кодов.
Введение
Устройство управления (УУ) любой цифровой системы может быть представлено моделью микропрограммного автомата (МПА) Мура или Мили. Аппаратная минимизация УУ, реализованных на Программируемых Логических Устройствах (ПЛУ), может быть достигнута за счет увеличения числа уровней в цепи МПА [1]. В этом случае оптимизация блока микроопераций цифровой системы будет достигаться за счет формирования некоторых дополнительных переменных. [2, 3]. В этой статье предлагается метод, который позволяет уменьшить количество дополнительных переменных, и следовательно, количество ячеек ПЛА для схемы МПА.
Главная идея и определения предложенного метода
Пусть УУ представлено МПА S с набором состояний , набором логических условий , набором микроопераций и термов и пусть каждый терм соответствует одной строке прямой структурной таблице (ПСТ) [1]. Пусть ПСТ имеет Z различных состоянии микроопераций и пусть состояния закодированы с помощью использования внутренних переменных , где R = ]log2M[. Пусть каждый набор Yz соответствует двоичному коду K(Yz) с количеством бит равных Q = ]log2Z[ и пусть они закодированы переменными . Состояния соответсвует двоичному коду K(am) разрядности R. Пусть состояния и множество будут объектами МПА S. Основная идея предложенного метода состоит в следующем.
Первый из объектов (состояние или микрооперация) – это функция терма ПСТ, а второй объект - это функция одного или может быть нескольких дополнительных элементов. Такой подход основан на включении в структуру МПА специального преобразователя кода (ПК). Если ПК осуществляет соответствие , тогда мы будем называть его как PCAY – МПА. Если ПК осуществляет соответствие , тогда мы будем называть его PCYY – МПА. На рисунках 1 и 2 показаны структуры МПА Мура для PCAY – МПА и PCYY – МПА. Здесь W представляет собой набор переменных, которые необходимы для точной идентификации объектов [4].
Рисунок 1 – Структурная схема автомата Мура PCAY- FSM
Рисунок 2 – Структурная схема автомата Мура PCYY-FSM
В виду того, что в автомате Мура выходная функция не зависит от логических условий, подсхема Y реализовывает систему выходных функций Y, которые могут быть подключены к выходным регистрам RG как напрямую (PCYY – МПА) так и через схему ПК ((PCAY – МПА). Здесь подсхема P реализует функции возбуждения и специальную функцию , которая необходима для формирования в RG функции T (PCAY – МПА) или функции V и W (PCYY – МПА). PCAY – МПА не формирует функцию Y, потому что отношение
. (1)
Истинно, только для конкретного случая МПА Мили. Это является причиной для формирования функции W в МПА Мили PCAY- МПА (Рис.3) и PCYY – МПА (Рис.4).
Рисунок 3 – Структурная схема автомата Мили PCAY=МПА
Рисунок 4 – Структурная схема автомата Мили PCYY-МПА
Если коды объектов, которые формирует подсистема P, то такие объекты называются основными. Если коды объектов являются функциями от других объектов, то они называются вторичными объектами.
Общая методика разработки автоматов с преобразованием объектов
Методика проектирования любого автомата включает в себя следующие этапы:
1. Формирование ПСТ МПА. В случае первоначальная информация представляется в виде блок-схемы алгоритма, с отмеченными на ней состояниями.
2. Определение набора переменных I в точности идентифицирующие вторичные объекты по первичным. Количество переменных во множестве I должно быть минимальным для снижения общего объема требуемых выходов подсхемы P.
3. Кодирование множества микроопераций используя элементы множества V. Формирование таблицы микроопераций. Этот шаг выполняется для дальнейшего проектирования ПСТ, количество переменных во множестве V должно быть минимальным, чтобы минимизировать количество выходов подсистемы P.
4. Кодирование переменных используя элементы множества , где P = ]log2K[. Такой подход позволяет свести к минимуму общее количество выходов в подсхеме P и количество входов в преобразователь кода.
5. Точная идентификация вторичных объектов использую код первичных объектов и код K(IK) переменных .
6. Формирование преобразованной ПСТ, в которой исключены столбцы со вторичными объектами и вставлены столбцы с переменными, которые их идентифицируют.
7. Формирование системы функций, осуществляемых подсхемой P, используя преобразованную ПСТ.
8. Формирование таблицы преобразователя кодов и его функций.
9. Разработка логической схемы МПА в заданном базисе.
Примеры применения этой процедуры, с подробной информацией для проектирования конкретных структур МПА можно найти в литературе [4,5].
Таблица 1- Первоначальная ПСТ МПА Мура
am |
K(am) |
as |
K(as) |
Xh |
Фh |
h |
a1 (¾) |
000 |
a2 |
001 |
x1 |
D3 |
1 |
a3 |
010 |
x2 |
D2 |
2 |
||
a4 |
011 |
|
D2 D3 |
3 |
||
a2 (y1,y2) |
001 |
a5 |
100 |
x3 |
D1 |
4 |
a6 |
101 |
|
D1 D3 |
5 |
||
a3 (y3) |
010 |
a5 |
100 |
x3 |
D1 |
6 |
a6 |
101 |
|
D1 D3 |
7 |
||
a4 (y1,y2) |
011 |
a5 |
100 |
x3 |
D1 |
8 |
a6 |
101 |
|
D1 D3 |
9 |
||
a5 (y3,y4) |
100 |
a7 |
110 |
x4 |
D1 D2 |
10 |
a1 |
000 |
|
- |
11 |
||
a6 (y1,y2) |
101 |
a7 |
110 |
x4 |
D1 D2 |
12 |
a1 |
000 |
|
- |
13 |
||
a7 (y3,y4) |
110 |
a5 |
100 |
x3 |
D1 |
14 |
a6 |
101 |
|
D1 D3 |
15 |
Давайте рассмотрим пример МПА Мура, представленного Таблицей 1. Эта таблица содержит Т=4 наборов микроопераций: Y1=Æ, Y2={y1,y2}, Y3={y3}, Y4={y3,y4}, и Q=2 переменных, которых достаточно, чтобы их закодировать: Z={z1, z2}. Пусть К(Y1)=00, K(Y2)=01, …, K(Y4)=11. Тогда таблицы микроопераций и преобразователя кодов представлены в таблице 2 и таблице 3 соответственно.
Функциональная схема МПА показана на рисунке 5. Применение этого метода выгодно, если
R > Q. (2)
Таблица 2 – Таблица микроопераций МПА Мура
Yt |
K(Yt) |
y1 |
y2 |
y3 |
y4 |
T |
Y1 |
00 |
0 |
0 |
0 |
0 |
1 |
Y2 |
01 |
1 |
1 |
0 |
0 |
2 |
Y3 |
10 |
0 |
0 |
1 |
0 |
3 |
Y4 |
11 |
0 |
0 |
1 |
1 |
4 |
Таблица 3 – Таблица преобразователя кодов МПА Мура
am |
K(am) |
Yt |
K(Yt) |
Zm |
m |
a1 |
000 |
Y1 |
00 |
- |
1 |
a2 |
001 |
Y2 |
01 |
z2 |
2 |
a3 |
010 |
Y3 |
10 |
z1 |
3 |
a4 |
011 |
Y2 |
01 |
z2 |
4 |
a5 |
100 |
Y4 |
11 |
z1 z2 |
5 |
a6 |
101 |
Y2 |
01 |
z2 |
6 |
a7 |
110 |
Y4 |
11 |
z1 z2 |
7 |
1. Baranov S. Logic Synthesis of Control Automata– Kluwer Academic Publishers, 1994. – 312 pp.
2. Скляров В.А. Синтез автоматов на матричных БИС – Минск: Наука и техника, 1984. – 287 с.
3. Соловьёв В.В Проектирование цифровых систем на основе программируемых логических интегральных схем. – М.: Горячая линия – Телеком, 2001. – 636 с.
4. Баркалов А.А., Баркалов А.А. Оптимизация схем автоматов Мура с кодированием наборов микроопераций / В кн. “Автоматизация проектирования дискретных систем”. Материалы 4-й Международной конференции (14-16.11.2001, Минск). Том 2. – Минск: ИТК НАН Беларуси, 2001. – C.14-19.
5. Баркалов А.А., Палагин А.В. Синтез микропрограммных устройств управления.– Киев: ИК НАН Украины, 1997. – 135 с.
6. Баркалов А.А. Принцип оптимизации логической схемы микро-программного автомата Мура // Кибернетика и системный анализ. – 1998. - №1. – C. 65-72.
7. Баркалов А.А., Зеленева И.Я. Оптимизация логической схемы устройства управления с заменой переменных // Управляющие системы и машины. – 2001. - №1.– C.75-78.