Научная статья на тему 'Тестирование и верификация HDL-моделей компонентов SoC. I'

Тестирование и верификация HDL-моделей компонентов SoC. I Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хаханов Владимир Иванович, Литвинова Евгения Ивановна, Чумаченко Светлана Викторовна, Побеженко Ирина Александровна, Ngene Christopher Umerah

Предлагается технология тестирования и верификации системных HDL-моделей, ориентированная на существенное повышение качества проектируемых компонентов цифровых систем на кристаллах (yield) и уменьшение времени разработки (time-to-market) путем использования среды моделирования, тестопригодного анализа логической структуры HDL-программы для квазиоптимального размещения механизма ассерций.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хаханов Владимир Иванович, Литвинова Евгения Ивановна, Чумаченко Светлана Викторовна, Побеженко Ирина Александровна, Ngene Christopher Umerah

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

Testing and verification of HDL-models for SOC components. I

The innovative technologies for hardware and software testable design, focused to the test generation and verification for digital system on-a-chip components, are considered. The proposed technology for testing and verification of system HDL-models enables to increase the quality of a digital system and to decrease the time-to-market.

Текст научной работы на тему «Тестирование и верификация HDL-моделей компонентов SoC. I»

ИНЖЕНЕРИЯ И ТЕХНИЧЕСКАЯ ДИАГНОСТИКА

УДК681.326:519.613

ТЕСТИРОВАНИЕ И ВЕРИФИКАЦИЯ HDL-МОДЕЛЕЙ КОМПОНЕНТОВ SOC. I

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

ЧУМАЧЕНКО С.В.. ПОБЕЖЕНКО И.A., NGENE CHRISTOPHER UMERAH____________________

Предлагается технология тестирования и верификации системных HDL-моделей, ориентированная на существенное повышение качества проектируемых компонентов цифровых систем на кристаллах (yield) и уменьшение времени разработки (time-to-market) путем использования среды моделирования, тестопригодного анализа логической структуры HDL-программы для квазиоптимального размещения механизма ассерций.

1. Введение

Технология тестирования и верификации системных HDL-моделей позволяет осуществлять поиск ошибок с заданной глубиной в программном HDL-коде за приемлемое для разработчика время путем введения в критические точки программной модели ассерци-онной избыточности, определяемые с помощью синтезированных логических функций тестопригодности. Таким образом, используемые в hardware design and test критерии управляемости и наблюдаемости применены для оценки качества программного кода в целях его улучшения и эффективного диагностирования семантических ошибок.

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

Задачи исследования: 1. Классификация технологий тестопригодного проектирования HDL-моделей для создания цифровых систем на кристаллах. 2. Разработка модели верификации и тестирования системной HDL-модели на основе использования ассерций. 3. Разработка метрики оценивания тестопригодности HDL-моделей на основе новой логической функции тестопригодности. 4. Применение технологической модели ассерций для верификации IP-core фильтра на основе дискретного косинусного преобразования. 5. Практические результаты и направления дальнейших исследований.

Источники исследования: 1. Технологии и средства создания тестов и testbench представлены в работах

[1-3]. 2. Модели и методы верификации системных моделей на основе механизма ассерций описаны в публикациях [4-7]. Тестопригодное проектирование программных продуктов использует стандарты IEEE [8-10], а также инновационные решения для верификации и анализа тестопригодности системных HDL-моделей [11-17].

2. Тестопригодность программно-аппаратных продуктов

Инициирующим ядром появления новых технологий тестирования и верификации в программной и компьютерной инженерии следует считать силиконовый кристалл, являющийся основой для создания вычислительных и/ил и коммуникационныху стройств. Кристалл рассматривается как испытательный полигон для апробации новых средств и методов трассировки, размещения, синтеза и анализа компонентов. Технологические решения, выдержавшие испытания временем в микроэлектронике, далее захватываются и адаптируются к макроэлектронике, представленной компьютерными системами и сетями. Вот некоторые исторические факты, связанные с преемственностью развития и взаимопроникновения технологических инноваций в программных и аппаратных продуктах.

1. Стандарты граничного сканирования [4] на уровне платы и кристалла привели к появлению механизма ассерций для тестирования иверификации программных продуктов.

