ИНТЕЛЛЕКТУАЛИЗАЦИЯ ПРОЦЕССА ПРОЕКТИРОВАНИЯ АППАРАТУРЫ СРЕДСТВАМИ ЯЗЫКА VHDL

Григорьев А.В., Кошина Д.А.

raai.org/resurs/papers/kii-2006/seminar/Grigorev.doc

Введение

Язык проектирования аппаратуры HDL является основным инструментальным средством многочисленных САПР - Active HDL, OrCAD и т.д. [1-4]. HDL наряду с Virilog является одним из двух наиболее популярных средств проектирования аппаратуры в мире и - самым популярным в Европе.
Процесс проектирования аппаратуры с использованием языка HDL состоит в разработке программы, реализующей необходимый алгоритм функционирования проектируемого устройства. Имеющиеся компиляторы обеспечивают перевод алгоритмов на HDL в схемы, соответствующие выбранной аппаратной базе реализации, например – в ПЛИС. Представление проектов в форме текста в значительной мере свободно от недостатков графических и табличных форм представления проектов, таких как трудоёмкость процедуры ввода, трудность поиска ошибок. Вместе с тем, особо значимыми в этом случае становятся процедуры отладки и верификации проектных решений. К достоинствам описания проекта в текстовом виде (на языках Verilog, VHDL и др.) можно отнести [2]:
Главное достоинство языка HDL - это возможность накопления и повторного использования экспертных знаний об апробированных решениях в форме, удобной для хранения, передачи и редактирования. Однако, в настоящее время нет средств обучения САПР, позволяющих обеспечить процесс передачи экспертных знаний о методиках проектирования либо напрямую – от эксперта, либо на основе ряда примеров, т.е. накопленных апробированных решений. Обеспечение такой возможности позволит повысить эффективность использования САПР на базе языка HDL за счет повышения уровня автоматизации процесса проектирования.
Цель данной работы – описание средств обучения САПР, позволяющих обеспечить процесс передачи экспертных знаний о методиках проектирования путем создания на основе обучения интеллектуальной надстройки в среде специализированной оболочки для создания интеллектуальных САПР.

1. Анализ существующих методов автоматизации проектирования в САПР на базе HDL

В настоящее время в САПР-ах используется версия языка HDL, ориентированная на возможность графического отображения структурной компоненты программ – язык VHDL. Такой язык позволяет совместить достоинства графических моделей устройств и текстовых описаний алгоритмов. Среди имеющихся средств автоматизации создания моделей на языке VHDL в различных САПР можно назвать [2]:
Макросы служат средством автоматизации интерфейса самой системы проектирования и интеграции её в проект создаваемых HDL программ. Они включают: А) описания, заключаемые в системные ключевые слова, исходного набора файлов проекта; Б) входные конкретные данные для программы; В) время симуляции в системе. Во время запуска макроса происходит передача параметров в систему проектирования. У разработчика появляются предпосылки расширить возможности языка за счёт введения собственных макроопределений, ориентированных на класс реализуемых проектов.
Набор подключаемых библиотек констант и функций, применяемых в текстах программ на VHDL, может быть как стандартным, так и определённым пользователем. В нём есть стандартизированные константы и готовые функции, применяемые в текстах программ на VHDL.
Мастера помогают быстро подготовить шаблон для заданной архитектуры программируемой системы и даже определить количество начальных параметров и типов. Но все остальные дальнейшие заботы по написанию кода программ ложатся, естественно, на программиста-разработчика.
Собственно текстовые модельные описания используется в современных САПР очень широко. Можно назвать, для примера, некоторые новые возможности, связанные с использованием текстов в САПР Active HDL 5.1 [5].
Данные возможности можно отнести к достоинствам САПР:
1) В просмотрщике структуры проекта:
- модификация (создание) текстового файла конфигурации VHDL;
2) В графических процессах:
3) В редакторе блок-схем:
Вместе с тем, к типичным недостаткам САПР Active HDL 5.1 можно отнести:

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

Следует отметить, что из названных средств мастера являются самым развитым методом синтеза решений в САПР на базе VHDL. Однако, разработка каждого нового мастера, при условии его полноценного построения, есть задача разработки маленького специализированного САПР, ориентированного на некоторый класс решений (устройств). Разработка каждого нового мастера предполагает творческий процесс программирования, включая:
Перед разработчиком встает задача разработки языка ТЗ, определение состава возможных решений и построение алгоритма выбора нужного решения по заданному набору значений параметров. Т.о., разработка такого мастера есть форма передачи разработчиком своего опыта по проектированию некоторого класса устройств. Недостатки такого пути:
Т.о., такой процесс передачи знаний имеет высокую трудоемкость. С целью повышения эффективности процессов создания мастеров можно применить технологию создания мастера как экспертной системы, способной обучаться, т.е. перенимать опыт проектировщика на ряде примеров или приобретать знания напрямую от эксперта.

3. Предлагаемый путь создания интеллектуальной надстройки

3.1. Общая модель интеллектуальной надстройки


Для решения задачи предлагается использовать путь создания интеллектуальной надстройки над VHDL, описанный в [6-9]. Основанием такого выбора является возможность учесть как достоинства, так и недостатки САПР на базе VHDL.
По классификации, приведенной в [7], любой САПР на базе VHDL, как конкретный проблемно-ориентированный САПР имеет следующие характерные черты: