Научная статья на тему 'Методы аппаратного моделирования цифровых систем на кристаллах'

Методы аппаратного моделирования цифровых систем на кристаллах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
298
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Стратегия верификации и моделирования цифровых проектов / модели аппаратноого анализа и верификации цифровых систем / Strategy of verification and modeling of digital projects / models of hardware analysis and verification of digital systems

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ваде Гриби, Хаханова Ирина Витальевна, Хаханов Владимир Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ваде Гриби, Хаханова Ирина Витальевна, Хаханов Владимир Иванович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Methods of hardware modeling of digital systems on crystals

High-speed methods of synchronous modeling and temporary verification of computer systems on crystals are proposed using multi-valued hardware component models. The methods allow to expand the functionality of logical hardware-analysis tools for identifying transients and determining contests in the early stages of designing digital products.

Текст научной работы на тему «Методы аппаратного моделирования цифровых систем на кристаллах»

УДК 681.326:519.713

ВАДЕ ГРИБИ, И.В. ХАХАНОВА, В.И. ХАХАНОВ

МЕТОДЫ АППАРАТНОГО МОДЕЛИРОВАНИЯ ЦИФРОВЫХ СИСТЕМ НА КРИСТАЛЛАХ

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

1. Введение

Современный уровень развития микроэлектроники предъявляет новые требования к средствам автоматизированного проектирования цифровых изделий. Основной параметр любой разработки - time-to-market - предполагает активизацию усилий ведущих фирм мира и их сателлитов в целях поиска новых методов и средств ввода, моделирования, верификации и тестирования проектируемых изделий. Здесь основными направлениями практически ориентированных научных исследований следует считать: 1) внедрение в процесс проектирования технологий и стандартов граничного сканирования; 2) применение механизма ассерций для ускорения верификации разработки на системном уровне; 3) разработка и использование аппаратных акселераторов для моделирования и тестирования сложных проектов. Что касается третьего направления, здесь имеются существенные достижения, внедренные в мировой рынок технологий со стороны фирмы Aldec, USA, которая является одним из лидеров инноваций в области EDA (Electronic Design Automation). Разработка упомнутой компании - HESTM (Hardware Embedded Simulator) [www.aldec.com] является универсальным специализированным процессором, подключаемым к персональному компьютеру, который способен в сотни и тысячи раз повысить быстродействие моделирования и верификации цифровых проектов. Здесь в качестве управляющего ядра используется ARM-процессор, соединенный с кристаллом FPGA (Xilinx) с помошью шины AMBA. Основная идея: проект, как правило, состоит из уже отлаженных моделей компонентов, которые помещаются в HES, а модели примитивов, нуждающиеся в доработке, представлены в программном коде на языках описания аппаратуры. По мере отладки все компоненты помещаются в кристалл HES, в результате чего появляется аппаратная модель цифровой системы с большими преимуществами по времени ее обработки перед программным аналогом. Тем не менее, HES-модель проекта имеет один существенный недостаток - ее функциональность не предполагает выполнение режима многозначного моделирования, а состояния линий определяются только значениями {0,1}. Такая ограниченность алфавита моделирования не позволяет решать практически ориентированные задачи, связанные с установкой схемы в наперед заданное двоичное состояние, а также выполнять анализ проектов на предмет выявления состязаний, гонок сигналов и статических (динамических) рисков сбоев. С другой стороны, реализация таких функций в програм-ном исполнении является времязатратной, что существенно влияет на их применение в практическом проектировании. Таким образом, актуальной представляется проблема совмещения упомянутых функциональностей с их аппаратурной реализацией, что дает возможность найти на рынке своего потребителя, который готов платить больше за высокое быстродействие аппаратного троичного моделирования для анализа переходных процессов и решения задачи установки схемы в наперед заданное состояние.

Целью работы является существенное (x10, x100, x1000) повышение быстродействия синхронного моделирования и временной верификации вычислительных систем на кристаллах путем использования многозначных аппаратных моделей компонентов, позволяющих расширить функциональные возможности средств логического hardware-анализа для идентификации переходных процессов и определения состязаний на ранних стадиях проектирования цифровых изделий.