2. Метрику анализа тестопригодности [1,2] (управляемости и наблюдаемости) цифровых структур можно адаптировать для оценки программного кода в целях определения критических мест и последующего улучшения программного продукта относительно уменьшения времени верификации и повышения его качества.

3. Технологии анализа качества покрытия [18] наперед заданных неисправностей тестовыми последовательностями используются для создания таблицы покрытия функциональностей программных проду ктов модулем testbench в целях оценки достоверности тестов, установления диагноза и исправления ошибок.

4. Ерафовые модели регистровых передач Тэтта-Аб-рахама [15], С.Е. Шаршунова [16-17] используются при тестировании программных продуктов, которые, путем их структурно-логического анализа, приводятся к более технологичной форме. Таковой является транзакционный граф как модель HDL-кода, записываемый в виде алгебраической формы представления графа для подсчета тестопригодности в целях определения критических компонентов (точек) программы для установки ассерций.

5. Разделение автомата на управляющую [1,7] и операционную части применяется дляу прощения процесса синтеза testbench и верификации программного кода на основе синтеза графов управления и транзакционной передачи данных.

38

РИ, 2009, № 3

6. Кривая жизненного цикла аппаратного изделия [8,9] также адекватно отображает временные стадии изменения yield при создании, тиражировании и сопровождении программного продукта.

7. Платформенно-ориентированный синтез [3] HDL-кода (platform-based electronic system-level design) с использованием существующих наборов компонентов (chipset) под управлением GUI изоморфен технологии объектно-ориентированного программирования на основе использования наработанных ведущими компаниями библиотек. Применение технологии Electronic System Level (ESL) [3] в программировании дает возможность использовать программные компоненты готовых функциональностей из базовых библиотек, используемых для создания новых программных продуктов. В этом случае основная процедура проектирования заключается в выполнении мэп-пинга, который ориентирован на покрытие функций спецификации существующими компонентами, где новый код составляет не более 10% проекта.

8. Понятие теста проверки неисправностей или функциональностей. используемое для тестирования аппаратных проектов, применяется в качестве testbench [6] для верификации и отладки программных продуктов, представленных описаниями на уровне системных языков (C++, SystemVerilog, Vera, е).

9. Платформенно-ориентированный синтез [3] testbench (platform-based testbench synthesis) с использованием существующих библиотек тестов (ALINT) для reusable стандартизованных функциональных компонентов используется для генерирования тестов программных модулей на основе наработанных библиотек от ведущих компаний планеты.

10. Стандартные решения сервисного обслуживания функциональностей F-IP в рамках инфраструктуры IIP [12] используются для создания инфраструктуры встроенной верификации компонентов программного продукта в целяхустранения ошибок дефектного программного модуля.

11. Обеспечение двумерности структуры взаимосвязанных функциональных компонентов (IP-cores) создаваемого программного продукта ориентировано на использование мультиядерных архитектур для технологичного распараллеливания вычислительных процессов тестирования и верификации, что существенно уменьшает параметр time-to-market.

12. Создание адресного пространства для функциональностей SoC, реализованных как в аппаратном, так и в программном исполнении [9-11], предоставляет цифровой системе замечательное свойство самовосстановления работоспособности программных и аппаратных компонентов путем использования альтернативных или избыточных ресурсов инфраструктуры сервисного обслуживания І-IP. Примером тому может служить мультипроцессорное исполнение аппаратных продуктов, которое является устойчивым к возникающим дефектам. При этом отказавший адре-

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

13. Интересной и рыночно привлекательной является проблема автономного внутрикристального встроенного тестирования, диагностирования и ремонта без применения внешних средств [9-11], которой занимаются все ведущие компании. К решению проблемы привлекаются современные беспроводные и Internet технологии дистанционного сервисного обслуживания. Обратная сторона медали заключается в несанкционированном доступе к содержимому кристалла на расстоянии, что может привести к нежелательным деструктивным последствиям и выводу из строя цифрового изделия. Тем не менее, специфика современных цифровых систем на кристаллах заключается в удивительной возможности исправлять ошибки на расстоянии, благодаря наличию связи кристалла с внешним миром посредством Internet или беспроводных технологий (wi-fi, wi-max, bluetooth, satellite), присутствующих в силиконе. Дистанционная коррекция программных ошибок становится возможной благодаря использованию памяти (занимающей до 94% силикона) SoC для хранения программ, куда можно, в случае обнаружения некорректности, записать новый код, не имеющий ошибок. Дистанционная коррекция аппаратных ошибок стала возможной благодаря использованию программируемых логических интегральных схем, куда можно, в случае обнаружения неисправности, записать новый bit stream, не имеющий ошибок, который фактически создает новую аппаратуру путем повторного программирования кристалла.

