Оптимизация схемы автомата Мура в составе системы на кристалле

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

УДК681.234

ОПТИМИЗАЦИЯ СХЕМНІ АВТОМАТА МУРА В СОСТАВЕ СИСТЕМЫ НА КРИСТАЛЛЕ

БАРКАЛОВ А.А., ЦОЛОЛО С.А._________

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

1. Введение

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

Целью данного исследования является возможность оптимизации комбинационной схемы автомата Мура за счет использования нескольких источников кода

текущего состояния автомата, что возможно благодаря особенностям PAL. Задачей исследования является разработка формализованного метода синтеза микропрограммного автомата Мура, позволяющего оптимизировать число макроячеек PAL в схеме формирования функций возбуждения триггеров памяти автомата. При этом алгоритм управления цифровой системы задан в виде граф-схемы алгоритма (ГСА) [3].

2. Особенности реализации автомата Мура

Пусть алгоритм управления цифровой системы представлен ГСА Г = Г(В,Е), где B = {Ьо,Ье}uEi uE2 -- множество вершин, E = {< bq,bt >| bq,bt є В} - множество дуг. Здесь bo - начальная вершина ГСА, Ье -конечная вершина ГСА, Ei - множество операторных вершин, E2 - множество условных вершин. В вершинах bq є Ei записываются наборы микроопераций Y(bq)сY, где Y = {уц...,у^}- множество микроопераций операционного автомата цифровой системы [9]. В вершинах bq є E2 записываются элементы множества логических условий X = {xi,...,yL}. Начальная и конечная вершины ГСА соответствуют состоянию ai є A = {ai,...,aM}, где A - множество состояний автомата Мура, а каждая вершина bq є Ei соответствует одному из элементов множества A [3]. Логическая схема МПА Мура задается системой уравнений

Ф = Ф

Y = Y

где Т = {Ti,...,Tr}- множество внутренних переменных, кодирующих состояния am є A ,

