СИНТЕЗ МОДЕЛИ УПРАВЛЯЮЩЕГО АВТОМАТА ДЛЯ SoC–ФИЛЬТРОВ С КОНВЕЙЕРНОЙ АРХИТЕКТУРОЙ

и, следовательно, уменьшение времени такта. Таким образом, окончательный вывод о среднем времени выполнения алгоритма может быть сделан только после реализации схем КМУУ и1(Г|) и и2(гр. Исследования данного метода на произвольном наборе ГСА показали, что число макроячеек уменьшается до 30%, а число уровней - на 2-3. Напомним, что применение этого метода возможно только для линейных ГСА при условии, что введение дополнительных микрокоманд не увеличивает разрядность адреса в сравнении с КМУУ U.

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

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

Дальнейшие направления исследований связаны с возможностью применения предложенного метода для базиса FPGA (Field-programmable gate arrays) [9], а также с разработкой САПР для синтеза схем композиционных микропрограммных устройств управления.

Литература: 1. De Micheli G. Synthesis and Optimization ofDigital Circuits.NY: McGraw-Hill, 1994. 636 p. 2. Баркалов А.А. Синтез устройств управления на программируемых

логических устройствах. Донецк: ДНТУ, 2002. 262 с. 3. Грушвицкий Р.И., Мурсаев А.Х., Угрюмое Е.П. Проектирование систем с использованием микросхем программируемой логики. СПб: БХВ. Петербург, 2002. 608 с. 4. Соловьев В.В. Проектирование цифровых схем на основе программируемых логических интегральных схем. М.: Горячая линия-ТЕЛЕКОМ, 2001.636 с. 5. BaranovS. Logic Synthesis for Control Automata - Boston: Kluwer Academic Publishers, 1994. 312 p. 6. Баркалов А.А, Бабаков Р.М, Ахмад Бадер. Исследование аппаратурных характеристик автомата Мили с кодированием фрагмента микроопераций по VHDL- моделям // Исскуственный интеллект. 2007, №1. С. 117-122. 7. Maxfield C. The Design Warrior’s Guide for FPGA - Amsterdam: Elseteir, 2004. 541 p.

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

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

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

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

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

УДК681.326:519.713

СИНТЕЗ МОДЕЛИ УПРАВЛЯЮЩЕГО АВТОМАТА ДЛЯ SoC-ФИЛЬТРОВ С КОНВЕЙЕРНОЙ АРХИТЕКТУРОЙ

ВЕНЗАК В. В.____________________________

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

1. Постановка задачи

Сложность цифровых систем и сетей, имплементированных в кристаллы PLD, согласно закону Мура удваивается каждые полтора года. Они представляют собой функционально и конструктивно законченные устройства, реализованные в чипе, и содержат микропроцессоры, блоки памяти, контроллеры, периферийные устройства, порты ввода-вывода информации. В такие архитектуры в последнее время довольно часто включаются блоки, решающие задачи цифровой обработки сигналов (DSP - digital signal processing). Для

повышения быстродействия D SP-приложений применяется конвейерная архитектура, которая позволяет обрабатывать большие потоки входных данных при высокой частоте синхронизации.

Цель исследования - разработка системной модели управляющего автомата для конвейерной вычислительной архитектуры SoC DSP и основанного на ней метода автоматической генерации блоков проблемноориентированных управляющих устройств с помощью языков описания аппаратуры.

Для достижения поставленной цели решаются следующие задачи:

1. Анализ моделей цифровых автоматов и способов их реализации в аппаратуре на основе PLD.

2. Разработка моделей управляющих автоматов для SoC фильтров, реализующих стандарт JPEG 2000 с конвейерной о бр аботкой данных.

2. Модели цифровых автоматов

Существует два типа автоматов: абстрактный и структурный.

Абстрактный автомат является математической моделью дискретного устройства и определяется вектором

РИ, 2008, № 2

45

S = (A,Z,W, ф, y,a^

где векторы A = (a1,---,am,...,aM) ;

Z = (Zi,...,Zm,...,ZM) и W = (Wi,...,Wg,...,WG) -множества состояний входных и выходных сигналов; ф: A х Z ^ A - функция переходов, реализующая отображение D ф+с A х Z в А, когда парам <состояние - входной сигнал> (am,zf) функция ф ставит в соответствие состояние автомата as = ф(am, z1), as є A; у : A х Z ^ W - функция выходов, реализующая отображение D^ =с A х Z в W, когда функция у парам <состояние - выходной сигнал> (am,zf) ставит в соответствие выходные сигналы автомата ws =y(am,Zi); ai є A - начальное состояние автомата.

Абстрактный автомат имеет один вход и один выход. Он функционирует в дискретном времени, принимающем целые неотрицательные значения t = 0, 1, 2, ... . В каждый момент времени t автомат находится в некотором состоянии a(t) из множества состояний автомата, причем в начальный момент времени t=0 он всегда находится в начальном состоянии a(0)=a1. В момент t, в состоянии a(t), автомат может принимать букву входного алфавита z(t) є Z . Функцией выходов w(t) = y(a(t),z(t)) формируется соответствующая буква выходного алфавита, а функцией перехода a(t +1) = y(a(t),z(t)) - следующее состояние. Идея абстрактного автомата состоит в реализации некоторого отображения множества слов входного алфавита Z в множество слов выходного алфавита W.

На практике наиболее распространены два класса автоматов - Мили и Мура (G.H.Mealy и E.F.Moore), функционирование которых задается уравнениями:

1) a(t + 1) = y(a(t),z(t));w(t) = y(a(t),z(t)),t = 0,1,2,...;

2) a(t +1) = y(a(t),z(t)); w(t) = y(a(t)), t = 0,1,2,...;

