Обзор методов описания встраиваемой аппаратуры

         

Характеристики языков


Метод



Характеристика

На основе
HDL-языков

(VHDL, Verilog, SystemC)

На основе
ADL-языков

(nML, ISDL, EXPRESSION, …)

На основе языков программирования общего назначения
(С, С++, …)
Уровень детализации описания модели аппаратуры Детальное описание точной структуры на уровне регистровых передач (RTL). Высокоуровневое описание на уровне системы команд и иерархии памяти с элементами структурного описания в некоторых языках. Специальных возможностей для описания аппаратуры нет, но общие возможности языков программирования позволяют задать модель на любом уровне.
Поддержка спецификации расширяемых архитектур Только на уровне модулей Отсутствует (кроме EXPRESSION, но и там без возможности разделения описаний) Специальных возможностей нет, но можно реализовать вручную.
Внесение изменений в спецификацию аппаратуры
на уровне системы команд
Трудоемко из-за структурного характера описания (система команд явно не описывается) Относительно легко и согласованным образом. На основе измененной спецификации инструменты обновляются автоматически. Трудоемко и чревато несогласованностями, так как одно и то же свойство (например, код операции) может быть запрограммировано в нескольких местах разных инструментов.
Построение симулятора Генерируется автоматически Генерируется автоматически Программируется вручную
Точность симуляции Потактово-точная Потактовая точность обычно не достигается Возможно достижение потактовой точности
Скорость симуляции Низкая (~0,05 – 0,1 MIPS) Средняя (~1–5 MIPS) Высокая (~10–20 MIPS)
Построение ассемблера,дисассемблера, компоновщика, отладчика и т.д. Невозможно из-за отсутствия необходимой информации в спецификации Генерируются автоматически. Однако функциональность и скорость работы, как правило, невысокого уровня. Программирование всех необходимых инструментов вручную. Возможно достижение высокого качества по скорости работы и функциональности.