Сближение и взаимопроникновение технологий приводит к изоморфным методам проектирования, тестирования и верификации по отношению к программным и аппаратным комплексам, что по существу является закономерным процессом ассимиляции прогрессивных концепций и решений. Тому способствует факт, что наиболее важные параметры жизненного цикла изделия, такие как time-to-market и yield становятся соизмеримыми по времени и выходу годной продукции. Кривая жизненного цикла аппаратного изделия, представленная на рис. 1, с точностью до изоморфизма отображает временные этапы программного продукта, который проходит аналогичные стадии: проектирование, увеличение объема выпуска продукции, производство с доработкой и сопровождением изделия. В контексте жизненного цикла существуют две акту альные проблемы, которые связаны с поднятием графика (кривой) вверх по оси ординат, а также с компрессией упомянутой кривой по временной оси, означающей уменьшение параметра time-to-market. Здесь повышение yield происходит на всех стадиях: design-за счетустраненияошибокразработ-

РИ, 2009, № 3

39

ки; production ramp up - за счет исправления кода, имплементированного в память системы на кристалле; volume - за счет выпуска service packs, корректирующих ошибки путем распространения нового кода через Internet или satellites.

Design Production Ramp Up Volume

Рис. 1. График жизненного цикла программно-аппаратного комплекса

Согласно [13] стоимость верификации программноаппаратных продуктов на основе ASIC, IP-core, SoC составляет 70% от общих затрат проектирования. Аналогичная оценка, около 80 %, определяет размерность testbench-кода от общей длины формального описания проекта. Задачи, решаемые в процессе верификации, связаны с устранением ошибок проектирования как можно на более ранней его стадии в целях приведения кода прототипа в соответствие с его спецификацией. Пропуск ошибки увеличивает ее стоимость на порядок при переходе отуровня проектирования блока до уровня кристалла и далее к системе.

Введение в проект программной избыточности - механизма ассерций [15]- позволяет выполнять анализ основных специфицированных условий в процессе моделирования проекта и диагностировать ошибки в случае их обнаружения на ранних стадиях проектирования программы (C++, System Verilog, Vera) или аппаратуры (HDL).

3. Инфраструктура процесса верификации проекта

Модель процесса верификации проекта на системном уровне можно представить в виде обобщенного уравнения диагноза Т © S = L или более подробно для обнаружения ошибок в программных компонентах:

(T,F) © (S. А) = Ls. (1)

Здесь: T.F -тестовые воздействия и функциональное покрытие эталонной модели с ожидаемыми реакциями; S, А - HDL-модель, подлежащая проверке, и механизм ассерций для верификации и точного диагностирования ошибок в программном коде. Тестирование аппаратной реализации основано на использовании аналитического выражения (T)®(S.B) = L], .где В - избыточность в виде регистра граничного сканирования от стандарта IEEE 1500, используемая в

качестве дополнения к функциональной модели для обеспечения требуемой глубины диагностирования компонентов цифровой системы на кристалле. При этом L s. L ]1 -списки ошибок, получаемые на стадиях верификации проекта и тестирования готового цифрового изделия.