Для достижения поставленной цели необходимо решить задачи:

1) Разработать структурно-функциональную многозначную аппаратную модель цифрового устройства с шинной организацией линий для многократного повышения быстродействия анализа переходных процессов.

2) Формализовать двухсхемную структурно-функциональную аппаратную модель цифрового устройства для совместного моделирования многозначных входных наборов и многократного повышения быстродействия анализа переходных процессов в последова-тельностных устройствах.

3) Создать автоматную модель процесса трансляции HDL-кода в структуры данных для анализа и верификации цифровой системы на кристалле с использованием аппаратуры Aldec HESTM (Hardware Embedded Simulator), интегрированную в маршрут проектирования и верификации.

4) Реализовать программно-аппаратный комплекс MV-HES (Multi-Valued Hardware Embedded Simulator), позволяющий верифицировать сложные цифровые SoC на ранних стадиях проектирования.

Объект исследования - цифровая система, содержащая миллионы вентилей, реализуемая в кристаллах программируемой логики и представленная на HDL-языках описания аппаратуры.

2. Модели аппаратного анализа и верификации цифровых систем

Исходя из современных достижений автоматизированного проектирования, преимуществ и недостатков новейших технологий, можно сформулировать функцию цели (Z): минимизация временных затрат, необходимых для верификации и анализа переходных процессов, путем выбора одной из трех стратегий моделирования в условиях ограничений, связанных с аппаратурными затратами (H) реализации моделей, которые не должны превышать допустимый разрешенный объем кристалла при сохранении заданной функциональности (f) анализа переходных процессов в многозначном алфавите и возможности наблюдения внутренних линий. Функция цели представляется в виде:

Z = min[T(FB ),T(FD),T(FS)]

H[Fd,Fb ,FS]<Hmax; f=[A4,OI,Tt ] . (1)

Здесь T(FB),T(Fd),T(Fs) - временные затраты моделирования при использовании шинной,

B D S

дублированной или программной модели; H(F ),H(F ),H(F ) - аппаратные затраты на

реализацию соответствующих моделей; A4, O I,Tt - функциональные свойства моделирования: многозначность, наблюдаемость внутренних линий, учет временных параметров.

Для исполнения упомянутого функционала предлагается усовершенствованная универсальная модель тестирования или верификации, основанная на автоматном описании цифрового проекта. На рис.1 (слева) представлена модель, содержащая два идентичных модуля проектируемого изделия F, блок сравнения © результатов анализа с выходом TY, модуль формирования входных воздействий TB (TestBench), который декомпозирует неопределенные состояния на нулевые и единичные составляющие T0 и Ti соответственно. Главное преимущество - высокое быстродействие параллельного многозначного троичного анализа.

Основная идея моделирования переходных процессов [1-4] предусматривает две фазы выполнения троичного алгоритма. Первая служит для моделирования собственно переходного входного набора A/B, который определяется по правилам следующей операции:

A u B = {(0 и 0 = 0;1 ui = 1); else = X}.

Вторая заключается в моделировании статического двоичного вектора B и предназначена для идентификации возможных состязаний. Обе процедуры являются итеративными, с гарантированной сходимостью вычислительного процесса негенераторных схем. Для режима A характерно увеличение символов X на линиях от одной итерации к другой, для B - уменьшение. Моделирование логических элементов выполняется на основе троичных таблиц истинности, которые для основных элементов имеют следующий вид:

X1 лX2 = {(Xj = 0 or X2 = 0) ^ Y = 0;(Xj = 1 and X2 = 1) ^ Y = 1;else^ Y = X};

Xj v X2 = {(X1 = 1 or X2 = 1) ^ Y = 1; (X1 = 0 and X2 = 0) ^ Y = 0; else ^ Y = X};

X = {(Y = 0 ^ X = 1);(Y = 1 ^ X = 0);(Y = X ^ X = X)}.

Для моделирования переходных процессов используются автоматные модели примитивов, которые для комбинационных элементов вырождаются в однотактные кубические покрытия [4-5]. Общее представление структуры цифрового проекта связано с модифицированной моделью конечного автомата, изображенной на рис. 1 (справа), где состояния автомата и функция выходов зависят в том числе и от сигналов в момент (t-1).

TA

TB

T

T

Рис. 1. Модели верификации и функционирования SoC

Данной структуре ставится в соответствие совокупность автоматных информационных процессов, описанных характеристическими уравнениями первого рода [4]:

2^=1ЩМ),Х^ШМ)да)]; Y(t)=g[X(t-1),X(t),Z(t-1),Y(t-1)], которые задают поведение устройства и функциональных элементов, описанных кубическими покрытиями в многозначном алфавите: А2=^=00,Е=01,Н=10Д=11,0=^,Н}Д={ЕД }, А=^,Е},В={НД}^=^Д},Р={Е,Н},С={Е,Щ}^=^,НД}^=^,ЕД}, У=^ДН}Д=^ДЩ}, Ах={0,1,Х={0,1}},0 (и)}. Данный алфавит практически ориентирован на решение задач троичного анализа, что позволяет выявлять состязания, а также диагностировать неопределенности, связанные с неустановкой схемы в двоичное состояние. Представленная многозначная автоматная модель является универсальной и предназначена для решения задач: 1) Выполнение процедуры прямой импликации - исправное моделирование всех линий при заданных условиях в троичном алфавите на входах цифрового объекта. 2)

Проведение обратной импликации на основе применения п т -алгоритма в целях определения входных условий, удовлетворяющих заданному состоянию выходных переменных (построение кубического покрытия схемы). 3) Временная верификация и моделирование одиночных константных неисправностей примитивных элементов цифровой структуры.

Стратегия создания квазиоптимальной програмно-ориентированной модели цифровой системы включает пункты, которые основаны на модификации известного п -алгоритма: 1) Ввод схемы на языке описания аппаратуры (VHDL, Уеп^) и ее преобразование во внутренние структуры данных (вентили, системы уравнений). Анализ схемной структуры на предмет наличия глобальных обратных связей. При их существовании в схеме производится псевдоразрыв с образованием псевдовходов и псевдовыходов. 2) Оценка по Квайну сложности полученных (исходных на первом шаге) структур данных Q(Mi-l) на основании формулы [4]:

Q = ZKi + Z Kj х Nj + 3q . i=1 J=1

(2)

где К!, N j, p,q - число переменных в >м компоненте схемы, вентильного или регистрового

уровней; количество кубов в j-м компоненте; число компонентов в схеме; количество типов компонентов в проекте соответственно. 3) Укрупнение компонентов проектируемой модели (декомпозиция на комбинационные и последовательностные подсхемы) и применение модифицированного пт -алгоритма. 4) Вычисление информационной оценки модели Q(Mi).

F

F

5) Сравнение информационных оценок двух моделей по Квайну для выбора дальнейших действий в целях получения лучшей структуры. 6) Если выполняется условие Q(Mi) > Q(Mi-i), то на предыдущем шаге получена минимальная модель. Конец процедуры построения модели. Иначе - следует вернуться к выполнению пункта 3. Здесь nm -алгоритм применяется к декомпозированному подмножеству комбинационных и последо-вательностных компонентов Q и Si, при условии, что модель схемы представлена в виде

Mi = {Ci,...,Ci Ck,Si,...,Si Sn} . Принцип декомпозиции: для формирования покрытия пос-ледовательностной подсхемы выделяются: функции переходов, выходов и подсхемы памяти. Сущность nm -алгоритма - пересечение покрытий функционально взаимозависимых компонентов с последующим выполнением операций минимизации и поглощения:

i* j

Mmin = v_ [(M = Ci n Cj ^ Li n L j *0) ^

i, j=1,n (3)

^3!t(Mit * Mjt ^ Mi u Mj) ^Vt(Mit n Mjt = Mit ^ Mi u M j = Mi)].

