Уменьшение числа LUT-элементов в устройстве управления с общей памятью

Design&Test of computers. September-October, 2006. P. 359-373. 4. Francisco DaSilva, Yervant Zorian, Lee Whetsel. Karim Arabi, Rohit Kapur. Overview of the IEEE PI500 Standard // ITC International Test Conference. 2003. P.988997. 5. Rashinkar P., Paterson P., Singh L. System-on-chip Verification: Methodology and Techniques. Kluwer Academic Publishers. 2002.324 p. 6. Zorian Yervant. What is Infrastructure IP? // IEEE Design & Test of Computers. 2002. P. 5-7. 7. Zorian Yervant, Gizopoulos Dmytris. Gest editors’ introduction: Design for Yield and reliability // IEEE Design & Test of Computers. 2004. P. 177-182. 8. Zorian Yervant. Guest Editor’s Introduction: Advances in Infrastructure IP // IEEE Design and Test of Computers. 2003. 49 p. 9. Thatte S.M., Abraham J.A. Test generation for microprocessors //IEEE Trans. Comput. 1980. C-29. No 6. P. 429-441. 10. Шаршунов С.Г. Построение тестов микропроцессоров. 1. Общая модель. Проверка обработки данных//Автоматика и телемеханика. 1985. №11. С. 145-155. 11. Jerraya A.A. System Level Synthesis SLS. TIMA Laboratory. Annual Report. 2002. P. 65-75. 12. Frank Ghenassia. Transaction Level Modeling with SystemC. TLM Concepts and Applications for Embedded Systems. Published by Springer. 2005. 282 p. 13. Bergeron, Janick. Writing testbenches: functional verification of HDL models.- Boston: Kluwer Academic Publishers. 2001. 354 p. 14. Janick Bergeron, Eduard Cerny, Alan Blunter, Andrew Nightingale. Verification Methodology. Manual for SystemVerilog. Springer. 2005. 528p. 15. Harry Foster, Adam Krolnik, David Lacey. Assertion-based design. Second edition.-Kluwer Academic Publishers. Springer. 2005. 392 p. 16. Rashinkar P., Paterson P., Singh L. System-on-chip Verification: Methodology and Techniques. Kluwer Academic Publishers.2002. 393 p. 17. Meyer A.S. Principles of Functional Verification. Elsevier Science. 2004.206 p. 18. Хаханов В.И., Литвинова Е.И., Гузъ O.A. Проектирование и тестирование цифровых систем на кристаллах. Харьков: ХНУРЭ. 2009. 484 с.

УДК681.324 ’

УМЕНЬШЕНИЕ ЧИСЛА LUT-ЭЛЕМЕНТОВ В УСТРОЙСТВЕ УПРАВЛЕНИЯ С ОБЩЕЙ ПАМЯТЬЮ

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

МИРОШКИН А.Н.

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

1. Введение

Одной из важных проблем, возникающих при реализации схем устройств управления (УУ) в базисе FPGA (Field Programmable Gate Array), являетсяумень-шение числа LUT (Look-Up Table) элементов в них [ 1 ]. Для решения этой задачи необходимо учитывать особенности как интерпретируемого алгоритма управления, так и используемых для этого микросхем РИ, 2009, № 3

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

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

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ, декан факультета КИУ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326, e-mail: hahanov@kture. kharkov. ua.

Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры технологии и автоматизации производства РЭС и ЭВС ХНУРЭ. Научные интересы: автоматизация диагностирования и встроенный ремонт компонентов цифровых систем в пакете кристаллов. Адрес: Украина, 61166, Харьков, пр. Ленина 14, тел. 70-21-421, e-mail: kiu@kture.kharkov.ua.

Чумачеико Светлана Викторовна, д-р техн. наук, проф. кафедры АПВТ ХНУРЭ. Научные интересы: математическое моделирование, методы дискретной оптимизации. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21 -326, e-mail: ri@kture.kharkov.ua.

Побеженко Ирина Александровна, аспирантка кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем и сетей. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326, e-mail: hahanov@kture. kharkov. ua.

Ngene Christopher Umerah, аспирант кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем и сетей. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326, e-mail: hahanov@kture. kharkov. ua.

