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


ISDL


Язык ISDL был разработан группой CAA (Computer-Aided Automation) университета MIT, США [46] и впервые представлен на конференции по автоматизированному дизайну DAC [47] в 1997 году. Основной специализацией ISDL является описание VLIW-архитектур. Изначально язык задумывался для поддержки настраиваемых компилятора, ассемблера и симулятора, а также генератора Verilog-описаний на основе ISDL-спецификаций. Как и nML, ISDL, главным образом, позволяет на основе использования атрибутной грамматики описывать систему команд процессора, включающую в себя семантику поведения, синтаксис ассемблера, машинные коды, а также описание ресурсных конфликтов. К важным достоинствам языка можно отнести возможность специфицировать задержки и конфликтные ситуации для параллелизма уровня команд (Instruction Level Parallelism, ILP) в виде логических правил, хотя явное описание конвейера отсутствует. Описание ISDL состоит из следующих секций:

  • Format – формат машинного слова (разбиение на именованные битовые поля);
  • Global_Definitions – глобальные определения лексем (Token) и нетерминальных символов (Non_Terminal);

  • Storage – элементы-хранилища (регистры, память, стек, управляющие и специальные регистры);

  • Instruction_Set – спецификация системы команд в виде набора операций, описание каждой из которых включает следующие атрибуты:

    • мнемоника;
    • параметры в виде лексем и нетерминальных символов;

    • бинарное кодирование в машинном слове;

    • поведение в виде RTL описания над ресурсами-хранилищами;

    • время выполнения и другие параметры стоимости (например, энергопотребление):

    • задержки;

  • Constraints – ограничения на совместимость различных операций, как в рамках одной инструкции, так и между соседними инструкциями, а также ограничения в ассемблерном синтаксисе; ограничения записываются в виде логических правил, включающих в себя ссылки на параметры, константы и логические операции.

Описание тривиального процессора в ISDL приведено в примере 6. SECTION Format IW = OPF[4], DSTF[4], SRCF[4];




Начало  Назад  Вперед



Книжный магазин