СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович Особенности автоматизированного проектирования генераторов комбинаторного беспорядка ФГУП ВПО «Воронежская государственная лесотехническая академия» ФГУП «НИИ Электронной техники»
В данной работе решаются следующие задачи. Обзор специализированных устройств генерации полных комбинаторных перестановок элементов символьной строки, их применение и особенности. Анализ современного состояния средств САПР таких устройств и направления их текущего развития. Разработка методики проектирования рассматриваемых устройств, позволяющую обеспечить наиболее эффективное проектирование с учетом устройств генерации полных комбинаторных перестановок. Разработка аппаратных моделей и алгоритмов, позволяющих учесть специфику устройств. Разработка проблемно-ориентированного программного обеспечения на основе предложенных аппаратных моделей и алгоритмов и его внедрение в общий маршрут проектирования данных устройств, оценка эффективности разработанных программных средств. 2
Стандартная методология проектирования устройств генерации комбинаторных перестановок Создание поведенческой модели SystemC Системная верификация SystemC Ручное описание модели и тестов на языке SystemC Создание RTL-модели HDL- язык Моделирование и верификация RTL-модели HDL- язык Ручное описание модели и тестов на одном из языков описания аппаратуры (HDL) Библиотека SystemC Библиотеки RTL- моделей Логический синтез Логическое моделирование и верификация Физический синтез и верификация топологий Библиотеки производи- телей СБИС Генерация тестов Статический временной анализ 3
В некоторых приложениях актуальной задачей является фильтрация перестановок, содержащих неподвижные точки. Перестановка будем называть недопустимой, если она содержит одну или несколько неподвижных точек. 4
5
Предложенная методика проектирования устройств генерации комбинаторных перестановок Физический синтез и верификация топологий VHDL Создание поведенческой модели SystemC Генерация описания модели на SystemC C++ Системная верификация SystemC Генерация тестов для поведенческой модели C++ Создание RTL-модели VHDL Генерация описания RTL-модели на VHDL C++ Моделирование и верификация RTL-модели Генерация тестов для RTL-модели C++ Библиотека SystemC Библиотеки RTL- моделей Множество входных параметров генерации перестановок Логический синтез Логическое моделирование и верификация Библиотеки производи- телей СБИС Генерация тестов Статический временной анализ Красным выделены решения, отличающиеся новизной 6
АВCВCАCАВ ВАСАСВСВА АBАB ВА А Полезная длина строки k = 3 Полезная длина строки k = 2 Полезная длина строки k = 1 Циклических сдвигов: 1, перестановок: 2 Циклических сдвигов: 4, перестановок: 6 Результирующее множество перестановок Условная схема предложенного алгоритма генерации комбинаторных перестановок с возможностью отсева недопустимых перестановок (содержащих количество неподвижных точек, превышающих максимально допустимое, для n=3) Алгоритм генерации представляет собой комбинацию двух операций: добавления нового символа в строку (увеличение полезной длины строки) и циклического сдвига строки, что делает данный алгоритм удобным для аппаратной реализации. 7
Схема устройства генерации перестановок включает в себя несколько блоков, каждый из которых имеет свою функциональность: Формирователь исходной символьной строки Формирователь очередной уникальной перестановки Блок отсева перестановок с неподвижными точками Блок приема перестановок Системная модель устройства генерации перестановок описывается с помощью языка SystemC. Каждому подблоку соответствует модуль SystemC. Моделирование генерации перестановок на системном уровне 8
Уровень сигнала на управляющих портах L и S согласно значениям функций (c – внутренний счетчик модуля управления, инкрементирующийся на каждом тактовом импульсе): 9
Входные параметры генерации Модуль программного интерфейса Модуль генерации тестов Модуль генерации IP-блоков (VHDL) Модуль генерации тестов Модуль генерации IP-блоков (SystemC) IP-блоки Модуль подсистемы верификации Генерация RTL-моделиГенерация системной модели Структура системы автоматизации проектирования семейства устройств генерации полных комбинаторных перестановок 10
Длина символьной строки n n = 16n = 24n = 32 Количество логических вентилей Количество строк VHDL-кода Временные затраты, в человеко-днях (стандартная методика) Временные затраты, в человеко-днях (предложенная методика) 111 Сложность логических схем устройств генерации комбинаторных перестановок и оценка временных затрат проектирования Автоматизация процессов аппаратного описания и верификации на системном уровне и RTL-уровне позволяет существенно сократить цикл проектирования за счет исключения процесса ручного описания на одном из HDL-языков. Кроме того, использование разработанных средств повышают эффективность проектирования за счет минимизации общего количества проектных ошибок, что увеличивает качество разработанных специализированных устройств генерации перестановок. 11
1. Проведен анализ современного состояния средств САПР устройств генерации полных комбинаторных перестановок, определены направления их текущего развития. 2. Разработана методика проектирования специализированных устройств, решающих задачу генерации полных комбинаторных перестановок с функцией фильтрации недопустимых перестановок (содержащих неподвижные точки). 3. Разработаны и исследованы аппаратные модели и алгоритмы, позволяющие учесть особенности проектирования данных устройств с возможностью отсеивания недопустимых перестановок. 4. Разработаны программные средства, реализующие подсистему автоматической генерации IP-блоков для формирования множества полных комбинаторных перестановок на системном и RTL уровнях проектирования. 5. Разработанные программные средства внедрены в единую среду сквозного проектирования специализированных устройств генерации перестановок в рамках дизайн-центра ФГУП «НИИ Электронной техники». 6. Подсчитаны трудоемкость и временные затраты проектирования каждого из семейства устройств генерации комбинаторных перестановок и произведена оценка эффективности разработанных средств автоматизации проектирования данных устройств. Основные результаты работы 12