[2]. Если алгоритм у правления представлен линейной граф-схемой, а микросхемы FPGA включают встроенные блоки памятиЕМВ (Embedded Memory Blocks), то для интерпретации может быть использована модель композиционного микропрограммного устройства управления (КМУУ) с общей памятью [3]. В настоящей работе предлагается метод уменьшений числа LUT элементов в схеме КМУУ, основанный на преобразовании кодов входов операторных линейных цепей (ОЛЦ) в адреса микрокоманд. Основная идея метода заключается в представлении классов псевдоэквивалентных ОЛЦ обобщенными интервалами кодирующего пространства. Научная новизна метода состоит в использовании особенностей ЕМВ современных микросхем FPGA (конфигурируемость в пределах заданной емкости) для уменьшения аппаратурных затрат в схеме КМУУ. Алгоритм управления представляется в виде граф-схемы алгоритма (ГСА).

2. Основные определения и общие положения

Пусть алгоритм управления цифровой системы представлен в виде ГСА Г , которая характеризуется множеством вершин В = Ej yj Е2 сд {bp,bp;} идут Е, соединяющих ЭТИ вершины. Здесь Е 1 - множество операторных вершин, содержащих наборы микро-

45

операции из множества микрооперации Y = {уі...ум}: Е2 - множество условных вер-

шин, содержащих элементы множества логических условий (ЛУ) X = ; bp - начальная вер-

шина; Ьр — конечная вершина ГСА Г . Введем ряд определений [3].

Определение 1. Операторной линейной цепью ГСА Г называется конечная последовательность операторных вершин a g =< bgibgp > .такая, что для любой пары ее соседних вершин существует дуга

< bgj,bgi_|_i >є Е , где і = I,-Fg — 1.

Определение 2. Операторная вершина bq є ,где Dg - множество вершин, входящих В ОЛЦ О, g , называется входом ОЛЦ сс g, если существует дуга <bt,bq >єЕ, где bt gDg.

Определение 3. Операторная вершина b q є D g называется выходом ОЛЦ ctg, если существует дуга

< bq,bt >є Е , где bt € D- .

Определение 4. Операторные линейные цепи называются псевдоэквивалентными ОЛЦ (П ОЛЦ), если их выходы связаны с входом одной и той же вершины ГСА Г.

Любая ОЛЦ ctg имеет произвольное число входов, обозначаемых Ig (k = l,...,Fg) и образующих множество Ig , и один выход, обозначаемый символом

°g

Определение 5. Граф-схема алгоритма г является линейной Г С А, если число ее операторных вершин не менее, чем в два раза превосходит число ОЛЦ.

Пусть для ГСА Г получено множество ОЛЦ

С = {а і а (;}. где каждая ОЛЦ a g є С включает

максимально возможное число компонент [3]. Пусть 1(Г), 0(Г) - соответственно множество входов и выходов ОЛЦ ГСА Г. Каждая вершина bq є El соответствует микрокоманде MI q, имеющей адрес A(bq). Выполним адресацию микрокоманд так, чтобы выполнялось условие

A

где g є {1,...,G} , і є {l,...,Fg - 1} . В этом случае для интерпретации линейной ГС А Г можно использов ать модель КМУУ с общей памятью (рис. 1), обозначаемую в дальнейшем символом U |. Эта модель включает блок адресации микрокоманд (БАМ), счетчик (СТ), блок микроопераций (БМО) и триггер выборки (ТВ). Устройство U і функционирует следующим образом.

По сигналу Start в СТ записывается нулевой адрес, соответствующий началу микропрограммы, интерпретирующей ГСА Г одновременно триггер ТВ устанавливается в единичное состояние (Fetch=l) и мик-

рокоманды могут выбираться из блока памяти БМО. Если СТ содержит адрес A(bq) и bq £ 0(Г), то одновременно с набором микроопераций Y(bq), записанных в вершине b q є Е і. БМО формирует сигнал уд . Если уд = 1, то содержимое СТ увеличивается на единицу по сигналу Clock .При этом выполняется безусловный переход, соответствующий равенству (1). В том случае, если bq є 0(Г), то сигнал уд не формируется, а блок БАМ вырабатывает функции возбуждения СТ:

Ф = Ф(Т,Х). Т

X

±

Блок

Адресации

Макрокоманд

Ф

Start  Clock

СТ +1+.

Start

Уе

S

R

ТВ

Fetch

Блок

Микро-

операций

-+ Y

Рис. 1. Структурная схема КМУУ U \

В этом случае по сигналу Clock в СТ формируется адрес перехода из выхода некоторой ОЛЦ cig є С . Если < bq, bp; > є Е , то блок БМО формирует сигнал у р, вызывающий установку триггера ТВ в нулевое состояние. При этом Fetch = 0 - выборка микрокоманд прекращается и КМУУ U і прекращает функционирование.

При реализации схем КМУУ U і на FPGA схемы БАМ, СТ и ТВ строятся на LUT элементах, а блоки ЕМВ используются для реализации БМО. Недостатком модели U \ является значительное число переменных обратной связи, определяемое как

rA = fl°g2 М"|;

где М = | Е11. Для уменьшения числа LUT элементов в схеме БАМ необходимо уменьшить число его входов и выходов. Один из методов решения этой задачи предлагается в данной статье.

46

РИ, 2009, № 3

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

Поставим в соответствие каждому входу ЬІ є 1

1 ^ двоичный код K(Ig) разрядности

R^riogzMj],