Здесь M - множество кубов, которое получается на каждом шаге пересечения покрытий по координатам связи; Ci и Cj - кубические покрытия, участвующие в пересечении; Li и Lj - линии связи для выполнения пересечения кубов покрытий двух компонентов схемы; n - число компонентов или примитивов схемы. Плата за модификацию nm -алгоритма, связанная с получением минимальной структуры, определяется выполнением дополнительной итерации вычислительной сложностью n2 от числа линий или примитивов схемы. Результат работы п m -алгоритма: покрытия для памяти - троичные устойчивые переходы и кубы состязаний, а также кубические покрытия функций переходов и выходов. Критерием минимальности модели цифровой схемы является ее оценка по Квайну Q, которая учитывает объем модели и позволяет выбрать наилучший вариант из нескольких, при

ограничениях на время их построения: Q = min{Mj,...,M2,...,Mi,...,M^}x(Mi)<Tmax .

Поскольку речь идет об аппаратном моделировании переходных процессов для выявления состязаний, необходимо иметь возможность наблюдать критические линии. Но если они не являются внешними выходами, то для наблюдения за состояниями внутренних линий аппаратных моделей разработана система IEEE-стандартов (11.49, 1500) [5-8], которая обслуживает системы как на платах, так и на кристаллах. Для решения задач моделирования и верификации базовая ячейка граничного сканирования IEEE Boundary Scan является функционально избыточной, если ее использовать только для наблюдения состояния внутренней переменной. Исходя из функций: снять информацию с линии и сканировать ее состояние на выход - выполнено упрощение структуры ячейки.

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

Здесь - ячейки регистра наблюдения и сканирования данных, число которых равно количеству проблемных линий, для которых необходимо выполнить проверку наличия опасных состязаний. Счетчик служит устройством управления режимом сканирования. Первоначально ему присваивается число N, равное количеству линий наблюдения - для этого используется вход Reset. В режиме сканирования он работает по функии вычитания. При достижении счетчиком нулевого значения режим сканирования блокируется по выходу WSO (Wrapper Serial Output) c помощью вентиля SP (Scan Permission). Вход CLK предназначен для синхронизации работы регистра и счетчика, а вход V служит для управления двумя режимами работы ячейки сканирования: запись состояния линии в триггер и сканирование содержимого разрядов регистра на внешний выход WSO. Предложенная модификация стандарта IEEE 1500 дает возможность существенно, более чем в 2 раза, уменьшить аппаратурные затраты при сохранении необходимой в данном случае функциональности. При этом автомат управления процессом сканирования данных вырождается в вычитающий регистр с разрадностью ]log2N[.

3. Стратегия верификации и моделирования цифровых проектов

Для верификации SoC с привлечением аппаратных средств многозначного анализа переходных процессов и статического двоичного моделирования предлагается следующий маршрут (рис. 3): 1) Синтез и верификация архитектуры проекта с помощью гетерогенных языков (UML,PSL,SVA) [9-10] описания разнородных компоненетов системы. Практически - это самая интеллектуальная стадия, на которой определяется стратегия построения проекта, его функциональность, быстродействие, энергопотребление, вычислительная сложность и тестопригодность. 2) Декомпозиция проекта в целях максимального использования существующих в мире наработок и выверенных решений в форме IP-cores, а также определения уникальной функциональности, для которой необходимо написать HDL-код.

Рис. 3. Маршрут верификации цифрового проекта 3) Параллельные модули создания HW- и SW-моделей [11-12], которые далее объединяются в целях существенного повышения быстродействия программно-аппаратного комплекса за счет введения аппаратных моделей отдельных блоков проекта. Здесь предлагается спектр решений, в том числе и моделирование в двоичном статическом режиме проекта цифрового устройства на основе HESTM АЫес и анализ двоичных реакций выходов на предмет их соответствия заданной спецификации. При полном совпадении реакций с наперед заданными (предсказанными) состояниями - конец верификации. Иначе - устрой-60

