Уменьшение числа макроячеек Pal в схеме автомата Мура

КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ И ТЕХНИЧЕСКАЯ ДИАГНОСТИКА

УДК681.234

УМЕНЬШЕНИЕ ЧИСЛА МАКРОЯЧЕЕК PAL В СХЕМЕ АВТОМАТА МУРА

БАРКАЛОВ А.А., ТИТАРЕНКО Л.А.,

ЦОЛОЛО С.А.______________________

Предлагается метод оптимизации аппаратурных затрат в логической схеме автомата Мура, реализуемого в базисе CPLD. Метод основывается на наличии классов псевдоэквивалентных состояний автомата Мура и большом коэффициенте объединения по входу макроячеек PAL. Приводится пример применения предложенного метода.

1. Введение

Устройство управления является важной частью любой цифровой системы [1]. На практике достаточно часто используется модель микропрограммного автомата (МПА) Мура [2]. В настоящее время для реализации схем МПА широко применяются программируемые логические устройства типа CPLD (complex programmable logic devices) [3-5]. В основе CPLD находятся макроячейки PAL (programmable array logic), характеризующиеся большим коэффициентом объединения по входу (несколько десятков) и ограниченным числом конъюнктивных термов (до десяти). Одной из актуальных задач, возникающих при синтезе схемы автомата Мура с использованием CPLD, является уменьшение аппаратурных затрат, т.е. числа макроячеек PAL в схеме автомата [4,5]. Решение этой задачи позволяет уменьшить количество микросхем, что улучшает такие параметры, как быстродействие, надежность, стоимость и потребляемая мощность [1,4]. Для успешного решения этой задачи необходимо учитывать как особенности модели автомата, так и особенности CPLD. К особенностям модели автомата Мура относятся наличие псевдоэквивалентных состояний и зависимость выходных сигналов только от состояний [8, 9].

Целью данного исследования является оптимизация комбинационной схемы автомата Мура за счет обобщенного кодирования состояний и их классов, а также использование нескольких источников кода состояний, что возможно благодаря особенностям CPLD. Задачей исследования является разработка формализованного метода синтеза МПА Мура, позволяющего оптимизировать число макроячеек PAL в схемах блоков формирования функций возбуждения памяти и микроопераций.

2. Общие положения

Пусть автомат Мура задан прямой структурной таблицей (ПСТ) [2] со столбцами: am - исходное состояние, входящее в множество состояний A = {ai,...,aM}; K(am) - код состояния am є A разрядности:

r = fiog2Ml;

as - состояние перехода; K(as) - код состояния

as є A ; Xh - конъюнкция входных сигналов (логических условий), входящих в множество X = {xi,...,xl}, которая определяет переход < am,as > ; Фh - набор функций возбуждения памяти, входящих во множество Ф = {Di,...,Dr} и принимающих единичное значение для переключения памяти из K(am) в K(as);h = 1,...,H - номер перехода. Кроме того, в столбце am записывается выходной набор Y(am) с Y, формируемый в состоянии am .

Здесь Y = {yi,...,y^} - множество микроопераций. Эта таблица является основой для формирования систем булевых функций:

ф = ф

н >н II >н

В системах (2)-(3) множество T = {T1,.. .,Tr} включа-

ет внутренние переменные, используемые для кодирования состояний МПА. Системы (2)-(3) определяют

структурную схему МПА Мура Ui (рис.1).

v

Рис. 1. Структурная схема автомата Мура U1

В структуре U1 блок функций возбуждения памяти (БФП) реализует систему (2), а блок выходных сигналов (БВС) реализует систему (3). Схемы обоих блоков реализуются на макроячейках PAL. Память автомата представлена регистром RG, который обнуляется по сигналу Start. Периодический сигнал Clock используется для синхронизации работы схемы.

Для уменьшения числа PAL в блоке БФП можно использовать метод оптимального кодирования состояний, основанный на наличии классов псевдоэквивалентных состояний Bi єПa [8, 9]. Здесь

nA = {B1,...,Bj} - разбиение множестваA на классы псевдоэквивалентных состояний. Состояния

РИ, 2007, № 4

65

am,ap є A называются псевдоэквивалентными, если

они отмечают операторные вершины алгоритма управления [2], выходы которых связаны со входом одной и той же вершины алгоритма. При оптимальном кодировании каждый класс Б; є Пд представляется минимально возможным числом обобщенных интервалов R-мерного булева пространства. При этом длина ПСТ (число в срок) становится меньше н и в пределе может достичь длины ПСТ эквивалентного автомата Мили. Обозначим этот предел символом