где М[ = |і(Г)|. Используем для кодирования входов переменные vr є V , где |V| = R ] . Пусть ОЛЦ ctg є С , если <bq,bp;>^E5 где bq = Og и С'с С . Найдем разбиение П q = {В і_В [} множе-

ства ОЛЦ «о єС' на классы псевдоэквивалентных ОЛЦ. Пусть для кодирования классов В[ еПр достаточно

Rc=ri°g2ll

переменных.

Закодируем входы І * є 1(Г) так, чтобы каждый класс

_ О

Bj є Пс представлялся одним обобщенным интервалом R [ -мерного булева пространства. Пусть при этом только Rq переменных vr б V являются значимыми для всех интервалов, которые можно рассматривать как коды K(Bj) классов Bj є П q . Очевидно, в пределе выполняется условие

R0 = RC

Современные микросхемы FPG А [5,6] включают блоки ЕМВ, конфигурация которых (число слов и

число выходов Nq ) может меняться при сохранении

постоянной емкости:

Vemb=nWnO-

У типичных представителей семейств a FPGA Vpy/jg = 4К бит при конфигурациях 4К*1,2К*2, 1К*4, 512*8, т.е. Nq є {1,2,4,8}. Для реализации блока БМО необходимы ЕМВ с N w = 2 А , при этом число выходов I к определяется как

tF -

VEMB

2Ra

Таким образом, для реализации схемы блока БМО необходимо

блоков ЕМВ.

П1

N + 2 tF

Для преобразования кодов входов ОЛЦ в адреса микрокоманд необходимы блоки ЕМВ, имеющие N\y = 2 1 слов и

При этом

и

< ой і и

выходов остаются свободными.

РИ, 2009, № 3

Разобьем множество микроопераций Y на классы 12 1

Y иУ . При этом уп є Y , если эта микрооперация записана только в вершинах bq є 1(Г) .Пусть выполняются следующие условия:

'N-N] +2

. <nl. tF

At^Nb

Y1 >NL

В этом случае N [ микроопераций уп є Y1 могут быть реализованы на преобразователе кодов входов, что уменьшит число блоков ЕМВ, необходимых для реализации схемы БМО.

Если условия (12)-(14) выполняются, то для интерпретации линейной ГС А Г предлагается КМУУ U 2 (рис. 2). По сравнению с КМУУ ЕЦ в состав U2 входит блок преобразователя кодов (БПК) и регистр кодов блоков (РКБ).

РКБ

1 Уо

Start

Clock

Z X

=3________L

Блок

Адресации Микрома манд

V

Блок

Преобразователя

Кодов

Ф

СТ +1 *-

Start

Уе

S ТВ Fetch Блок Микро- Операций

R

Уо

-г Y2

Уе

Рис. 2. Структурная схема КМУУ U2 Блок БПК реализует системы функций

Ф = Ф

Y1 = Y:

регистр РКБ хранит часть кода K(lg ), представляющую собой код K(Bj). Содержимое РКБ меняется при у о = 0 . Блок БАМ реализует систему функций

V = V

47

имеющих меньшее число аргументов, чем функции (2). Принцип функционирования КМУУ U 2 очевиден из предыдущего материала.

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

1. Формирование множеств С, С и П q для ГС А Г.

2. Естественная адресация микрокоманд.

3. Кодирование входов ОЛЦ ctg є С ,

4. Разбиение множества микроопераций на классы Y1 и Y2.

5. Спецификация блока БАМ.

6. Спецификация блока БПК.

7. Спецификация блока БМО.

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

Рассмотрим применение этого метода на примере реализации КМУУ ,гдеГСА С представле-

на на рис. 3. Здесь и далее символ ЦДГр означает, что модель КМУУ Uj используется для интерпретации ГСА I j.

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

Применение методов из [3] позволяет найти множество ОЛЦ С = {оц,...,ag} ,

где a: =<bj,b2,b3 >, a2 =<b4,...,b8 >, a3 =<Ь9,...,Ьц >, a4 =<b12,...,b14 >, a5 =< b15,b16 >, a6 =< b17,b18 > , при этом a5 g С. Анализ ГСА I', позволяет найти элементы множества входов ОЛЦ 1(Г4): IJ = Ь4,

І? = Ь2 , І2=Ь4> l| =b6 , l'=b9, li=bi2,

I5 = b 15 , = b| 7 . Аналогично можно найти эле-

менты множества выходов ОЛЦ 0(Г[) : О] - Ь3 . С>2=Ь8, 03 =Ьц. 04 =Ь34,05 =Ь36 и

06 = Ь] 8. Итак, для ГСА I, количество ОЛЦ G = 6,

М .

количество операторных вершин М = 18, т.е. — = 3

G

иГСА I, является линейной. Таким образом, применение модели КМУУ для интерпретации ГСА I, целесообразно.

Используя определение 4, можно найти множество ПОЛЦ ПС={ВЬВ2}, где В3 = {аІ5а2}, В3 = Ja3.a4.a5} . Адресация микрокоманд согласно (1) выполняется тривиальным образом [3]. В нашем примере для адресации М = 18 вершин достаточно кода разрядности Яд = 5 ; А(Ьр) = 00000 , A(bi) = 00001, ..., A(b]8) = 10010.

