- •Введение
- •Раздел 1 Технологии тестирования и верификации цифровых систем на кристаллах
- •1.1. Современные проблемы верификации систем-на-кристаллах
- •1.2. Моделирование на уровне транзакций
- •1.3. Верификация на основе ассерций
- •1.4. Синтез ассерций
- •1.5. Средства верификации цифровых систем с использованием ассерций
- •1.6. Постановка цели и задач диссертационного исследования
- •Раздел 2 модели диагностирования функциональных нарушений hdl-кода цифровых систем на кристаллах
- •2.1. Введение в тему исследования
- •2.2. Модель процессов тестирования и верификации
- •2.3. Модель поиска функциональных нарушений в программе
- •2.4. Дискретная производная как бинарное xor-отношение
- •2.5. Выводы и рекомендации
- •Раздел 3 методы диагностирования функциональных нарушений
- •3.1. Форма представления модели
- •3.2. Метод векторно-логического анализа столбцов
- •3.3. Метод векторно-логического анализа строк
- •3.4. Матричный метод поиска функциональных нарушений в программных блоках
- •3.5. Выводы и рекомендации
- •Раздел 4 инфраструктура встроенного тестирования функциональных нарушений hdl-кода
- •4.1 Мультипроцессорные решения задач сервисного обслуживания
- •4.2. Мультиматричный процессор анализа бинарных операций
- •4.3. Аппаратная реализация мультиматричного процессора
- •4.4. Аппаратная имплементация инфраструктуры тестирования
- •4.5. Система тестирования и верификации hdl-кода
- •4.6. Выводы и рекомендации
- •Заключение
- •Приложение б. Подробный отчёт синтеза
- •Приложение в. Аппаратная имплементация инфраструктуры тестированиия
- •Приложение г. Документы, подтверждающие внедрение
- •Список использованных источников
Раздел 3 методы диагностирования функциональных нарушений
Предлагаются три метода диагностирования функциональных нарушений, основанных на использовании входного воздействия-запроса и библиотеки эталонов, которые формируют производные F путем использования xor-метрики бинарных отношений объектов в векторном логическом пространстве:
На структурно-аналитической модели верификации кода цифровых систем на кристаллах используются методы анализа столбцов, строк и матриц в целом. Модель поиска функциональных нарушений использует механизм ассерций, что дает возможность существенно уменьшить время диагностирования, а также сократить общее время проектирования программных и аппаратных продуктов. Предложенные методы диагностирования функциональных блоков HDL-кода SoC отличаются минимальным набором процессов и ориентированы на встроенное обслуживание программных блоков с использованием ассерционного графа транзакций. Методы совместно с моделями дают возможность осуществлять сервисы: моделирование и верификацию функциональных блоков HDL-кода SoC, оценку качества тестов, построение таблиц функциональных нарушений (ФН); диагностирование с заданной глубиной (до 20 -30 строк) в HDL-коде SoC; исправление ошибок кода на основе использования альтернативных программных блоков.
Цель – существенное уменьшение временных и программно-аппаратных затрат диагностирования и коррекции HDL-кода цифровых систем на кристаллах за счет разработки ассерционно-ориентированных методов верификации, использующих графовые модели описания программного продукта.
Задачи: 1) Создание метода анализа столбцов и структурно-аналитической модели диагностирования программного кода цифровых систем на кристаллах. 2) Усовершенствование метода анализа строк таблицы функциональных нарушений на основе механизма ассерций для повышения быстродействия верификации и диагностирования HDL-кода. 3) Разработка метода определения xor-взаимодействия матриц для решения задач диагностирования функциональных нарушений. 4) Разработка структурно-функциональной графовой модели описания поведения программного продукта для минимизации затрат памяти хранения информации. 5) Верификация методов диагностирования на практических примерах программного кода, подлежащего верификации.
Источники: 1. Модели и методы диагностирования программно-аппаратных компонентов цифровых систем [1-6]. 2. Формы представления цифровых систем на кристаллах [9-14, 28-30, 35-38] для их сервисного обслуживания. 3. Матричные процессоры и вычислительные архитектуры для ускорения процессов тестирования и верификации [31-34].
3.1. Форма представления модели
Существуют три базовые изоморфные формы представления объекта диагностирования: табличная (матричная), аналитическая в виде уравнения ДНФ и графовая, которые порождают различные комбинации моделей:
Интерес представляет определение структуры с минимальным объемом памяти для хранения данных, необходимых для диагностирования программно-аппаратных объектов. Прежде всего следует остановиться на графовой структуре таблиц или матриц, связанных между собой общими переменными.
Метрика оценивания расстояния или качества бинарного взаимодействия, представленная в разд. 2, дает возможность оценивать близость пространственных объектов друг к другу, а также пересечение векторно-логических пространств. Практическим примером полезности интегрального критерия качества может служить стрельба по цели, которая иллюстрируется ранее приведенными диаграммами (рис. 3.1) взаимодействия векторов:
Рис. 3.1. Результаты пересечения двух векторов
1) Снаряд попал точно в цель и поразил ее полностью; 2) Мишень поражена необоснованно большим калибром снаряда; 3) Калибр снаряда недостаточен для поражения крупной цели; 4) Неэффективный и неточный выстрел снарядом большого калибра; 5) Снаряд пролетел мимо мишени. Процесс-модель взаимодействия сопровождается интегральным критерием качества, который оценивает не только попадание или промах, но и эффективность использования калибра оружия. Аналитическая запись обобщенной процесс-модели для выбора лучшего взаимодействия входного запроса m с системой логических ассоциативных отношений представлена в следующем виде:
(3.1)
Комментарии: 1) Функциональность задает аналитическую модель вычислительного процесса в виде предиката, минимизирующего интегральный критерий качества. 2) Структуры данных представлены в виде вершин-таблиц графа , логически взаимодействующих между собой. 3) Вершина графа задается упорядоченной совокупностью вектор-строк ассоциативной таблицы явных решений, где каждая строка представляет собой истинное высказывание. Поскольку функционал, представленный в виде таблицы, не имеет постоянных во времени входных и выходных переменных, то данная структура отличается от последовательной машины фон Неймана, задаваемой конечными автоматами Мили и Мура. Равнозначность всех переменных в векторе создает одинаковые условия их существования, что означает инвариантность решения задач прямой и обратной импликации в пространстве . Ассоциативный вектор определяет собой явное решение, где каждая переменная задается в конечном, многозначном и дискретном алфавите . Взаимодействие , входного вектора-запроса с графом , формирует множество решений с выбором лучшего из них по минимальному критерию качества:
.
Конкретное взаимодействие вершин графа между собой создает функциональность , которая может быть оформлена в следующие структуры: 1) Единственная ассоциативная таблица, содержащая все решения логической задачи в явном виде. Преимущество – максимальное быстродействие параллельного ассоциативного поиска решения по таблице. Недостаток – максимально высокая аппаратурная сложность размещения таблицы большой размерности. 2) Древовидная (графовая) структура бинарных отношений между функциональными примитивами, каждый из которых формирует таблицу истинности для незначительного количества переменных. Преимущество – максимально низкая аппаратурная сложность решения задачи. Недостаток – минимальное быстродействие последовательного ассоциативного поиска решения по дереву. 3) Компромиссная графовая структура логически понятных для пользователя отношений между примитивами, каждый из которых формирует таблицу истинности для логически сильно взаимосвязанных переменных. Преимущество – высокое быстродействие параллельного ассоциативного поиска решений по минимальному числу таблиц, составляющих граф, а также сравнительно невысокая аппаратурная сложность решения задачи. Недостаток – снижение быстродействия из-за последовательной логической обработки графовой структуры явных решений, найденных в таблицах. Разбиение одной таблицы (ассоциативной памяти) на частей приводит к уменьшению аппаратных затрат, выраженных в компонентах (лутах) (LUT – Look Up Table) программируемой логической матрицы [28,29]. Каждая ячейка памяти создается с помощью четырех лутов. Учитывая, что ассоциативную матрицу можно представить квадратом со стороной n, то суммарные аппаратные затраты Z(n) памяти для хранения данных и время T(n) анализа логического ассоциативного графа функционально зависят от числа n разбиений таблицы или числа вершин графа:
. (3.2)
Здесь h – затраты на общую схему управления системой ассоциативных памятей. Платой за уменьшение аппаратуры является снижение быстродействия обработки структуры памятей или увеличение периода анализа компонентов системы. Период обработки одной ассоциативной памяти представлен циклом из 4-х синхроимпульсов. Число разбиений пропорционально увеличивает количество тактов в худшем варианте последовательного соединения памятей. Слагаемое задает время, необходимое для подготовки данных на входе системы, а также для их декодирования на выходе вычислительной структуры. Функциональные зависимости аппаратных затрат и времени анализа графа ассоциативных памятей от числа вершин или разбиений представлены на рис.3.2.
Обобщенная функция эффективности графовой структуры программного HDL-кода от числа вершин
(3.3)
позволяет определить оптимальное разбиение совокупного и наперед заданного объема ассоциативной памяти [11]. В случае, представленном на рис. 3.2, лучшее разбиение есть минимум аддитивной функции, который определяется значением k, обращающим производную функции в нуль: , , , k = 4.
Рис.3.2. Функции аппаратуры и времени от числа разбиений
Предложенная процесс-модель анализа графа ассоциативных таблиц, а также введенные критерии качества получаемых решений являются основой для разработки специализированных архитектур, ориентированных на параллельное выполнение векторно-логических операций.