Для перевода проекта из базиса ПЛИС в базис БМК, требуется совмещение по функциональным возможностям нескольких систем автоматизированного проектирования (САПР), работающих в различных базисах. Решение данной проблемы состоит в написании конвертора, который переводил бы выходные файлы одного пакета программ во входные файлы другой системы проектирования. Рассматриваемый конвертор ConvChip позволяет переводить экспортные файлы проектов ПЛИС из системы проектирования Max+Plus II фирмы Altera, в импортные файлы проекта БМК системы моделирования Невод. Основная цель данного конвертора состоит в переводе схемы из языка EDIF на язык структур, конвертировании тестовых векторов и прочей технической информации, необходимой для изготовления схемы.
Процесс конвертирования разделяется на несколько этапов:
а) формальный перевод схемы и тестов;
б) автоматическая модификация схемы и тестов;
в) ручная модификация схемы и тестов.
Остановимся по подробнее на каждом этапе.
а) Формальный перевод схемы состоит в переводе структуры схемы состоящей из списка цепей и элементов из формата EDIF в формат STR. При этом не производятся какие либо изменения в самой структуре.
Формальный перевод тестов состоит в переводе тестовых векторов полученных при моделировании ПЛИС в САПР Max+Plus II из формата TBL в формат TES. При этом не производятся, какие либо изменения в самом тесте.
б)При автоматической модификации происходят стандартные изменения в проекте, которые необходимы практически для любого проекта ПЛИС экспортированного из САПР Max+Plus II.
При автоматической модификации структуры выполняются следующие функции:
1) устранения избыточности из схемы, т.е. удаление вентилей которые не влияют на логику работы схемы и связанны с особенностями архитектуры ПЛИС;
2) добавление в схему БМК цепь сброса триггеров;
3) ввод управляющих блоков, для каждого двунаправленного вывода.
4) устранение обрывов цепей, появляющихся из-за не правильного экспортирования структуры из Max+Plus II;
При автоматической модификации тестов выполняются следующие функции:
1) Тестовые вектора в Max+Plus II имеют разную длительность, а в Неводе одинаковую. Поэтому конвертор производит вычисление периода, одинакового для всего теста, который равен наиболее длительному переходному процессу, который появляется в тесте. На основе этого периода строится временная сетка для всех тестовых векторов;
2) Конвертор объединяет несколько тестов, при этом если в одном тесте существуют выводы, которых нет в другом, то выводы доопределяются;
3) Конвертор производит "чистку" проекта от переходных процессов, т.е. удаляет все вектора кроме последнего для каждого входного воздействия. Поэтому тест содержит вектора, в которых реакция схемы полностью определена;
4) Если входные сигналы в тесте изменились до момента окончания переходных процессов, то реакция схемы на некоторых выходах будет не определённой. Конвертор позволяет маскировать такие вектора.
в) При ручной модификации происходят не стандартные изменения в проекте, которые необходимы практически для любого проекта ПЛИС экспортированного из САПР Max+Plus II. Данные изменения разработчик производит самостоятельно методом анализа тестовых значений внутренних точек схемы в базисах ПЛИС и БМК. Данное средство необходимо, т.к. после конвертирования проекта ПЛИС, программа Невод выдаёт множество ошибок на этапе моделирования схемы в базисе БМК. Эти ошибки связанны с существенными различиями в архитектурах ПЛИС и БМК, а также специфическими требованиями контрольного и измерительного оборудования для микросхем на базе БМК.