Рис. 3. Исходная ГСА Ц

Множество входов ОЛЦ К Г)) содержит Mj =8 элементов, для кодирования которых достаточно R [ = 3 переменных vr є V . Так как число классов ПОЛЦ 1 = 2, то достаточно кода разрядности R q = 1. Следовательно, в оптимальном случае входы ОЛЦ ag є С1 должны быть закодированы так, чтобы количество значимых переменных для кодирования обобщенных интервалов булевого пространства было равным Rq = 1. Для этой цели можно использовать, например, алгоритм ESPRESSO [1]. Один из вариантов оптимального кодирования приведен в карте Карно (рис. 4).

ч VA2

v„\ 3 > 00 01 11 10

0 р; ~7л 2 I г' э і

1 & — У

Рис. 4. Коды входов ОЛЦ КМУУ Г^ГЦ

48

РИ, 2009, № 3

Поскольку переходы ИЗ ВЫХОДОВ ОЛЦ ct о ё С не используются для формирования функций (17), то набор 101 в этой карте рассматривается как несущественный. Из рис. 4 следует, что К(Ві) = 0 * * и К (В 2) = 1 * *. Следовательно, минимум разрядности для К(В j) достигнут и Z = {z |}.

Пусть для реализации блоков ВПК и БМО используются ЕМВ, имеющие следующие конфигурации: 64 * 1, 32*2,16*4,8*8. Так как разрядность кода, необходимого для кодирования операторных вершин ГСА, R а = 5, то для реализации БМО необходимо выбрать конфигурацию 32*2 с количеством выходов tp = 2 . При этом для реализации БМО требуется

П1

7 + 2 2

5 блоков ЕМВ. Для реализации ВПК

необходимо выбрать конфигурацию 8*8, так как разрядность кода входов ОЛЦ = 3 . Следовательно, количество выходов ВПК t [ =8 и At = 3 выходов остаются свободными, т.е. блок ВПК можно использовать для реализации трех микроопераций из множества Y ^. При этом для реализации БМО будет достаточно 3 блока ЕМВ.

Анализ ЕСА I, показывает, что множество микроопераций, которые встречаются только во входах ОЛЦ, формируют класс Y1 = ІУ2-У6-У7! • остальные микрооперации включены в класс = {У1,УЗ,У4,У5}. Итак, условия (12)-( 14) выполняются и разбиение множества Y уменьшает число блоков ЕМВ в схеме КМУУ. При этом общее число блоков ЕМВ в схемах БМО и ВПК составляет 4, а для КМУУ U і (Г)) требуется n j = 5 таких блоков.

Для спецификации блока БАМ необходимо построить таблицу переходов КМУУ, которая формируется на основе системы обобщенных формул перехода [2]. Для ЕСА Г, эта система имеет следующий вид:

В] -> XlI2 vXlx2I2 vXlX2X3l3 v \|X2x3I4;

тз і1 — і1 ---------т2

В2 Х2Н vx2x4I6 vx2x4T|

Еаблица переходов включает Н2(Пj) строк, этот параметр равен числу термов в системе вида (18). Еаблица содержит столбцы Bj, K(Bj), Ig . K(Ig), X]-, . V]1 , h - где Xh - конъюнкция логических условий, входящая в термы системы вида (18), V], -набор переменных vr є V , принимающих единичное значение в коде KdJ) для h -й строки таблицы. Для КМУУ U 2(Гі) эта таблица имеет Н 2 (П[) = 7 строк (табл. 1).

Связь табл. 1 с системой (18) и кодами из рис. 4 очевидна. Из таблицы переходов строятся функции:

vi = Z|Xl\2 vz]X2 vzlX2X4;

