Средства разработки приложений


Смежные работы - часть 4


Данное описание используется для кодогенератора компилятора.
  • Описание компонент (функциональные устройства, шины, порты и т.п.).
  • Описание конвейера и связей компонентов.
  • Описание иерархии памяти (регистровая память, кэш, SRAM, DRAM).
  • Из описания EXPRESSION автоматически генерируются компилятор EXPRESS и симулятор SYMPRESS. К недостаткам решения на основе EXPRESSION следует отнести невысокую скорость симуляции и относительную трудоемкость описания (из-за наличия детальной структурной составляющей). В этом смысле EXPRESSION стоит между чистыми поведенческими ADL решениями (типа nML) и структурными описаниями HDL уровня.

    Язык LISA [21]-[22] разрабатывался в университете RWTH Aachen (Германия) изначально в качестве средства описания аппаратуры для генерации симуляторов. Первые результаты работ по проекту LISA были опубликованы в 1996 году. Первоначальной целевой архитектурой были DSP процессоры. К ключевым характеристикам LISA можно отнести подробное описание конвейера на уровне операций с возможностью задания зависимостей и блокировок. Конвейерные конфликты задаются явно. Каждая команда задается в виде набора операций, которые определяются как регистровые пересылки за время одного кванта синхронизации. Описание LISA состоит из двух основных частей: спецификации ресурсов и описания операций. Описание операций в свою очередь содержит следующие секции:

    • DECLARE (определение объектов и групп через другие объекты и операции - фактически правила грамматики).
    • CODING (описание бинарного кодирования операции).
    • SYNTAX (описание ассемблерного синтаксиса и параметров).
    • BEHAVIOR и EXPRESSION (описание поведения операции в виде кода на языке C/C++).
    • ACTIVATION (описание задержек (timings) и поведения конвейера).

    К сожалению, отсутствует полная публичная спецификация языка LISA, вся информация взята из различных статей. Согласно [20], из всех представленных подходов только система на основе языка EXPRESSION предоставляет средства для описания акселераторов. Однако, она ориентирована только на проведение фазы DSE, в ней отсутствуют такие производственные компоненты как ассемблер, дисассемблер, отладчик.Кроме того, ни одна из систем не поддерживает динамическую настройку компонентов, так как все компоненты создаются специальными генераторами кода в виде исходного кода на C/C++ и необходимо использование внешних компиляторов для получения готовой кросс системы. Настройка обработки ошибок в ассемблере также не поддерживается указанными языками.




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



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