Для понимания соотношений между ключевыми понятиями: верификация, валидация, ассерция-вводятся следующие определения [13,14]. Верификация -есть процесс анализа системы или компонентов для определения корректности формальных преобразований входного описания на каждой стадии проектирования. Валидация - есть процесс определения работоспособности системы и ее компонентов путем проверки ее соответствия основным требованиям спецификации после выполнения каждой стадии проектирования. Сертификация - есть письменная гарантия валидности системы (компонентов) требованиям спецификации при ее использовании по назначению. Ассерция - есть высказывание системного уровня, определяющее корректность преобразований в текущем этапе процесса проектирования относительно входного описания или требований спецификации. Следуя данному определению, ассерция записывается в виде предиката Aj =Tj ®Sj —>d(А,) .которыйна множестве состояний эталонной и реальной моделей принимает значения {true -1, false - 0, don't care - X}. Здесь X - неопределенное состояние ассерции или ее отсутствие для анализируемого программного компонента. В соответствии с упомянутым определением и по функциональной реакции d(Aj) на сравнение состояний Tj © Sj ассерции можно дифференциро-ватьнатритипа d(A,) = {Ас, А8, Aw} -прекращение верификации HDL-модели, переход к проверке следующего программного блока, выдача сообщения на консоль. Механизм ассерций - есть система высказываний, представленная в виде вектора А = (А\, А2 А; Ап), а также средства их анализа d(A), предназначенные для верификации и поиска ошибок HDL-модели системного уровня в пространстве и во времени. Цель введения механизма ассерций - получение точного диагноза для устранения семантических ошибок HDL-кода программы. Вектор ассерций ориентирован на проверку функциональностей, не привязанных к параметру времени. Матрица ассерций является более точным инструментом, который рассматривает состояния компонентов HDL-модели во времени и пространстве. Такне же функции -повышение глубины диагностиров ания - имеют место ив стандартах граничного сканирования (IEEE 11.49, IEEE 1500), где тестирование компонентов цифровой системы регулируется контроллером тестового доступа (ТАР).

Стратегииверификацииитестированияимеютразлич-ные модели для приложения технологий, ориентированных на сокращение параметра time-to-market. Итеративный процесс верификации ориентирован на исправление ошибок HDL-модели системного уровня,

40

РИ, 2009, № 3

полученной по спецификации изделия (рис. 2). Конечный результат есть netlist или отлаженная HDL-модель регистрового уровня. Следующий итеративный процесс - синтез и имплементация проекта в силиконовый кристалл. Тестирование здесь проверяет корректность аппаратной имплементации HDL-mo-дели в регистровый или вентильный уровень описания проекта в микросхеме программируемой логики. Для кристаллов ASIC такая технология нецелесообразна, поскольку перепрограммирование ошибки здесь будет стоить до миллиона долларов.

Проектирование Имплементация

Верификация Тестирование

Рис. 2. Стратегия разработки проекта

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

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

Рис. 3. Среда верификации проекта

Среда верификации представлена системой моделирования, блоком тестирования (Testbench), механизмом ассерций (Assertion Engine) и собственно системным кодом модели на языках VHDL, Verilog, System Verilog. Модуль testbench задает входные стимулы и эталонные реакции на них, записанные на HDL-языках, ориентированные на проверку функциональностей (переменные, функции, последовательности), параметры которых определяются в корзине функционального покрытия. Механизм ассерций - модельная избыточность, дополняющая testbench, в части про-

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

Интерес представляет и последовательность действий по созданию среды верификации, где единственным аргументом является спецификация проекта, все остальное - производные от нее. На рис. 4 изображена структура взаимосвязей процесса проектирования и диагностирования для исправления ошибок в HDL-коде программы.

Рис. 4. Маршрут верификации проекта

Практически, если выполнены условия тестопригодности и правильно расставлены ассерции в критических точках программного кода для диагностирования всех компонентов, то процедура совместного моделирования механизма ассерций и HDL-модели может однозначно идентифицировать последовательность строк программного кода с семантической ошибкой. Testbench и вектор (матрица) ассерций должны создаваться независимо от HDL-модели и другим разработчиком. Это обеспечивает диверсификацию упомянутых моделей относительно единой спецификации, а также обнаружение и исправление ошибок в HDL-проекте. Таким образом, в процессе создания системного кода проекта разработчик должен ориентироваться на технологичные и простые процедуры процесса верификации HDL-модели, что означает - выполнять достаточно простые условия тестопригодности (см. рис. 4). Здесь необходимо решать задачи: 1) Написание testbench и генерирование функциональных покрытий. 2) Определение критических точек программного кода для установки ассерций. 3) Корректное написание самих ассерций. 4) Создание эффективных алгоритмов диагностирования семантических ошибок в HDL-коде на основе анализа системы ассерций, как реакции на тест эталонной и реальной моделей в процессе моделирования проекта.