V2=zl; ______

V3 = z^x^x.2 v г^х^х^хз v грц.

Таблица 1

Таблица переходов КМУУ U2

К(ВД А к<ф Xh vh h

Bl о * * А 010 Х1 v2 1

12 011 х1х2 v2v3 2

А по Х1Х2Х3 vlv2 3

А 111 Х1Х2Х3 VlV2V3 4

в2 л 100 х2 V1 5

д 101 Х2Х4 V1V3 6

А 001 Х2Х4 v3 7

Для спецификации блока ВПК строится таблица со столбцами Ijt, K(Ig), A(Ig). Ojj. Y*h- h- где

h = 1.Mq В столбце Ф], записываются функции

Dr є Ф , равные единице в адресе входа ТІ, в столбце Y h - микрооперации уп є Y , равные единице в вершине bq є Е1. соответствующей входу ]g из h -й строки. Для КМУУ и2(П) блок ВПК задан в табл. 2.

Отметим, что СТ и РКБ имеют информационные вхо-дытипа D ,чтосоответствуетсовременнойтенденции реализации устройств управления на FPGA [7].

Таблица 2

Спецификация блока ВПК КМУУ 112

4 K<!'g) A dJg) h

! 000 00000 - У 2 1

A 001 00001 D5 - 2

A 010 00011 d4,d5 У6 3

A Oil 00101 d3,d5 - 4

«j 100 OHIO d2,d3,d4 У2.У6 5

і 101 10000 Dl У7 6

T3 110 01000 D2 У7 7

111 01011 d2,d4,d5 У 2 8

РИ, 2009, № 3

49

Спецификация блока БМО выполняется тривиальным образом [3] и этот этап не рассматривается. Реализация схемы КМУУ сводится к реализации системы (17) на LUT элементах и блоков БПК и БМО - на блоках ЕМВ. Этот этап выполняется с использованием стандартных промышленных пакетов [5, 6] ив данной статье не рассматривается.

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

Предлагаемый метод основан на преобразовании кодов входов ОЛЦ в адреса микрокоманд и коды классов псевдоэквивалентных ОЛЦ. Если множество микроопераций разбивается на непустые множества Y и Y , то при выполнении некоторых условий метод позволяет уменьшить как число LUT элементов, таки блоков ЕМВ по сравнению с КМУУ с общей памятью. Уменыпение числа LUT элементов позволяет уменьшить число уровней в блоке адресации микрокоманд.

Проведенные исследования показали, что для линейных ЕС А предложенный метод позволяет до 30% уменьшить число LUT элементов и число уровней уменьшается на 2-3. При этом в большинстве случаев число ЕМВ уменьшилось на один.

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

Дальнейшие направления исследований связаны с разработкой эффективного метода кодирования входов ОЛЦ, позволяющего выполнить условие (6). Применение для этой цели программы Е SPRE S SO [ 1 ] не всегда дает оптимальные результаты. Напомним, что предлагаемый метод применим только для интерпретации линейных ЕС А.

Литература: 1. De Micheli G. Synthesis and Optimization of Digital Circuits. NY: McGraw-Hill, 1994. 636 p. 2. Баркалов A. A., Титаренко Л.А. Синтез микропрограммных автоматов на заказных и программируемых СБИС. Донецк: УНИТЕХ, 2009. 336 с. 3. Barkalov A., Titarenko L. Logic Synthesis for Compositional Microprogram Control Units -Berlin: Springer, 2008. 272 p. 4. Baranov S. Logic and System Design of Digital Systems. Tallinn: TUT Press, 2008. 266 p.

5. Embedded Memory in Altera FPGAs // http:// www.altera.com/technology/memory/embedded/mem-embedded.html. 6. Embedded Memory // http:// www.xilinx.com/products/design_resources/mem_corner/ resource/xawembedded.htm. 7. Соловьев В.В., Климович A. Логическое проектирование цифровых систем на программируемых логических интегральных схемах. М.: Еорячая линия-Телеком, 2008. 376 с.

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

Рецензент: д-р техн. наук, проф. Скобцов Ю.А.

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

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

Мирошкин Александр Николаевич, ассистент кафедры ЭВМ ДонНТУ. Научные интересы: цифровые устройства управления. Увлечения: научная работа, спорт. Адрес: Украина, 86120, Донецкая область, Макеевка, ул. Курская, д. 15, кв.45.

50

РИ, 2009, № 3