Сложность разрабатываемых интегральных схем неуклонно возрастает, поскольку увеличивается количество логических вентилей на одном кристалле. Обнаружение и исправление ошибки на готовом кристалле является очень дорогостоящим и медленным подходом к отладке. Такое положение требует от разработчика современных интегральных схем более развитых программных средств разработки, моделирования и тестирования.
Для решения данных проблем в Гомельском госуниверситете была разработана среда HLCCAD. Первая версия программного продукта была выпущена в 1998 году. Среда внедрена в учебный процесс. С ее помощью проводились разработки реальных проектов.
Среда HLCCAD предназначена для поддержки процесса проектирования, моделирования, отладки и тестирования моделей цифровых систем и позволяет:
К отличительным достоинствам среды HLCCAD можно отнести:
- моделирование систем, включающих сложные устройства (RISC,
CISC,DSP-процессоры и др.) и внешнюю среду - моделирование гетерогенных мультипроцессорных систем - взаимодействие моделей устройств с внешними приложениями и аппаратными средствами компьютера - развитые средства тестирования и анализа - высокую скорость моделирования и низкие требования к инструментальной машине, - средства автоматизированной генерации схем - средства синтеза VHDL-описаний (для расширения стандартных библиотек) - технология разработки моделей процессоров на языках программирования высокого уровня - возможность загрузки части схемы в ПЛИС, что обеспечивает симуляцию, аппаратную акселерацию и эмуляцию схем с анализом результатов в HLCCAD - возможность загрузки VHDL-описаний в ПЛИС - и их эмуляции (таким образом, используя VHDL-описания в качестве входных) - наличие параметризованного проекта процессора (на базе 8051) - база для отладки системы синтеза микропрограммных автоматов - возможность использовать модели в виде микропрограмм - наличие языка сценария и множества тестовых проектов - средства регрессионного тестирования.
В настоящее время ведутся работы над поддержкой моделирования VHDL, что позволит использовать синтезируемые VHDL-описания в качестве входных.
В среде реализован событийный механизм моделирования. Моделирование разработанной схемы выполняется с учетом временных задержек и использованием тестовых воздействий. Возможно пошаговое моделирование. Процесс моделирования реализуется в фоновом режиме. Параллельно моделированию можно анализировать результаты уже смоделированного диапазона времени (открывать окна для анализа схем, просмотра истории значений на контактах и т.д.). При пошаговом моделировании возможно интерактивное изменение состояний схемы и моделирование с новыми значениями.
В среде предусмотрены различные способы подачи тестовых воздействий на схему проекта традиционными способами:
Для анализа результатов моделирования предусмотрен ряд окон:
Практически все окна обладают системой гибких настроек, позволяющих менять систему счисления для адресов, значений и многие другие параметры.
Среда позволяет автоматически получить описание модели в синтезируемом подмножестве VHDL для разработанной в HLCCAD схемы устройства. Для этого достаточно, чтобы все высокоуровневые модели (модели, представленные исполняемой моделью на языке программирования) имели описание своей работы на VHDL. В частности, все модели из стандартной библиотеки (параметризированная библиотека устройств, включающая модели логических схем, регистров, счётчиков, ОЗУ, ПЗУ, шифраторы, мультиплексоры, умножители и многие другие) такое описание имеют, т.е. если в схеме используются устройства только из этой библиотеки, то можно получить описание в синтезируемом подмножестве VHDL.
Генерация в синтезируемом подмножестве VHDL является важной частью среды, поскольку дает возможность использовать САПР более низкого уровня для непосредственного синтеза спроектированного в HLCCAD устройства.
В среде возможно создание и использование моделей процессоров. Это дает возможность моделировать в среде HLCCAD работу устройств, содержащих процессоры и их окружение - обеспечивая тем самым моделирование и отладку программно-аппаратных комплексов в непосредственном взаимодействии с симулируемой и реальной внешней средой. HLCCAD поддерживает гетерогенное и распределенное моделирование, когда модель аппаратной части в HLCCAD обменивается данными с моделью программной части, исполняемой на том же компьютере или любом другом компьютере сети.
Для примера, приведем краткое описание того, как при помощи среды HLCCAD разрабатывался и моделировался внутрисхемный эмулятор ANT-97 ("Радиорынок", №1, 1998г.). Вначале из стандартных элементов была создана библиотека микросхем, а также описаны модели микроконтроллера 8031 и параллельного порта ПК на языке высокого уровня (Delphi). Все необходимые компоненты были соответствующим образом соединены в редакторе схем. Реальный эмулятор работает под управлением программы, запускаемой на ПК, а обмен данными ведется через параллельный порт. При моделировании эмулятора использовалась та же самая программа, но вместо параллельного порта поток ввода-вывода был направлен в специальный файл обмена. Модель использовала файл как источник входных воздействий и направляла туда ответные реакции. При этом управляющая программа могла запускаться на ПК как автономно, так и в стандартном отладчике (Borland C++). В последнем случае программу можно было выполнять по шагам и переключаться в окно HLCCAD для анализа реакции модели. Использование HLCCAD сократило сроки разработки на 60%.
Среда HLCCAD имеет встроенную помощь и документацию на русском и английском языках, интегрирована в систему дистанционного обучения (http://dl.gsu.by), разрабатываемую нами же.