В структурном автомате учитывается структура входных и выходных сигналов автомата, а также внутреннее устройство на уровне структурных схем. Основной задачей структурной теории автоматов является нахождение общих приемов построения структур ных схем автоматов на основе композиции элементарных автоматов. При построении конечных автоматов функции переходов ф и выходов у реализуются с помощью комбинационных схем CL ф и CL ф соответственно, а память автомата реализуется с помощью регистра RG, который хранит код внутреннего состояния в каждый момент автоматного времени. В зависимости от способов определения функций переходов и выходов [2] можно провести детальную классификацию конечных автоматов. Классы A и B соответствуют общей форме автоматов Мили и Мура. Если каждый выходной набор w(t) автомата Мура совпадает с кодом его внутреннего состояния a(t), то данный автомат относится к классу С [2] и его поведение описывается уравнениями:

a(t +1) = y(a(t),z(t)); w(t) = a(t).

Особенностью автомата C является отсутствие комбинационной схемы CL ф, что делает его выходы регистровыми. Если каждый выходной набор w(t) автомата Мили совпадает с кодом его следующего состояния a(t+1), то рождается автомат класса D [1]. Его особенностью также является отсутствие комбинационной схемы CL ф, однако значения входных функций формируются на входах памяти автомата RG. Если каждый входной набор z(t) автомата Мили совпадает с кодом следующего состояния a(t+1), то такой автомат соответствует классу E, уравнения функционирования которого имеют вид:

a(t +1) = z(t); w(t) = y(a(t),z(t)).

Если каждый входной набор z(t) автомата Мура совпадает с кодом следующего состояния a(t+1), то такой автомат соответствует классу F, поведение которого может быть описано уравнениями:

a(t +1) = z(t); w(t) = y(a(t)).

В автомате класса G каждый выходной набор w(t) автомата Мили совпадает с кодом его внутреннего состояния a(t), а каждый входной набор - с кодом состояния a(t+1). Автомату класса G соответствует обычный регистр. На практике редко удается непосредственно реализовывать автоматы классов C - F.

3. Системная иерархическая модель автоматов

Современные устройства цифровой обработки сигналов представляют собой конвейер с управляющим автоматом (рис. 1), который подсчитывает число обработанных элементов и формируетуправляющие сигналы в исключительных ситуациях: первый или последний элемент, первая или последняя строка изображения. Поскольку входные последовательности таких автоматов содержат большое количество элементов, то для их проектирования нельзя использовать классические методы синтеза структурных автоматов Мили или Мура ввиду большого количества (100-1000) состояний. Использование комбинации {управляющий автомат Мили (Мура) - счетчик} не обеспечивает высокого быстродействия DSP-преобразователя. Как правило, управляющий блок для конвейерных вычислительных устройств строится на счетчиках, которые идентифицируют состояние управляющего автомата. Все выходные инициирующие сигналы генерируются