РИ, 2009, № 3

41

4. Аналитическая модель инфраструктуры верификации

Для идентификации обобщенного состояния HDL-модели формируются эталонные реакции (сигнатуры) критических точек (переменные, регистры, память) во времени и в пространстве. Затем выполняется анализ HDL-моделив целях ее диагностирования путем сравнения эталонных и экспериментальных реакций (сигнатур) для формирования ассерционного вектора, описывающего сравнение состояний (эталонного и реального) компонентов объекта во времени и в пространстве. Целесообразно формировать ассерцион-ный вектор независимо от HDL-модели проекта. Ас-серционная и функциональная модели обрабатываются параллельно и независимо друг от друга средой моделирования. Ассерционная модель определяет отклонения от поведения объекта в существенных точках пространственно-временной эталонной структу -ры. Формат ассерций должен соответствовать формату HDL-модели проекта. Ассерции ориентированы на диагностирование семантических ошибок HDL-модели путем использования testbench и MUV. Аналитическая модель инфраструктуры верификации представлена в следующем виде (Р - спецификация проекта, S - soft-модель, А - ассерционная модель, Т -testbench, F - корзина покрытия функциональностей, d - модуль диагностирования ошибок и С - условия диагностирования ошибок):

M = {P.S. A.T.F.d. С},

1) S = Ц (Р) = (Si. S2 S; Sn);

2) F = f2(P,S) = (Fj,F2.Fj.Fn};

3) T = f3(P.S.F)={TbT2..Ті...Tn};

4) A = f4(P,S,F,T) = (Aj,A2 A, An);

5) d = f5(P.S.F,T, A) =

= (l1-l2..Li...Ln)6(Ls-Lh}- (2)

6) C = [(jFi є F = P] a[ 1J T; є T = F];

i=l i=l

7) Ls =(T.F)©(S.A);

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

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

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

глубиной диагностиров ания. Т акие координаты идентифицируются единицами. В процессе моделирования координаты вектора модифицируются в сторону уменьшения единиц. Каждой координате вектора А ставится в соответствие список всех вершин предшественников транзакционного графа программного кода. Координатам вектора соответствует матрица достижимостей транзакционного графа или списки вершин-предшественников, заданные в любой другой форме. Flo фактическому двоичному состоянию элементов вектора А выполняется безусловная процедура диагностирования списка L неисправных программных блоков d(A), определяемая следующими выражениями [18]:

LS(A) = ( П Aj) \ ( U Аі);

Vi(Aj = 1) Vi(Aj = 0)

Lm(A) = ( U Aj)\( U Aj). (3) Vi(Aj = 1) Vi(Aj = 0)

Система уравнений предназначена для поиска одиночных и кратных ошибок путем использования вектора ассерционных состояний. Длина ассерционного вектора равна числу вершин в графе или количеству программных блоков в функционально-логической структуре HDL-кода. Векторная модель среды верификации имеет вид:

В процессе моделирования выполняется сравнение реакций testbench и HDL-модели, что формирует состояния координат ассерционного вектора:

Ai =f(Ti.Si) = T1®Si. Аі ={0Л,Х}.

Затем существенные {0,1}-координаты вектора ассерций маскируют матрицу достижимостей для получения списка программных блоков с ошибками путем выполнения одной из процедур, определенных в (3).

5. Анализ тестопригодности программных HDL-моделей

Достаточно существенная избыточность HDL-модели предполагает ее эффективное использование в целях повышения тестопригодности структуры разработанного или написанного кода. Существующие стандарты тестопригодного проекторов ания аппаратуры можно адаптировать верификации HDL-кода системных и регистровых программных моделей. Для этого используется граф регистровых или транзакционных передач С.Г. Шаршунова [10], который предоставляет пользователю информацию о взаимосвязях булевых и регистровых переменных, памяти и интерфейсных шинах. Такие данные достаточно легко можно получить автоматически, анализируя синтаксис строк HDL-кода. Сгенерированный граф должен покрывать функциональности компонентов программной моде-