Но . Для оптимального кодирования может быть использован, например, известный алгоритм ESPRESSO [1]. Недостатком оптимального кодирования является невозможность оптимизации схемы БВС. Кроме того, оптимальное кодирование не всегда гарантируетумень-

шение ПСТ до H0 [9].

В настоящей работе предлагается метод синтеза, позволяющий одновременно уменьшить аппаратурные затраты в схемах БФП и БВС. Метод основан на всех ранее отмеченных особенностях автомата Мура и базиса CPLD.

3. Основная идея предлагаемого метода

Используем разбиение Пa для формирования системы булевых функций

M

Б; = V, Cimam

m=1

где C;m - булева переменная, равная единице, если и

только если am є Б;. Закодируем состояния am є A таким образом, чтобы каждая функция систем (3) и (4) выражалась минимально возможным числом обобщенных интервалов R-мерного булева пространства. Назовем такой подход обобщенным кодированием состояний, для реализации которого может быть использован алгоритм ESPRESSO [1] .

Разобьем множество Пд на классы Пб и Пс , при этом Б; єПБ , если

K; = 1,

где K; - число интервалов, представляющих класс Б; єП д. Закодируем классы Б; єП с двоичными кодами K(B;) разрядности

R1 = Tl0g2

где 1^ = |Пn| . Используем для такого кодирования элементы тг £Х , где |т| = R1 . Теперь может быть сформирована система функций

т = т

В этом случае автомат Мура может быть представлен структурной схемой U2 (рис. 2).

X

Блок

функций

возбуждения

памяти

ф

RG

Т

Блок

выходных

сигналов

Y

т

Start

Clock

Блок

преобразователя кодов

Рис. 2. Структурная схема автомата Мура U2

В МПА U2 переменные Т представляют коды C(B;) классов Б; єП Б, а переменные т - коды

K(B;) классов Б; єПc . Блок БФП реализует систему функций

Ф = Ф

блок БВС - систему (3), а блок преобразователя кодов (БПК) - систему (7). Таким образом, блок БПК реализует преобразование кодов, представляющих

состояния am є Б;, в код К(Б;) класса Б; єПс. Такой подход позволяет уменьшить число термов, реализуемых в блоке БФП, до Но и уменьшить число макроячеек PAL в блоке БВС (в пределе до N) по сравнению с оптимальным кодированием состояний. Однако оптимизация связана с введением блока БПК, потребляющего некоторые ресурсы кристалла. Этот блок может быть исключен при выполнении условия

Ic = 0.

В настоящей работе предлагается метод синтеза автомата Мура U2, включающий следующие этапы:

1. Формирование разбиения Пд и системы функций (4).

2. Обобщенное кодирование состояний am є A .

3. Формирование множеств Пб и Пс .

4. Кодирование классов Б; єП с и формирование системы функций (7).

5. Формирование системы функций (3).

6. Формирование прямой структурной таблицы автомата U2 и системы (8).

7. Синтез логической схемы автомата U2 в заданном элементном базисе.

4. Пример применения предложенного метода

Пусть ПСТ автомата Мура S1 построена на основе следующей системы обобщенных формул перехода

[9]:

Б1 ^ x1a2 v X1a3;

B2 ^ X2a4 V X2X3a5 v X2X3a6;

66

РИ, 2007, № 4

B3 ^x3a6 v x3x4a8 v x3x4ai;

B4 ^x5a8 v x5x6a11v x5x6a13;

B5 ^a10;

B6 ^ x1a12 v x1a1;

B7 ^ x4a1 v x4x5a7 v x4x5x6a11 v x4x5x6a13.