Рис. 1. Конвейерная структура DSP c макроавтоматом

46

РИ, 2008, № 2

Специфика управляющего модуля конвейерной архитектуры DSP-преобразователя, реализуемого в кристалле SoC, требует, чтобы предложенная классификация [3] моделей автоматов, рассмотренная в разделе 1, была дополнена еще одним классом моделей управляющего автомата, который специализируется на конвейерный тип вычислений для DSP (рис. 2). Такая модель интересна тем, что она не имеетуправляющих входных сигналов, за исключением входа синхронизации (Clk) и сброса управляющего автомата в начальное состояние (reset), и, по сути, является моделью автомата Мура, описываемой уравнениями:

a(t +1) = y(a(t)); w(t) = y(a(t)), t = 0,1,2,....

Блоки CL ф и RG реализуют счетчик, заменяющий автомату таблицу переходов, а блок CL^ - выходные функции w(t) = y(a(t)).

at_

CL„

reset

Clk

at

RG CL

>

j-^Wt

Рис. 2. Модель управляющего автомата конвейерного устройства

Размерность схемы автомата обусловлена длиной регистра RG, а следовательно, рабочим диапазоном счетчика, который, в свою очередь, зависит от структуры входной информации. Таким образом, размерность управляющего блока зависит от двух параметров: R- разрядности счетчика и Nw - количества формируемых выходных функций. Быстродействие такого устройства определяется самым длинным путем схемы - структурной глубиной. В данной модели:

1) логический путь “Pin to Pin” начинается от асинхронного сброса reset и заканчивается выходами W:

T — T X T •

pp RG_ reset CL^ max’

2) путь “Register to Register” определяет задержку логического пути между регистрами счетчика:

TRR _ TRG + TCLp max + Tsu ;

3) путь “Clock to Output”: TCO = TRG + TCLy max.

Минимальный рабочий период автомата определяется следующим выражением:

Pmin = maxTCO’TRR’Tpp) =

— max[TRG + TCL^max)’(TRG ^ TCLpmax ^ Tsu),(TRG_reset ^ TiCby)]*

Как видно из формулы, минимальный рабочий период, а значит и максимальная рабочая частота зависят от аппаратной сложности схем CL ф и CL ^. Часто для повышения скорости работы устройства выходные функции W дополняются выходным регистром RGW (рис. 3). Это позволяет сделать работу устройства более устойчивой к состязаниям и, благодаря делению логического пути, повысить максимальную рабочую частоту всего устройства, включая и управляющий автомат. При этом изменяются временные параметры системы. Такая модель не будет иметь

РИ, 2008, № 2

путей “Clock to Output” и “Pin to Pin”. Минимальный рабочий период устройства зависит только от самого длинного пути “Register to Register” и описывается формулой:

Pmin _ max

Рис. 3. Модель автомата с регистровыми выходами

При обработке двумерных данных, изображений, видео- и аудиоинформации управляющий блок должен иметь два счетчика: 1) Сч 1 - для подсчета столбцов матрицы; 2) Сч 2 - для подсчета столбцов матрицы, если данные обрабатываются по строкам. Иначе -назначение счетчиков изменяется. Модель такого управляющего блока может быть представлена в виде сети автоматов (рис 4).

Рис. 4. Сеть n-компонентных автоматов Сеть, содержащая два автомата, задается вектором: N = (Z,{S1,S2},W,{f1 ,f2>,{^1, X2}, у).

Здесь параметры сети представлены в виде:

1) Входной алфавит Z={reset}.

2) Множество компонентных автоматов сети

Si = {S1,S2}: КАд : S1 = (A1,Z1’Ф1)’

КАд : S2 =

3) Функции переходов для данных автоматов:

S^1: А1 х Z1 —^ А161: А1 х {reset} —^ А1;

S2Ф2 : А2 х Z2 ^ А2^2 : А2 х {rst,en} ^ А2

4) W - выходной алфавит сети.