ство имеет ошибки проектирования. Устранение грубых ошибок, связанных с неверными операторами в кодах проекта. 4) Совместная верификация программно-аппаратной модели проекта на основе использования Active HDl и HESTM. Если устройство имеет некорректное поведение, выполняется временная верификация на основе троичного моделирования. Выбор дублированной модели для верификации для тестирования устройства с соседнем коде или использование шинной модели для верификации устройства на переходных наборах, если соседние входные последовательности имеют множественные изменения на входах. Синтез необходимой для верификации модели с выбранными внутренними точками для наблюдения на основе IEEE-стандарта сканирования данных. При этом подача очередного тестового вектора на аппаратную модель и занесение информации о состояниях внутренних линий проекта в регистр сканирования данных требует дополнительных временных затрат, связанных с выполнением операции сдвига данных на внешний выход устройства и формированием вектора состояний наблюдаемых линий для анализа переходных процессов на данной паре входных наборов. 5) Анализ корректности проекта в смысле наличия состязаний связан с временными характеристиками элементов, длиной межсоединений, а также со структурными и функциональными рисками сбоев, влияющими на функционирование изделия. Если состязания отсутствуют на всех входных наборах - конец процедуры верификации - устройство соответствует заданной спецификации.

4. Реализация стандарта IEEE 11.64 STD многозначного моделирования

Предлагается аппаратурная реализация [13,14] троичного метода моделирования исправного поведения HES-MV - Hardware Embedded Simulation based on Multi-Valued alphabet для цифровых проектов вентильного и регистрового уровней описания. Для создания многозначных моделей функциональных примитивов определены основные логические операции И (and), ИЛИ (or), по модулю два (xor) и отрицания (not) в четырехзначном алфавите, символы которого кодируются следующим образом: U = "00", X = "01", 0 = "10", 1 = "11". При этом первый бит определяет маску, а нулевой - значение элемента. Если первый бит кода равен 1, то нулевой бит задает реальные значения в виде 0 или 1. Иначе, когда первый бит равен 0, то нулевой определяет значение сигнала в виде 'U' или 'X'. В табл. 1 представлена реализация логической операции И в четырехзначном алфавите при использовании двухбитового кодирования символов, а также карты Карно для вычисления первого и нулевого бита выходного значения функции.

Таблица 1

ANDi ANDo

and "00" "01" " 10" "11" a\b "00" "01" 1 "11" "10" a\b "00" "01" 1 "11" "10"

"00" "00" "00" "10" "00" "00" 0 0 0 1 "00" 0 0 0 0

"01" "00" "01" "10" "01" "01" 0 0 0 1 "01" 0 1 1 0

"10" "10" "10" "10" "10" "11" 0 0 1 1 "11" 0 1 1 0

"11" "00" "01" "10" "11" " 10" 1 1 1 1 " 10" 0 0 0 0

На основе карт Карно формируются функции для их реализации в аппаратуре в четырехзначном алфавите: ANDi = a^o vbibo v aibi; ANDo = a0^0 . Аналогичные преобразования для функций отрицания, логического сложения и суммы по модулю 2 дают следующие результаты:

NOTi = ai; NOTo = aiao v aiao = ai xorao, ORi = aiao vbibo vaibi; ORo = aiao vbibo vaibo vaobo vaobi,

XORi = aibi; XORo = aiaobo vaiaobi vaobibo vaibibo va^bo .

Для реализации алгоритма преобразования VHDL-структуры цифрового устройства в ее шинную модель в целях выполнения процесса верификации и анализа переходных процессов в четырехзначном алфавите стандарта IEEE 11.64 STD Logic [11] предложена структура транслятора, предсталенная на рис. 4.

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

A =< X, Y, S, f, g >;

X = {xbx 2 ,X3}; Y = {Yi,Y2 ,Y3,Y4,Y5,Y6};

S = {S0 ,S1,S2 ,S3,S4,S5,S6 ,S7,S8,S9,S10 ,S11,S12 ,S14};

S(t) = f(X(t),S(t -1)); Y(t) = g(S(t -1));

X1 = word(N_word) = (aj, opj, 'not', '(', ')', ',', ';', ':');

x2 = Bracket =< 0, ... , max >; X3 = Bracket_position(Bracket) =< 3, ... , max >;

Y1 = word(N_word); Y2 = N_ word; Y3 = Bracket;

Y4 = State _ Bracket; Y5 = str; Y6 = [str _ 1, str _ 0] ,