42

РИ, 2009, № 3

ли и задавать все существующие связи для приема, передачи и преобразования информации между вершинами графа транзакций (TG - Transaction Graph) [18]. Для интегрального оценивания тестопригодности Q транзакционного графа вводятся следующие критерии:

В общем случае тестопригодность рассматриваемой вершины ориентированного графа может быть представлена логической функцией, заданной в виде конъюнктивной нормальной формы (КНФ). При этом управляемость и наблюдаемость будетопределяться оценкой по Квайну вычислительной сложности КНФ.

Q =

__________Z(S)__________

Z(S) + Z(F) + Z(T) + Z( A)

xifxUiXNO; n i=l

1 xi ,

U; = — У T1 X-■ ТУ J

1

J=1

dr vt

1 Уі . 1

N, = — У T1 x T ■ і J

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

j=l

dfvtf

(5)

У правляемость и наблюдаемость есть метрика оценивания тестопригодности не соединительных линий, а компонентов HDL-кода, таких как: регистр, счетчик, память или массивы, вход-выходные шины, векторы, логические или арифметические переменные.

Указанные выше характеристики имеют функциональную зависимость от структурной глубины нахождения компонента (относительно входов) или длины конъюнктивного терма - dx / Гх (сК v t;' - относительно выходов), а также от процентного отношения

1 1 j

числа команд — У Т , имеющих входной (выходной Т У J

J=1

- — УТ- ) досту п к вершине при анализе данной

программы. Тестопригодность Q, представленная в (5), зависит от управляемости U, наблюдаемости (N), а также отмодельной избыточности (Z), представленной компонентами: метрика функционального покрытия (F), testbench (В), механизм ассерций (А). Управляемость (наблюдаемость) есть функция от числа операторов, входящих в вершину (исходящих из вершины) транзакционного графа, а также от структурной глубины рассматриваемого элемента - расстояния от входов (выходов) или от количества временных тактов, необходимых для управления (наблюдения) компонента в заданном состоянии на временной оси.

Приведенный критерий тестопригодности может быть также использован и для оценки качеств а граф-схемы управления вычислительным процессом. Здесь рассматриваются операторные вершины, нагруженные входными условиями, а также позиция вершины по отношению к началу или окончанию схемы управления. Позиция операторной вершины коррелиру ется с временным тактом управления вычислительным процессом. Количество условий выполнения совокупности операций в каждой вершине, объединенное операцией Or, повышает тестопригодность графа в части управляемости. Аналогично вычисляется наблюдаемость, на котору ю влияет структурная глубина и мощность условий, создаваемая операциями And, Or.

РИ, 2009, № 3

В общем случае логические функции управляемости и наблюдаемости текущей вершины (транзакционного) графа задаются конъюнкцией дизъюнктивных термов - первая строка в (6):

V

п; у;

f Ш Л1 v і- “г Гі ..

1) Ur = A(v Tx.):Nl = a(v TF): r ■ 1 ■ 1 nr r ■ ,v ■ , ni

1=1 J=1 J 1=1 J=1 J

xr n;

(6)