5) Множество функций соединения компонентных автоматов сети представлено одной функцией:

f1 = 0,f2 : А1 ^ Z2 .

6) Множество входных функций:

^1 : Z1 = Z1 = {reset}; многокомпонентных автоматов сети X2 :Z2 = Z2 х Z2 = {rst,en}.

7) Выходная функция сети; у :(А1 х А2) х Z ^ W.

Схема структурной модели сети, включающей в себя два автомата, представлена на рис. 5.

47

Рис. 5. Структурная модель сети автоматов

Блоки СЬф1 и RGi реализуют первый счетчик Сч1, блоки СЬф2 и RG2 - второй счетчик Сч2. Блок f2 является комбинационным и реализует функцию соединения двух компонентных автоматов Сч1 и Сч2. Совокупный автомат содержит три вида выходных функций: уі - зависит от состояния автомата Сч1; у2 - от состояния автомата Сч2; - от состояний

автоматов Сч1 и Сч2:

W1(t) = У1 (a1(t));

W2(t) = V 2(a2(t));

W12(t) = y!2(a1(t),a2(t)).

Функциям возбуждения у1, у 2 и у 12 соответствуют комбинационные схемы СЬф1, СЬф2 и СЬф12, реализуемые в кристалле программируемой логики FPGA.

Также как и для автомата с одним счетчиком, минимальный рабочий период будет равен максимальному пути: pmin = тах(ТСО , TRR , Tpp ) •

1) Комбинационный (логический) путь “Pin to Pin” проходит от асинхронного сброса reset до выходов W:

TPP _ max[(TRG1_reset ^ ТСЬ^1тах),

(TRG2_ reset ^ ТСЬ^1тах ),(TRG_resettmax + ТСЬ^12тах)]

2) Логический путь, определяемый компонентами “Register to Register”, формирует номинальную задержку комбинационного пути между регистрами счетчика:

TRR = max[(TRG1 "F T0L91max "F Tsu ),

(TRG2 + TCLф2max + Tsu),(TRG1 + Tf2max + Tsu)]-

3) Путь “dock to Output” определяется компонентами:

ТсО = max[(TRG1 ^ TOL^1max ),

(TRG2 ^ TOL^2max ), (TRGmax ^ ^OL^!2max )].

При реализации вычислительного специализированного устройства на микросхемах программируемой логики PLD или в формате технологии АБІС все триггеры однотипны и поэтому имеют одинаковое время установки Tsu и задержки переключения TRG. Тогда представленные выше формулы трансформируются к виду:

TPP _max[(TRG1_reset ^TGL4/1max)5(TRG2_reset ^TGL^1max), (TRG_resettmax ^ TGL^12max)] _

_ TRG_reset ^max(TCLф1max5TCLф2max5TCLф12max);

ТСО = TRG + max(TcLфlmax5 TGL^2max, TGL4/12max).

Если триггеры регистров RG1 и RG2 переключаются по одному фронту, то имеет место формула:

TRR _ TRG ^ Tsu + max(TcLф1max5TCLф2max5Tf2max)••

Если триггеры регистров RG1 и RG2 переключаются по разным фронтам, тогда действительно выражение:

TRR = Tsu + max[(TRG "F TCLф1max ),

(TRG + TCLф2max ),2(TRG + Tf 2max )] •

Для описания алгоритма функционирования предложенных системных иерархических моделей управления конвейерными вычислениями DSP-преобразования традиционные формы синтеза на основе графа или таблицы переходов не являются эффективными. Исходной информацией для системных иерархических моделей может быть структура, состоящая из следующих параметров:

Модель 1: 1) Сп^т и Сп^х - минимальная и максимальная границы счета; 2) Сп%0 - начальное состояние;

3) Nf - количество выходных функций; 4) тип выходов: комбинационный или регистровый; 5)множество выходных функций у = (у1, у2 ,...yNf } • Модель 2: 1) СпЙ^ и С^^^ - минимальная и максимальная границы счета счетчика 1; Cnt2mjn и Cnt2max - минимальная и максимальная границы счета счетчика 2; 2) СпЙбо и С^2бо - начальное состояние счетчиков 1 и 2; 3) Nf -количество выходных функций; 4) тип выходов: комбинационный или регистровый; 5) множество выходных функций у = (у1, у 2 ,...yN f } ; 6) f2 - функции соединения компонентных автоматов сети.