где S =< Sj, S2, ... , Sn > - состояния автомата, X и Y - множества входных и выходных переменных, f - функции переходов, g - функции выходов; aj - VHDL-идентификатор, соответвующий операнду; opi - VHDL-идентификатор двухоперандной булевой функции (and, or, xor); str - анализируемая строка кода; N-word - количество считанных из строки слов; word - массив считанных слов, word(N-word) - последнее считанное слово; Bracket -число встреченных открывающих скобок; State_Bracket(Bracket) - позиции в word открывающих скобок.

У52,У24 Х1 а1

Рис. 4. Граф автомата построения аппаратной модели Автоматная модель преобразования VHDL-кода в виде графа управляющего автомата задает весь цикл трансляции и преобразования в структуры данных для синтеза многозначной аппаратной модели. В качестве примера результата синтеза многозначной аппаратной модели после обработки VHDL-кода разработанным транслятором может служить схема, изображенная на рис. 5, где линии представлены двумя разрядами, с помощью которых можно закодировать четыре логических состояния а = {0,1,Х, 0}, необходимых для идентификации переходных процессов, отличных от стационарных сигналов 0 и 1 [14].

1Шр РМАР4_АБ02

В[1:0] [1:0ПЧ 1р>0 [1] [0]Г

A[1:0] У

B_ibuf[1]

IBUF ± I

B_ibuf[0]

IBUF [1:0] [1] I O

J> 0

A_ibuf[1] IBUF

O [0]

[0] I

OBUF

I O [1] [1:0]

Out_obuf[1]

0p_and.res_0[1]

FMAP4 8CAE

j>

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

O [0]

3

0ut_obuf[0]

Op_and.N_3_i

A_ibuf[0]

Рис. 5. Троичная синтезированная модель примитива

Здесь символ Х способен идентифицировать состязания сигналов, риски сбоев, которые приводят цифровую схему в непредсказуемое или неспецифицированное состояние. Фактическое среднее увеличение аппаратурных затрат составляет, как видно из табл. 2, значительно меньшее, чем 10 - кратное, увеличение аппаратуры для создания шинной аппаратной модели. Это связано с хорошей оптимизацией кода, заложенной в средства синтеза ^упрИсйу), используемые при подготовке модели, когда дублирование элементов не приводит к удвоению сложности проекта.

Таблица 2 Таблица 3

Circuits ISCAS'85 Lines number Inputs number Binary project Multiple project Hardware overheac

c17 11 5 2 22 11

с432 398 36 74 640 8,6

с499 599 41 120 1028 8,56

с1355 1015 41 157 1129 7,19

с1908 1307 33 121 1194 9,86

с3540 2007 50 380 3095 8,14

с6288 4579 32 637 5422 8,5

c20000 19998 72 2045 16973 8,3

c30000 29995 40 3099 28510 9,2

c50000 49996 22 5121 45064 8,8

Circuits ISCAS'85 Lines number Inputs number SW time, mks x 1000 HW time, mks x 1000 Simulation overhead

c17 11 5 0,008 0,0000062 1290

с432 398 36 0,15 0,0000707 2121

с499 599 41 0,2 0,0000672 2976

с1355 1015 41 0,86 0,0000693 12409

с1908 1307 33 6,12 0,0000532 115037

с3540 2007 50 9,28 0,0000710 86197

с6288 4579 32 9,01 0,0001687 53408

C20000 19998 72 1,67 0,0002034 8210

C30000 29995 40 4,17 0,0003681 11328

C50000 49996 22 17 0,0005722 29709

Табл. 3 иллюстрирует сравнительный анализ быстродействия обработки двоичных программных и многозначных аппаратных моделей. Повышение быстродействия моделирования последних составляет два-три порядка. Значения в табл.3 были получены с помощью системы моделирования и синтеза тестов SIGETEST и пакета Sinplify Pro 8.1, компьютер Intel Pentium, частота процессора 2,4 гГц, размер памяти RAM 514796 Кбайт. Программно-аппаратная система моделирования работает под управлением MS Windows системы моделирования Riviera 7.1 фирмы Aldec и PLI модуля, ориентированного на отладку структур данных в процессе подготовки моделей. Hardware - часть соединяется с Software-симулятором посредством PCI-интерфейса. На стадии подготовки аппаратной модели цифрового устройства выполняется ввод, отладка, синтез и создание файла конфу-гурации для программирования FPGAс помощью: Riviera 7.1, Sinplify, Sinplicity, ISE фирмы XILINX, работающих под управлением пакета DVM фирмы Aldec [www.aldec.com].