Пусть при этом получено разбиение П д = {В1,...,В7}, гДе B1 = Ы> B2 = {a2,a3b B3 = КЬ

B4 = {a5,a6,a7b B5 = {a8,a9b B6 = (a1^,

B7 = {an,a12,a1^. Пусть система микроопераций автомата S1 представляется следующей системой уравнений:

У1 = a2 v a3 v a12; У2 = a4 v a8 v a9 v a1o;

Сформируем систему уравнений (7). Например, K(B4) = 01 и коды состояний am є B4 входят в два обобщенных интервала 010 * и *111. Следовательно, булево уравнение для переменнойТ2 содержит термы

T1T2T3 и T2T3T4 . Выполняя подобные действия, получим систему функций блока БПК:

Т1 = T1T2T3 v T2T2T3 v T1T3T4 v T1T2T3 ;

T2 = T1T2T3 vT2T2T3 v T1T2T3 v T2T3T4 .

Используя систему (11) и коды из рис. 3, получаем систему функций блока БВС:

y1 = T3T4; y2 = T3T4 ; y3 = T1T2; y4 = T2T3T4 ;

у 5 = T2 T3 ; y6 = T" T3 ; y7 = T^; y8 = T1T4.

y3 = a3 v a7 v a8 v a11; y4 = a5 v a11; y5 = a6 v a7 v a8 ; y6 = a4 v a6 v a10 ; y7 = a3 v a11 v a12 v a13; y8 = a3 v a7 v a12 .

Итак, для автомата S1 имеем M = 13 , R = 4 ,

T = {T1,...,T4}, Ф = {D1,...,D4}, I = 7, N = 8. Сформируем систему (4), которая имеет следующий вид:

B1 = a1 ; B2 = a2 v a3 ; B3 = a4 ; B4 = a5 v a6 v a7 ;

B5 = a8 v a9 ; B6 = a10 ; B7 = a11v a12 v a13- (12) Результат обобщенного кодирования состояний для автомата S1 показан картой Карно на рис. 3.

\Т3 T2\ 0 0 01 11 10

00 ai a2 * a,

01 as * a6 aio

11 aii a3 a7 as

10 a13 a12 * a9

Рис. 3. Коды состояний автомата Мура S1

Анализ этой карты показывает, что классы B1,B3,B5,B6 єП b и B2,B4,B7 єПс. Таким образом, Ir = 3, R1 = 2, т = {т1,Т2} . Закодируем классы B; єП с следующим образом: K(B2) = 11,

K(B4) = 01, K(B7) = 10 . Значит, чем больше состояний входит в класс B; єПC, тем меньше единиц содержит код этого класса. Отметим, что код 00 соответствует ситуации B; єП в. Этим объясняется наличие единицы в формуле (6). Из карты Карно имеем C(B1) = 0000, C(B3) = 001* , C(B5) = 1*10, C(B6) = 0110.

РИ, 2007, № 4

Преобразованная ПСТ автомата S1 строится по системе (10) и включает столбцы B;, C(B;), K(B;), as, K(as), Xh, h, h. Фрагмент преобразованной ПСТ для классов В^2 єП д содержит 5 строк (таблица).

Фрагмент преобразованной ПСТ автомата

Мура S1

CBi) K(Bi) as K(as) Xh h h

B1 0000 00 a2 0001 x1 D4 1

a3 1101 x1 D1D2D4 2

B2 11 a4 0010 x2 D3 3

a5 0100 x2x3 D2 4

a6 0111 x2x3 D2D3D4 5

Связь этой таблицы с системой (10) и кодами классов и состояний очевидны. Отметим, что при B; єП в столбец k(b;) содержит код 00, а при В; єП c содержимое столбца С(В;) игнорируется и может быть любым, что отмечено знаками *. Эта таблица является основой для формирования системы (8). Например, из табл. 1 с учетом минимизации имеем:

D1 = T1T2T3T4 x1x2x1 (строка 2);

D2 = T1T2T3T4 Т1Т2І1VT1T2x2 (строки 2,4,5);

D3 =^1^2x2 VT1T2X3 (строки 3,5);

D4 = T1T2T3T4 RT2 x1 VT1T2x2x3

Реализация схемы автомата S1 сводится к реализации систем функций (13), (14), (15) на элементах PAL, что может быть выполнено, например, с использованием пакета WebPack [7].

67

Отметим, что для модели U2 длина преобразованной ПСТ всегда равняется И0. Так, для автомата Sj имеем Ид = 18, что равняется числу термов в системе (10). При этом параметр И = 36. Как показали наши исследования, при оптимальном кодировании состояний длина ПСТ также сокращается до Ид = 18, но система выходных сигналов имеет 26 термов. В случае обобщенного кодирования состояний система выходных сигналов имеет минимально возможное

число термов (N = 8) и каждая функция yn є Y реализуется на одной макроячейке PAL. Это позволяет получить схему блока БВС с максимально возможным быстродействием. При этом в моделиU2 добавляется 8 термов для реализации схемы блока БПК. Отметим, что общее число реализуемых термов в модели U2 равно 34, в модели Uj - 62, а при оптимальном кодировании состояний - 44. Естественно, что аппаратурные затраты значительно зависят от числа термов, реализуемых в одной макроячейке. Этот же параметр влияет и на число уровней схемы, т. е. на ее быстродействие.

5. Заключение

Предлагаемый метод обобщенного кодирования состояний автомата Мура позволяет уменьшить длину таблицы переходов до длины соответствующей таблицы эквивалентного автомата Мили. При этом число термов в системе выходных сигналов может быть уменьшено до числа микроопераций (N). Сжатие таблицы переходов достигается за счет ввода блока преобразователя кодов для некоторых классов псевдоэквивалентных состояний. Этот блок не вносит задержки в работу автомата, так как преобразование выполняется параллельно с выполнением микроопераций в исполнительной части цифровой системы. При выполнении условия (9), когда каждый класс представляется одним кодовым интервалом, блок БПК отсутствует. Использование БПК основано на особенностях макроячеек PAL [10]. Дополнительным эффектом предлагаемого метода является возможность уменьшения времени цикла автомата, благодаря уменьшению числа уровней в его логической схеме.

Для исследования эффективности предложенного метода был реализован программный комплекс, использующий VHDL-модели автоматов U1 и U2 . Кодирование состояний и их классов выполнялось алгоритмом ESPRESSO [1]. Результирующие системы уравнений обрабатывались системой WebPack фирмы Xilinx [7], что позволило оценить число макроячеек PAL и быстродействие схем автоматов. Исследова-

ния показали, что обобщенное кодирование состояний позволяет получить схемы, потребляющие до 40% меньше макроячеек, чем для автоматов с произвольным кодированием состояний, и до 18% меньше, чем для автоматов с оптимальным кодированием состояний. При этом число уровней в первом случае уменьшалось от 3 до 6, а во втором - от 1 до 3.

Научная новизна предложенного метода заключается в учете особенностей автомата Мура и элементного базиса CPLD для оптимизации числа макроячеек PAL в схеме автомата.

Практическая значимость метода состоит в уменьшении стоимости схемы автомата Мура на CPLD по сравнению с известными из литературы аналогами.

Литература: 1. DeMicheli G. Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994. 636 p. 2.BaranovS. Logic Synthesis for Control Automata. Kluwer Academic Publishers, 1994. 312 p. 3. Грушницкий Р.И., Мурсаев А.Х., Угрюмое Е.П. Проектирование систем с использованием микросхем программируемой логики. СПб: БХВ. Петербург, 2002. 608 с. 4. Соловьев В.В. Проектирование цифровых схем на основе программируемых логических интегральных схем. М.: Горячая линия-ТЕЛЕКОМ, 2001.636 с. 5. KaniaD. Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typu PAL. Zeszyty naukowe Politechniki &l№skiej, Gliwice, 2004. 240 p. 6. altera.com 7. xilinx.com 8. Баркалов А.А. Принципы оптимизации логической схемы микропрограммного автомата Мура // Кибернетика и системный анализ. 1998. №1. С. 65-72. 9. BarkalovA., Wegrzyn M. Design of Control Units with Programmable Logic. Zielona Gora: University of Zielona Gora Press, 2006. 150 s. 10. Баркалов А.А., Цололо С.А. Оптимизация схемы автомата Мура в составе системы на кристалле // Радиоэлектроника и информатика. 2007. №1. С. 35 - 39.

Поступила в редколлегию 17.12.2007

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Баркалов Александр Александрович, д-р техн. наук, профессор кафедры ЭВМ ДонНТУ, профессор Университета Зеленогурского (Польша). Научные интересы: цифровые устройства управления. Хобби: научная работа, спорт. Адрес: Украина, 83122, Донецк, ул. Артема, 204А, кв. 105. (+3 8062) 301-07-35.

Титаренко Лариса Александровна, д-р техн. наук, профессор кафедры ТКС ХНУРЭ, профессор Университета Зеленогурского (Польша). Научные интересы: системы телекоммуникаций, цифровые устройства управления. Хобби: научная работа, спорт. Адрес: Украина, 62418, Харьковская обл., пос. Песочин, ул. Зеленая, 14.

Цололо Сергей Алексеевич, аспирант каф. ЭВМ Дон-НТУ. Научные интересы: цифровые устройства управления на ПЛУ. Хобби: научная работа, спорт, музыка. Адрес: Украина, 83049, Донецк, ул. А. Толстого, 206а, тел. (+380622) 596005.

68

РИ, 2007, № 4