Проектирование цифровых устройств в системе HLCCAD
Федорцов
А.О.
Гомельский государственный
университет им. Ф. Скорины
fedortsov@gsu.by (0232)
57-91-92
В настоящее время, в связи с повсеместным внедрением цифровой электроники во все сферы жизни, все острее встает проблема эффективной разработки цифровых устройств. Решать эту проблему призваны разнообразные системы проектирования. Об одной из таких систем пойдет речь в этой статье.
Система высокоуровневого проектирования чипов HLCCAD (High Level Chip Computer Aided Design) разработана и продолжает усовершенствоваться в Гомельском государственном университете им. Ф. Скорины. HLCCAD – мощная система разработки цифровых устройств, в том числе микропроцессорных (с поддержкой мультипроцессорности) и программно-аппаратных, работающих под управлением ПК. HLCCAD позволяет производить редактирование, моделирование и анализ работы устройств, а также создавать выходные описания на синтезируемом VHDL для переноса в системы проектирования более низкого уровня с целью окончательного синтеза чипов.
Одним из главных достоинств системы является возможность представления устройств на разных уровнях абстракций для иерархического проектирования. При этом разработка может вестись как сверху вниз (т.е. от более общего уровня к детальному), так и снизу вверх. (когда более сложные компоненты “собираются” из уже готовых).
Каждый компонент в HLCCAD представлен корпусом (т.е. УГО, которым этот компонент обозначается на схемах), а также внутренней схемой либо DLL-моделью. В последнем случае описание логики работы компонента осуществляется на языке высокого уровня (Delphi, C++ и др.). Предусмотрена возможность создавать библиотеки компонентов. Наиболее распространенные элементы (логика, память, регистры, дешифраторы, генераторы и пр.) объединены в библиотеку стандартных компонентов. Эта библиотека является основой для построения схем более сложных устройств.
Система HLCCAD работает в среде Windows 95/98/NT и обладает весьма удобным интерфейсом в лучших традициях стиля Borland Delphi. При входе в систему пользователь обнаруживает два окна – главное и инспектор проектов. В главном окне сосредоточены главное меню и иконки основных команд. Окно инспектора проектов отображает подключенные проекты и их иерархию.
Для просмотра и изменения схем предусмотрено окно редактора, которое открывается из окна инспектора проектов. Окно редактора имеет два режима – редактирование корпусов и редактирование схем. Редактор корпуса предназначен для редактирования УГО компонента. Здесь же задаются различные параметры – количество и типы контактов корпуса, тип внутреннего представления компонента (схема или DLL-модель), величина временной задержки прохождения сигналов через контакты корпуса, пути к файлам с прошивкой для элементов памяти.
Редактор схем позволяет создавать внутреннюю структуру устройства. Чтобы добавить в схему элемент достаточно просто перетащить его из окна инспектора проектов в окно редактора. Редактор позволяет задавать связи между элементами путем рисования линий и шин. Также поддерживаются “невидимые” линии – т.е. для выбранных контактов задаются только имена связей, а контакты с одинаковыми именами связей соединяются невидимой шиной автоматически. Это существенно повышает скорость редактирования и удобочитаемость схем. Простота и удобство редактирования достигаются также за счет таких полезных операций как многоуровневый откат, копирование и вставка элементов и участков схем через буфер, режим “резиновых” линий (т.е. перемещение элемента по схеме без нарушения связей с другими элементами).
После редактирования можно приступать к этапам моделирования и анализа. Система выполняет моделирование с учетом временных задержек и с использованием файлов тестовых последовательностей. При этом в файле тестов содержатся команды, позволяющие подавать входные воздействия в определенные моменты времени и контролировать состояние контактов устройств (проверять на совпадение значений на контакте с тестовым).
Возможно пошаговое моделирование или моделирование в фоновом режиме. При этом можно анализировать результаты уже смоделированного диапазона времени (открывать окна для анализа схем, просмотра истории значений на контактах и т.д.). При пошаговом моделировании можно установить значения на входах схемы и продолжить моделирование с новыми значениями.
HLCCAD предоставляет пользователю мощные средства анализа результатов моделирования. Предусмотрена возможность наблюдать историю смены значений на контактах элементов прямо на схемах, переходя из одного уровня иерархии в другой, или в специальном окне истории значений, в котором собрана информация о том какие значения в какие моменты времени появлялись на контактах. Удобным средством анализа является окно временных диаграмм. Выбор контактов для окон истории значений и временных диаграмм осуществляется перетаскиванием элементов или контактов из окон схемы и дерева модели. При этом может использоваться механизм фильтров – в окна попадают контакты, прошедшие через фильтр (т.е. удовлетворяющие заданным пользователем условиям). Для элементов памяти можно открывать окно дампа и просматривать содержимое. Для всех значений пользователь имеет возможность задавать систему счисления, а также использовать перечисляемые типы.
Если в устройстве применяются микропроцессоры, для них можно открывать окно дизассемблера и следить за ходом выполнения программы одновременно с анализом реакции схемы.
При помощи системы HLCCAD автором был смоделирован внутрисхемный эмулятор ANT-97, описанный в Радиорынке (№1,1998г.). На этапе редактирования из стандартных элементов была создана библиотека микросхем, а также описаны модели микроконтроллера 8031 и параллельного порта ПК на языке высокого уровня (Delphi). Все необходимые компоненты были соответствующим образом соединены в редакторе схем.
Реальный эмулятор работает под управлением программы, запускаемой на ПК, а обмен данными ведется через параллельный порт. При моделировании эмулятора использовалась та же самая программа, но вместо параллельного порта поток ввода / вывода был направлен в специальный файл обмена. Модель использовала файл как источник входных воздействий и направляла туда ответные реакции. При этом управляющая программа могла запускаться на ПК как автономно, так и в стандартном отладчике (Borland C++). В последнем случае программу можно было выполнять по шагам и переключаться в окно HLCCAD для анализа реакции модели.
Моделирование показало адекватность работы реального устройства и его виртуального прототипа, а также позволило выработать стратегию дальнейшего проектирования подобных устройств.
Published by NewIT Labs