5. Программно-аппаратное обеспечение моделирования цифровых проектов

Практическая реализация двух методов аппаратного моделирования и программной верификации цифровых проектов на основе использования шинных моделей примитивов и дублирования схемной структуры представлена в виде рис. 6. Аппаратная часть реализована на плате Hardware Embedded System (HES) фирмы Alatek, Poland.

rt

Ввод модели

]

Компилятор VHDL |— ■^Компилятор Verilog j-

Симулятор VHDL и •

♦ . L"

Симулятор Verilog R

Программа на Си для вычисления времени моделирования, DLL

PC таймер

Ф ормиров атель

данных для моделиров ания

Генератор скриптов

J Синтезатор схемы

Си-программа для связи с HES через PLI-интерфейс, DLL

X

Имплементатор | "

Генератор файла прошивки

Xilinx FPGA

Active-HDL

DVM

Рис. 6. HES-среда для ускорения моделирования Модель устройства дублируется с помощью реализаванного в С++ транслятора HDL-кода, затем выполняется синтез и имплементация, после чего полученные данные загружаются в микросхему FPGA, расположенную на плате HES. Программа моделирования

Active-HDL используется для запуска TestBench, генерирования тестов, подключения к модели устройства, расположенной в HES-аппаратуре, к программному симулятору и вывода результатов моделирования. Стадии прохождения проекта: верификация на верхнем уровне, синтез, реализация и загрузка в FPGA, аппаратно-программное моделирование. HES платы подключаются к персональному компьютеру через PCI шину.

На рис. 7 представлена интегрированная инструментальная среда моделирования Active-HDL и генератор HDL-кода, позволяющий создавать модели, ориентированные на аппаратную реализацию троичного анализа цифровых изделий. Показаны функции интегрированной среды, практическое использование которой дает новые функциональные возможности и повышение быстродействия благодаря использованию аппаратуры HESTM.

Ввод проекта

Визуализация результатов моделирования

Рис. 7. Инструментальная среда Active-HDL

Стратегия верификации цифровых проектов на основе двойной модели схемы: TestBench [13] генерирует тестовые наборы, передает их на тестируемое устройство, получает результаты и выполняет их анализ.Поддерживается функция учета системного времени PC и выводит его на консоль. Структура HDL-модели для тестирования по двойной схеме (параллельное объединение двух копий моделируемой схемы в одном устройстве): [TestBench (Verilog)] ^ [XXXX_double.vhd] ^ [Copyl (cxxxx.vhd), Copy2 (cxxxx.vhd)]. Для подготовки данных и моделирования на основе платы аппаратного акселератора HES применяется программа DVM (Design Verification Manager), которая управляет процессом верификации цифрового проекта. При синтезе проектов цифровых систем для работы с HES использовались средства: Synplify фирмы Synplicity; Alliance фирмы Xilinx: Alatek DVM. Последняя использует исходные данные о структуре проекта, формируемые на этапе elaboration пакетом Active-HDL или Riviera. Затем в зависимости от выбраного устройства HES формирует скрипты для запуска программ синтеза и имплементации, с последующим размещением в HES компонентов проекта. HES акселератор работает под операционными системами UNIX, Linux и Windows NT и полностью совместим с программными продуктами: Cadence, Model Technology, Aldec's Riviera™ и Active-HDL™, позволяет обрабатывать смешанные проекты, содержащие блоки, написанные на VHDL, Verilog, EDIF и Си++. HES технология позволяет повысить быстродействие в 10-1000 раз по сравнению с программным моделированием переходных процессов.

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

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

В результате выполненных исследований была достигнута цель - существенное (x10, x100, x1000) повышение быстродействия синхронного моделирования и временной верификации вычислительных систем на кристаллах путем использования многозначных аппаратных моделей компонентов, позволяющих расширить функциональные возможности средств логического hardware-анализа в целях идентификации переходных процессов и определения состязаний на ранних стадиях проектирования цифровых изделий.