2) UJ- = у (a T.X);N[ = у (л T2

i=1 j=l 4

i=l j=l

Здесь функция управляемости и [ (наблюдаемости N j. ) определяется конъюнкцией всех вершин-пред-шественников пх (преемников П|у), где каждая из них имеет х j входящих (исходящих у j) дуг-транзакций, соединенных знаками дизъюнкции.

Мощность дизъюнктивных термов соответствует количеству входящих в вершину дуг, а число конъюнкций есть стру ктурная глубина местоположения рассматриваемого компонента в транзакционном графе. Далее конъюнктивная форма преобразуется к виду ДНФ - вторая строка в (6), где число термов для функцииуправляемости (наблюдаемости) хг(уг) равно всем возможным путям формирования состояния рассматриваемой вершины, а длина терма у правляемости (наблюдаемости) п .х | п ? | есть условие достижимости вершины - структурная глубина от входов (выходов).

Интересным представляется нестандартное решение, когда критерии управляемости и наблюдаемости текущей вершины транзакционного графа вычисляются на основании построенных логических функций управляемости и наблюдаемости (U j. N j) и интегральной оценки тестопригодности (Q) при использовании аппарата - алгебраической формы представления графа [ 18]. Формулы подсчета упомянутых оценок имеют следу ющий вид:

1 nt кі

Ui —х 2 2 0 max

linaxxnt i=lj=l

1 п1Ук17 у

Ni - —“ ~ >: I! Z (t max

tmaxxllt i--'l.i=l

+ 1):

t’

+ 1):

(7)

Q = -£(U1xN1), n,=l

tx nx Vх

где tmax'nt •

- конъюнктивным терм макси-

мальном длины для определения критерия управляемости; количество термов в логической функции

1

43

управляемости; количество транзакций (букв) в текущем терме функции; мощность рассматриваемой транзакции в терме. Аналогичные обозначения используются и при подсчете критерия наблюдаемости -

• jj каждой вершины транзакционного

графа.

Для фрагмента графа, представленного на рис. 5, преобразование конъюнктивной формы в дизъюнктивную структуру для вершин V| - V3 по выражению (6) формирует логические функции управляемости:

t- п

lmax* ui

у ь\ і ‘

N(Vl):

1 max

х 11:

“t kf v

"x Z ZOinax

i=lj=l

+ D =

= —!— x (3 + 2 + 2 + 1 + 1)= — = 0,6. 3x5 15

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

U1 (Vi) = Ti vT2 vT3;

Uf (У2) = (Tj v T2 v T3)T5 v T4 v Тб =

= T|T5 v T2T5 v T3T5 v T4 v T6;

Uf(V3) = (Tj v T2 v Т3)Т3Т§ v (T4 v Тб)Т§ v (T7 v T9) = TjTsTg v T2T5T8 v T3T5T8 v T4T8 v T6T8 v T7 v T9.

U1 =

n"k‘ x >

ЕПьіі (tr‘nax i=lj=l J

+1)

X

max

nt Ki v

x(Zrib>)

i=ij=i •

N; =

Z ПЬ^Сах

.=1.1=1 "

+ 1)

nfkf

tLxX(ZnbJ)

i=lj=l '

(8)

Рис. 5. Фрагмент графа для подсчета управляемости

Следуя правилам формулы (7), определяется управляемость компонента V3:

1 х

U(V3) = ---------* I К1 шах

Чпах * !1t i=l j=l

+ D =

= (1 + 1 + 1 + 2 + 2+ 3 + 3) = 0,61.

3x7

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

Nf (Vj) - Т6 vТ7(Т3 vТ5 vT4(Tj vT2) -= Тб v Т7Т3 v Т7Т5 v Т7Т4Т[ v Т7Т4Т2;

(V2) = Т3 v Т5 v Т4 (Т[ v Т2) =

= Т3 v Т5 v Г4Т, v Т4Т2; V3 = 7] v Т2.

Рис. 6. Фрагмент графа для подсчета наблюдаемости

По правилам (7) также определяется управляемость компонента V] :

6. Выводы

Рассмотрены инновационные технологии тестопригодного проектирования программных и аппаратных прод) ктов [1-17], ориентированные на эффективную разработку тестов и верификацию компонентов цифровых систем на кристаллах.

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

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

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

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

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

Литература: 1. Abramovici М., BreuerM.A. and Friedman A.D. Digital System Testing and Testable Design. Computer Science Press. 1998. 652 p. 2. Bayraktaroglu Ismet, Orailoglu Alex. The Construction of Optimal Deterministic Partitionings in Scan-Based BIST Fault Diagnosis: Mathematical Foundations and Cost-Effective Implementations // IEEE Transactions on Computers. 2005. P.61-75. 3. Douglas Densmore, Roberto Passerone, Alberto Sangiovanni-Vincentelli. A Platform-Based taxonomy for ESL Design //

44

РИ, 2009, № 3

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-ЭЛЕМЕНТОВ В УСТРОЙСТВЕ УПРАВЛЕНИЯ С ОБЩЕЙ ПАМЯТЬЮ

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

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

Предлагается метод уменьшения числа 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: [email protected].

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

Побеженко Ирина Александровна, аспирантка кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем и сетей. Адрес: Украина, 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

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