R =]log2M[; Ф = {Di,...,Dr} - множество функций возбуждения памяти состояний. Системы (i), (2) формируются на основе прямой структурной таблицы (ПСТ) со столбцами: am- текущее состояние; K(am) -код состояния am є A; as - состояние перехода; K(as) - код состояния as є A; Xh - конъюнкция некоторых элементов множества X (или их отрицаний), определяющая переход < am,as > ; Фh - набор функций возбуждения памяти МПА, принимающих единичное состояние для переключения памяти из K(a m) в K(as); h = 1,...,Иі(Г)- номер строки таблицы. В столбце am записывается набор микроопераций Y(am) с Y, формируемых в состоянии am є A. Естественно, что Y(am) = Y(bq) , где вершина-bq є Ei отмечена состоянием am є A.

Как правило, число переходов Hi (Г) больше числа переходов И2(Г) эквивалентного автомата Мили [3]. Это приводит к увеличению числа PAL в схеме МПА Мура по сравнению с этим показателем эквивалентного автомата Мили. Параметр Hi (Г) можно уменьшить, благодаря наличию псевдоэквивалентных состояний (ПЭС) МПА Мура [10]. Состояния am,as є A называются ПЭС, если выходы соответствующих им вершин соединены с выходом одной и той же верши-

РИ, 2007, № 1

35

ны ГСА Г. Пусть П A = {Б^.^Б^-разбиение множества А на классы ПЭС (I < м )• Поставим в соответствие классу єПа двоичный код K(Bi) разрядно-

сти Rj =] log21[ и используем переменные тг ет для такого кодирования, где | т |= Rj. В этом случае МПА Мура представляется в виде структуры Uj (рис. 1).

Рис. 1. Структурная схема МПА Мура Uj

В МПА Uj схема СС формирует функции

Ф = Ф

а схема формирования микроопераций CFMO реализует систему (2). Регистр RG представляет собой память состояний, по сигналу Start в RG заносится нулевой код начального состояния aj є A , по сигналу Clock происходит смена кодов в регистре. Преобразователь кодов состояний TC реализует систему функций

т = т

при этом код K(Bi) формируется на основе кода K(am), где am є Ві.

В [Ю] показано, что для МПА Uj число переходов уменьшается до И2(Г).Недостатком МПА Uj является наличие схемы TC, которая требует дополнительных ресурсов. Отметим, что схема СС реализуется на PAL, а схемы TC и CFMO - на блоках памяти EMB. В настоящей работе предлагается метод синтеза МПА Мура, позволяющий уменьшить аппаратурные затраты в схеме T C (при определенных условиях этот блок может не использоваться вообще). Предлагаемый метод базируется на следующих особенностях SoC, основанных на технологии CPLD [j 7]:

- коэффициент объединения по входу макроячейки PAL значительно превосходит максимально возможное число букв в термах системы (j), определяемое L + R;

- число выходов EMB может меняться в некотором диапазоне (как правило, j 2, 4, 8).

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

пространства. Представим множество Па в виде П а =П b и П c , где Ві єП б , если

N >!,

и Ві єП с в противном случае. Очевидно, что схема TC должна формировать только коды классов Ві єП б . Закодируем состояния am є A оптимальным образом [Ю]. Представим множество Пб в виде Пб = Пd иПe , где Ві єПd , если коды am є Б входят в один обобщенный интервал пространства кодирования. Теперь преобразованию подлежат только коды состояний am є А(Пe) , где А(Пe) с A - множество состояний, входящих в классы Пe . Для кодирования классов Ві єПe достаточно

R2 =]log2

переменных, образующих множество Z, где

Пусть tF - фиксированное число выходов блока EMB и пусть q - число слов в блоке при tF =!. При реализации схемы CFMO автомата Uj параметр tF определяется следующим образом:

tF =]q/M[.

При этом интегрально блоки EMB схемы CFMO имеют

tS =]N/tF[-tF

выходов. Очевидно, что At выходов могут не использоваться для представления микроопераций, где

Д t = tS - N.

Эти выходы можно применять для представления переменных zr є Z. Рассмотрим случай, когда выполняется условие

Дt < R2.

В этом случае множество П e необходимо представить в виде ПЕ = Пf и Пg . Множество Пf включает nF классов, где

nF = 2At - Ь

коды которых хранятся вместе с микрооперациями и представляются переменными zr є Z, где | Z |= At. Множество Пg включает

nG = 1 - nC - nD - nF

классов, где nc = |Пс| , nD = |Пd|. Для кодирования классов Ві єПg достаточно

Используем идею оптимального кодирования состояний МПА Мура [Ю], смысл которой заключается в таком кодировании ПЭС, чтобы максимально возможное число классов Ві є Па соответствовало одному обобщенному интервалу R -мерного булева

R3 =]log2

переменных, образующих множество т, где | Т |= R3 . В этом случае для интепретации ГСА Г предлагается автомат Мура U2 (рис. 2).

36

РИ, 2007, № !

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

Автомат U2 имеет ряд отличий от автомата Uj:

- схема СС формирует систему функций

Ф = Ф

- вместо схемы CFMO используется схема CMOC, реализующая систему функций (2) и систему функций

Z = Z

для представления кодов классов Ві є Пf ;

- преобразователь кодов ТС формирует коды классов єПg ;

- переменные Tr є T представляют состояния am є Л(Пс) и классы Ві єПр, где Л(Пс) - множество состояний, входящих в классы Ві є Пс.

При этом число входов в макроячейках PAL схемы СС увеличивается от L + Rj (автомат Uj) до L + R + Дt + R3 (автомат U2). Однако это не приводит к росту аппаратурных затрат, так как PAL имеют коэффициент объединения по входу порядка нескольких десятков [7]. Времена циклов автоматов Uj и U2 совпадают, причем это время равно времени цикла автомата Мура Uq , который реализуется по системам (1), (2). Таким образом, предлагаемый метод позволяет сохранить быстродействие цифровой системы при уменьшении аппаратурных затрат.