Научная новизна: 1) многозначная аппаратная модель компонентов цифровой системы на кристалле вентильного и регистрового уровней, которая позволяет выполнять анализ переходных процессов с высоким быстродействием, превышающим программные аналоги в (x10, x100, x1000) раз; 2) структурно-функциональная многозначная аппаратная модель цифрового устройства с шинной организацией линий для многократного повышения быстродействия анализа переходных процессов; 3) двухсхемная структурно-функциональная аппаратная модель цифрового устройства для совместного моделирования многозначных входных наборов и многократного повышения быстродействия анализа переходных процессов в последовательностных устройствах; 4) автоматная модель процесса трансляции HDL-кода в структуры данных для анализа и верификации цифровой системы на кристалле с использованием аппаратуры Aldec HESTM (Hardware Embedded Simulator), интегрированная в маршрут проектирования и верификации.

Практическая значимость: 1) реализация программно-аппаратного комплекса MV-HES (Multi-Valued Hardware Embedded Simulator), позволяющего верифицировать сложные цифровые SoC на ранних стадиях проектирования; 2) интеграция комплекса MV-HES с программным продуктом Active HDL, что позволило в 2-5 раз сократить общее время верификации цифровых систем большой размерности, реализуемых в ПЛИС.

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

Список литературы: 1.Eichelberger E.B. Hazard Detection in Combinational and Sequentional Switching Circuits// IBM J. of Res. and Develop. 1965. V.9, No 2. P.30-99. l.Fantauzzi G. An Algebraic Model for the Analysis of Logical Circuits // IEEE Trans. on Comput. 1974. С23. No 6. P.576-581. 3Автоматизированное проектирование цифровых устройств/ С.С.Бадулин, Ю.М.Барнаулов и др./ Под ред. С.С. Бадулина.- М.: Радио и связь, 1981. 240с. 4 .Хаханов В.И. Техническая диагностика элементов и узлов персональных компьютеров. Киев: ИЗМН. 1997. 308с. 5. Abramovici M., Breuer M.A. and Friedman A.D. Digital systems testing and testable design. Computer Science Press. 1998. 652 p. 6.Хаханов В.И., КаминскаяМ.А., Егоров А.А., Побеженко И.А. Повышение качества теста на основе технологии Boundary Scan // Радиоэлектроника и информатика. 2004. №№ 3. С. 85-90. 7. IEEE Std 1149.6-2003. Standard for Boundary-Scan Testing of Advanced Digital Networks. New York. 2003. 139p. 8. IEEE 1500 Standard for Embedded Core Test. IEEE Press, New Yourk, 2005. P. 138. 9. Havlicek J., Wolfsthal Y. PSL and SVA: Two standard assertion languages addressing complementary engineering needs//Design & Verification Conference and Exhibition. 2005.P.1-7. 10. OpenVera™ Language Reference Manual: Assertions, version 1.4, Synopsys Inc., April 2004. 136p. 11. IEEE Std 1076-2002, IEEE Standard VHDL Language Reference Manual. 124 p. 12. IEEE Std 1364-2001, IEEE Standard for Verilog Hardware Description Language. Electrical and Electronics Engineers, Inc.USA. 2003. P. 1-23. 13. Bergeron Janick. Writing testbenches: functional verification of HDL models. Boston: Kluwer Academic Publishers. 2001. 354 c. 14.ХахановВ.И., Побеженко И.А., Хасан Ктейман, ВадеГриби. HES-MV - аппаратный метод моделирования устройств. АСУ и ПА. 2005. .№ 4(133). С. 4-12.

Поступила в редколлегию 11.06.2006 Wade Ghribi (Ваде Гриби), аспирант ХНУРЭ. Научные интересы: техническая диагностика, проектирование цифровых устройств, программное обеспечение. Увлечения: литература, музыка, педагогика. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-26. E-mail: [email protected]

Хаханова Ирина Витальевна, докторант ХНУРЭ. Научные интересы: техническая диагностика, цифровое проектирование. Увлечения: литература, музыка, иностранные языки. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-26. E-mail: hahanova@mail,ru Хаханов Владимир Иванович, декан факультета КИУ ХНУРЭ, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.