4. Синтез HDL-модели автомата для DSP-фильтра

У правляющий блок фильтра для обработки изображений размерностью 256 х 256 пикселов имеет следующие параметры:

1) Минимальная и максимальная границы счета счетчика 1: СпЙщт^ и Сй^^ =256; минимальная и максимальная границы счета счетчика 2: С^2^п=1 и С^21мх =258. 2) Начальное состояние счетчиков 1 и 2: Сп^о = 0 и С^2бо = 0. 3) Количество выходных функций Nf =3. 4) Тип выходов - комбинационный. 5) Множество выходных функций:

у = (у1, у 2, у 3} = {First, Last, ЕшЬіє};

1, count2 = 2; Г1 count2 = Спі2шіп -1;

Last=(

0, else: [0, else:

48

РИ, 2008, № 2

Результаты реализации управляющего блока

Кристалл x2vl000 xv50e xcv200 x3sl000 x2s50e x2sl00

Размер, экв.вент. 357 354 354 411 354 354

Скорость, МГц 95,49274255 89,82304859 66,26466106 75,44892108 81,11615834 73,81163271

1, (count2 > 1) & (count2 < Cnt2max - 1); Enable = < 1, (count2 = Cnt2max) и (countl = 1);

0, else.

W1; = 0,W2; = (First, Last}, W12; = {Enable}.

6) Функции соединения компонентных управляющих автоматов сети f2: f 2 = {en2}.

Структурная схема управляющего автомата для конвейерного DSP-преобразователя, сгенерированная программой синтеза Synplify, представлена на рис. 6.

При синтезе использовались микросхемы программируемой логики FPGA фирмы Xilinx. Параметры реализации управляющего автомата на различных 0 кристаллах представлены в таблице.

5. Выводы

Предложена новая системная модель управляющего автомата на счетных структурах для конвейерной вычислительной архитектуры SoC DSP и основанный на ней метод автоматической генерации блоков проблемно-ориентированных управляющих устройств с помощью языков описания аппаратуры, которая отличается формой описания автомата и процедурами проектирования. Это позволяет автоматически генерировать синтезируемый HDL-код для последующей имплементации автомата в кристалл и минимизировать цикл управления для обработки изображения, что существенно повышает быстродействие DSP-устройств, работающих в реальном масштабе времени, реализуемых в SoC с конвейерной архитектурой вычислительных процессов на основе аппаратной реализации кодера стандарта сжатия изображений JPEG2000 и применения новых технологий, моделей и методов системного проектирования, позволяющих значительно (15-30%) уменьшить цикл создания изделия на кристалле.

Создана цифровая система на кристалле SoC DWT-преобразователя с конвейерной архитектурой вычислительных процессов исполнительного устройства, управляемого высокоскоростным специализированным автоматом на основе счетных структур. Она отличается использованием новых моделей и методов проектирования и кодирования, а также аппаратной реализацией DWT -преобразования, что позволяет существенно повысить быстродействие (х 10-х 100) кодирования и сжатия информации на основе стандарта JPEG2000 с сохранением высокого качества изображения.

Литература: 1. Баранник В.В., Гуржий П.Н. Метод восстановления видеоданных // Системи обробки інформації. Харьков: НАНУ, ХУПС. 2006. Вип. 3. С. 12- 15. 2. BellT. C, Cleary John G., Witten Ian H. Text compression. Englewood Clifs, N. J.: Prentice-Hall. 2001. 315 p.

Рис. 6. Результат синтеза управляющего автомата в программе Synplify и параметры его реализации в кристаллах FPGA фирмы Xilinx

3. Adams M. D., Kossentini F. Reversible Integer-to-Integer Wavelet Transforms for Image Compression: Performance Evaluation and Analysis. IEEE Trans. on Image Processing. Vol. 9. June 2000. P. 1010-1024.

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

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

Вензак Виталий Владимирович, студент группы СКСм-07 -1 ХНУРЭ. Научные интересы: автоматизация моделирования, верификации и тестирования систем на кристаллах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.

РИ, 2008, № 2

49