Предлагаемый метод синтеза схемы МПА U 2 включает следующие этапы:

1. Формирование отмеченной ГСА Г.

2. Формирование разбиения Пл = Пв и п с.

3. Оптимальное кодирование состояний и формирование множеств Пр и Пр .

4. Определение параметра Дt и формирование множеств nF и По-.

5. Кодирование классов Ві єПf u П о.

6. Формирование таблицы схемы CMOC.

7. Формирование модифицированной ПСТ автомата

U2.

8. Формирование таблицы схемы ТС.

9. Реализация схемы автомата в заданном элементном базисе.

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

Пусть для некоторой ГСА Г) множество Л = {ab...,a16}, Па = {ВЬ...,В7>, где В1 = {aj}, В2 = {a2,a6} , Б3 = {a3,a5,a7} , В4 = {a4,a9,a13}, В5 = {a8b Б6 = {a10,a15,a16}, В7 = {a11,a12,a1^. Таким образом, Пб = {В2,Бз,Б4,Бб,Б^ и

Пc = {В1,Б^. Закодируем состояния am є Л оптимальным образом [10], используя булево пространство размерности R = 4 (рис. 3).

Т3 Т4

Т1 Т2

00

01

11

10

00

01

11

10

ai Ca2” a^> /a4\

a5 a7> a9

<aji_ ai2 _aj4>

as Oil ais __адб5

Рис. 3. Оптимальное кодирование состояний автомата

U 2

Здесь символ Ui(rj) означает, что автомат Ui интерпретирует ГСА Ij. Из рис. 3 следует, что Пр = {Б2 } и Пe = {В3,В4,Вб,В7} , при этом K(B2) = 00*1, а коды классов Ві є Пс совпадают с кодами входящих в них состояний: K(B1) = 0000, K(B5) = 1000.

Из (6) следует, что R2 = 1, т.е. для представления кодов классов Ві єПр необходимы 3 свободных разряда СМОС. Пусть для ГСА Г1 N = 15 и пусть для реализации схемы СМОС используются блоки EMB

ctF = 4 при q = 16 (q = 2R) . В этом слу-

чае ts = 4 • 4 = 16 и Дt = 1. Таким образом, условие (10) выполняется и преобразователь ТС необходим.

Пусть Пf = {Бз}, По = {В4,В6,В^, тогда R3 = 2. Итак, для автоматаU2H1) имеем: т = {т1,Т2}, z = {Z1}. Закодируем классы Ві єПр следующим образом: K(B3) = K(B4) = 01, K(B6) = 10, K(B7) = 11. При этом комбинация Zj = Xj = х2 = 0 означает, что источником кода класса Ві є Пл является регистр RG.

Пусть переходы между состояниями МПА U2(rj) заданы следующей системой обобщенных формул перехода [6]:

В1 ^ a2; B2 ^ x1a4 v x1a6;

Б3 ^ x2a10 v x2x3a11 v x2x3a14;

B4 ^ x3a8 v x3x4a3 v x3x4a5;

B5 ^ a5; B6 ^ x3a7 v x3a13;

B7 ^ xjaj v xjx2a9 v x1x2x4aj5 v

V x1x2x4x5a12 v x1x2x4x5a16.

РИ, 2007, № 1

37

Пусть микрооперации yn є Y распределяются по состояниям автомата ^(Ц) следующим образом:

Y(ai) = 0, Y(a2) = Y(a3) = Y(ai6) = (уі,уз), Y(a4) = {У2,У4,У6} , Y(a5) = {У5,У6}, Y(a6) = Y(a9) = {Уі,У7,У8Ь Y(a7) = {Уі,У7,У8,Уі5} , Y(a8) = {У3,Уі0,Уі4Ь Y(a10) = Y(aT2) = {У9,УпЬ Y(aH) = Y(a13) = {УіЬУі2,Уі3} ,

Y(a44) = Y(a15) = {У 6,Уі0,У8,Уі^},

Y(a15) = {У5} •

Таблица схемы СМОС включает столбцы am, K(am) , Y(am), K(Bi), m, где K(am)- является адресом слова EMB. Для МПА^(Ц) эта таблица имеетM = і6 строк, которые отображены на рис. 4.

Т3Т4

ТіТ2\ 00 0і 11 іо

00 - У1У3 У1У7У8 У2У4У6

0і УіУзЯї У5У6Я1 У1У7У8У15Я1 У1У7У8

іі У11У12У13 У9У11 У6У8У10У15 У11У12У13

і0 У3У10У14 У9У11 У6У10У8У15 У5

Рис. 4. Содержимое схемы СМОС автомата ^

Как видно из рис. 4, переменная z! добавлена к наборам микроопераций для состояний am є B3 .

Модифицированная ПСТ (МПСТ) автомата U2 включает столбцы: Bi, Kfo), as, KaJ, Xh , Фh, h ,где код KbO =< C Z,T > . Для автомата и2(Гі) эта таблица включает И2(Гі) = і7 строк, что определяется суммарным числом термов системы (і6). Переходы для классов Ві -B4 показанні в табл.і.

Таблица і .Фрагмент МПСТ автомата Мура ^

Bi K(Bi) as K(as) Xh Ф h h

п ^2 п Ті Т2 Т3 Т4

Ві 0 0 0 0 0 0 0 a2 000і і D4 1

В2 0 0 0 0 0 * і a4 00і0 хі D3 2

a6 00іі хі D3D4 3

В3 0 0 і * * * * a10 і00і х2 dTd4 4

an іі00 х2х3 d^2 5

a14 іііі х2х3 dTd2 D3D4 6

В4 0 і 0 * * * * a8 і000 х3 Dl 7

a3 0і00 х3х4 D2 8

a5 0101 х3х4 d2,d4 9

Эта таблица является основой для формирования системы (і4). Например, из табл.і имеем фрагмент ДНФ функции D4:

D4 = TlT2ZlTlT2TзT4 v TlT2ZlTlT2T4Xl v

^і^іх2 v ^і^2^х2х3 V 'Д'і:2^іх4 .

Отметим, что для автомата Мура ^(Гі), в котором нет оптимального кодирования состояний, число термов в системе (і) составляет И0(Гі) = 43. Таким образом, для рассматриваемого примера число термов в системе функций возбуждения памяти уменьшается в ц « 2 5 раза.

Таблица преобразователя ТС включает столбцы am, K(am), Y(am), K(Bi), Bi, Xm, m. В случае МПА ^(Ц) эта таблица имеет 9 строк, так как в классы Bi єПg входит девять состояний. Однако из рис. 3 следует, например, что коды a3,a5 ЄВ3 входят в интервал 0і0*. С учетом этого таблица ТС МПА и2(Гі) имеет 6 строк (табл. 2).

Эта таблица является основой для формирования системы (4). Так, из табл. 2 имеем, например, Ті = ТіТ2Т3 v ТЛТ4

V Ті Т2Т4 (второй терм соответствует строкам 4 и 6 табл. 2).

Реализация схемы МПА U2 сводится к реализации систем (4) и (і4) на PAL и систем (2) и (і5) на EMB. Эти задачи достаточно рассмотрены в литературе [і,7] и выходят за рамки нашей статьи.

Таблица 2. Таблица преобразователя кодов МПА

U2

am K(am) Bi K(Bi) 1 m m

a3,a5 0і0* В3 0і т2 1

a7 0ііі В3 0і т2 2

a4,a9 0*і0 В4 і0 *і 3

a13 ііі0 В4 і0 ті 4

a10,a15 і0*і В6 іі ТЬ * 2 5

a16 1010 В6 11 ТЬ * 2 6

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

Предложенный в работе метод позволяет уменьшить число макроячеек PAL в схеме МПА Мура по сравнению со схемой эквивалентного автомата U0 . Исследования авторов показали, что это уменьшение пропорционально коэффициенту В = H0 (Г) / H2 (Г). При этом схема Т С реализуется на PAL, что позволяет уменьшить число блоков EMB по сравнению с эквивалентным автоматом ^(Г).

Исследования авторов показали, что применение предложенного метода позволяет уменьшить аппаратурные затраты до 30% по сравнению с автоматом U0 и до 9% по сравнению с автоматом U . Кроме того, необходимо отметить, что автоматы U0 (Г) - U2 (Г) имеют одинаковое быстродействие.

38

РИ, 2007, № і

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

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

Литература: 1. Соловьев В.В. Проектирование цифровых схем на основе программируемых логических интегральных схем. М.: Горячая линия-ТЕЛЕКОМ, 2001. 636 с. 2. Баркалов А.А., Палагин А.В. Синтез микропрограммных устройств управления. Киев: Институт кибернетики НАН Украины, 1997. 136 с. 3. Baranov S. Logic Synthesis for Control Automata. Kluwer Academic Publishers, 1994. 312 p.

4. MaxfieldC. The Design Warriors Guide to FPGAs. Elseveir, 2004. 541p. 5. Грушницкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем с использованием микросхем программируемой логики. СПб: БХВ. Петербург, 2002. 608с. 6. Barkalov A., Wegrzyn W. Design of Control

Units with Programmable Logic. Zielona Gora: University of Zielona Gora Press, 2006. 150 p. 7. Kania D. Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typuPAL. - Zeszyty naukowe Politechniki &l№skiej, Gliwice, 2004. 240 p. 8. Баркалов А.А. Синтез устройств управления на программируемых логических устройствах. Донецк: ДНТУ, 2002. 262 с. 9. DeMicheli G. Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994. 636p. 10. Баркалов А. А. Принципы оптимизации логической схемы микропрограммного автомата Мура // Кибернетика и системный анализ. 1998, №1.

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

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

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

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

УДК681.326:519.713

МЕТОД ВОССТАНОВЛЕНИЯ РАБОТОСПОСОБНОСТИ ПАМЯТИ С ПОМОЩЬЮ РЕЗЕРВНЫХ ЭЛЕМЕНТОВ

ХАХАНОВ В.И., ЛИТВИНОВА Е.И.,

МОСТОВАЯ К.Л., ПАРФЕНТИЙ А.Н.___________

Описывается квазиоптимальный метод восстановления работоспособности элементов памяти с помощью резервных элементов, позволяющий покрыть множество дефектных ячеек минимально возможным количеством избыточных компонентов.

1. Введение

Современные тенденции развития полупроводниковой индустрии заключаются в постоянном уменьшении площади кристалла, увеличении количества различных элементов на единице площади. Из общего числа компонентов, размещаемых на кристалле, наибольшую часть занимают встроенные элементы памяти. В настоящее время насчитывают сотни, а порой даже тысячи различных видов памяти, которые используются в System on Chip (SoC) [1-4]. Как показано на рис. 1, увеличение удельного веса памяти на кристалле приведет через 5 лет к ее полному доминированию для хранения данных и программ, а к 2014 году данный показатель достигнет 94% [2]. Это обеспечит не только высокое быстродействие выполнения функциональности, но и гибкость, свойственную программному продукту в части исправления ошибок проектирования. Особенностью элементов памяти является то, что в процессе их изготовления и эксплуатации отдельные ячейки под воздействием неисправ-РИ, 2007, № 1

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

Рис. 1. Удельный вес памяти на кристалле

Целью данного исследования является восстановление работоспособности элементов памяти путем решения задачи покрытия дефектных ячеек минимальным количеством избыточных резервных компонентов силиконового кристалла на основе применения модифицированного “жадного” алгоритма, что дает возможность повысить период их эксплуатации.

Для достижения поставленной цели необходимо решить следующие задачи: 1) разработка топологической модели представления элементов памяти; 2) ана-

39