Характеристика | nML | ISDL | EXPRES-SION |
Общие возможности | |||
Описание синтаксиса ассемблера и бинарного кодирования команд | + | + | - |
Описание потактового поведения команд | - | - | неявно |
Описание иерархии памяти | + | + | + |
Описание структуры функциональных модулей | - | - | + |
Поддержка описания различных особенностей аппаратуры | |||
Машинное слово переменной длины | - | + | - |
Межкомандные зависимости | - | + | ? |
Ограничения на комбинации операндов команд | + | + | - |
Конвейер | - | - | + |
Прерывания | - | - | - |
Циклы с нулевой задержкой | - | - | - |
Сопроцессоры | - | - | + |
Периферийные устройства | - | - | - |
Возможности инструментальной поддержки | |||
Генерация симулятора | + | + | + |
Потактово-точная симуляция | - | - | +- |
Скорость симулятора (модельных тактов в сек.) | 106 | ? | 106 |
Генерация ассемблера | + | + | - |
Генерация дисассемблера | + | - | - |
Генерация компоновщика | + | + | - |
Генерация пошагового символьного отладчика | - | - | - |
Интегрированная среда разработки (IDE) | - | - | - |
Таблица 3. Возможности основных современных ADL-языков и соответствующих инструментальных средств поддержки.
Таким образом, ни один из существующих ADL-языков не позволяет описывать потактово-точные модели аппаратуры, включающие в себя все типичные для встраиваемых архитектур возможности: конвейер, прерывания, циклы с нулевой задержкой, периферию, зависимости между командами и отдельными операндами (для диагностики конфликтов). Поддержка расширяемой аппаратуры присутствует только в EXPRESSION, но и там соответствующие описания могут быть созданы только в рамках единой спецификации всей системы, что не позволяет разделять описания отдельных компонентов. Кроме того, ни одно из существующих инструментальных решений на основе ADL-языков не поддерживает генерацию полного набора кросс-инструментов, а скорость работы и удобство использования отдельных получаемых компонентов остаются на низком уровне.