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