| |
М. Долинский
Комплекс инстументальных средств разработки встроенных цифровых систем
Введение
B настоящее время встроенные системы имеют значительную и постоянно расширяющуюся сферу применения. Двумя основными тенденциями развития встроенных систем являются увеличивающаяся функциональная сложность проектов и сокращение сроков, отводимых на проектирование. Они обуславливают необходимость разработки всё новых и новых аппаратных средств: микропроцессоров, микроконтрол-леров и ASIP (Application Specific Integrated Processor), реконфигурируемых и динамически конфигурируемых СБИС ПЛ, эволюционного аппаратного обеспечения. Это, в свою очередь, требует новых средств разработки встроенных систем, базирующихся на новом аппаратном обеспечении.
Одним из ключевых свойств новых средств разработки встроенных систем является поддержка совместной разработки программного и аппаратного обеспечения на протяжении всего цикла проектирования.
Хотя исследование и разработка новых методов и средств автоматизации проектирования и моделирования архитектур вычислительных систем ведутся практически с самого начала развития вычислительной техники, работы практической направленности в области совместного проектирования и исследования аппаратного, a также системного и прикладного программного обеспечения, появились только в послед-ние несколько лет.
Основные направления в зарубежных исследованиях по совместному проектированию программного и аппаратного обеспечения:
- оптимальное распределение вершин графа функций встроенной программно-аппаратной системы между аппаратной и программной компонентами;
- автоматизация разработки интерфейса между аппаратным и программным обеспечением по заданному графу функций встроенной аппаратно-программной системы с уже выполненным разбиением функций между программными и аппаратными компонентами;
- получение уточнённых временных характеристик исполнения программного обеспечения с использованием симуляторов архитектуры на уровне системы инструкций, взаимодействующих с событийными симуляторами остального аппаратного обеспечения на уровне сети конечных автоматов;
- спецификация функций системы на JAVA, выделение компонент для аппаратной реализации, генерация для выделенных компонент синтезируемых VHDL-описаний, загрузка синтезированных описаний в реконфигурируемые устройства типа FPGA;
- совместная симуляция поведенческих описаний аппаратного и программного обеспечения встроенной системы с использованием высокоуровневых языков типа SDL и VHDL;
- разработка симуляторов, настраиваемых на целевую архитектуру.
В последние годы в ГТУ им. Ф. Скорины (республика Беларусь) был выполнен ряд разработок, обеспечивающих эффективное сквозное совместное проектирование программного и аппаратного обеспечения самых разнообразных встроенных систем.
В рамках этих работ:
- разработаны методы и средства автоматизации высокоуровневого проектирования аппаратного обеспечения;
- разработаны методы и средства проектного моделирования архитектуры процессоров вычислительных систем;
- разрабатываются методы и средства создания системного программного обеспечения;
- начаты разработки методов и средств совместного проектирования и моделирования аппаратного и программного обеспечения вычислительных систем [1].
Каждая из описываемых ниже разработок является законченным продуктом и может эффективно использоваться вне зависимости от других. Кроме того, обеспечено интегрированное использование продуктов, что обеспечивает оптимальную по срокам разработки и качеству стратегию сквозного совместного проектирования и отладки аппаратного и программного обеспечения встроенных систем на протяжении всего цикла работ.
Базовые средства разработки встроенных систем
Настраиваемая на целевую платформу среда отладки программного обеспечения встроенных цифровых систем WINTER
К отличительным достоинствам WINTER можно отнести:
- эффективные средства создания моделей микропроцессоров (как на уровне инструкций, так и потактовых) и их последующего встраивания в универсальную отладочную среду;
- внутренние ассемблер/дизассемблер;
- возможность встраивания внешних средств ассемблирования и компиляции;
- средства встраивания программных моделей микропроцессоров и микроконтроллеров (МП/МК) от других разработчиков;
- средства встраивания аппаратных моделей МП/МК от других разработчиков;
- интерфейс с моделями программного обеспечения, аппаратного обеспечения и внешней среды встроенной системы на уровне DLL (Dynamic Linkage Library) библиотек;
- поддержку мультипроцессорной отладки для гомо- и гетерогенных мультипроцессорных систем;
- средства поддержки коллективной разработки, в том числе, возможность использования локальных и глобальных сетей для удалённой отладки программного обеспечения;
- мощные отладочные средства, соответствующие современным стандартам на отладку программного обеспечения.
Таким образом, при разработке встроенной системы мы предлагаем создать её точную поведенческую модель, включающую взаимодействующие модели внешней среды, программного и аппаратного обеспечения. При этом максимально широко могут быть использованы средства программирования, привычные разработчику. В частности, таким образом могут быть разработаны поведенческие модели внешней среды, модели одного или нескольких используемых во встроенной системе процессоров (в случае отсутствия таких моделей в распоряжении разработчика на момент начала создания встроенной системы), а также поведенческая модель функционирования остальной части встроенной системы. После чего разработчик получает мощную среду для отладки прикладного программного обеспечения (ППО) разрабатываемой встроенной системы на языке ассемблера целевого процессора (целевых процессоров). Встраивание в эту среду внешних средств компиляции позволяет использовать для разработки ППО соответствующие языки программирования.
Более того, возможна разработка ППО встроенной системы вначале на инструментальной ЭВМ (IBM PC) с использованием привычных систем программирования и с отладкой взаимодействия этого ППО с функциональными моделями внешней среды и аппаратного обеспечения встроенной системы. После чего независимые фрагменты ППО могут отлаживаться уже для целевой архитектуры, постепенно заменяя в модели ППО встроенной системы “ППО для инструментальной ЭВМ” на “ППО для целевой ЭВМ”.
Очевидно, что параллельно могут уточняться, модифицироваться и дорабатываться высокоуровневые модели внешней среды и аппаратного обеспечения, исправляться найденные неточности и ошибки в созданных моделях МП/МК.
Конечный результат этого этапа разработки встроенной системы включает:
- полностью отлаженное програм-мное обеспечение для целевой архитектуры встроенной системы;
- поведенческую модель внешней среды;
- модель процессора(ов) на уровне инструкций и потактовую;
- поведенческую модель остального аппаратного обеспечения целевой архитектуры разрабатываемой встроенной системы.
Настраиваемая на целевую платформу среда отладки аппаратного обеспечения встроенных систем HLCCAD
Отличительные достоинства HLCCAD:
- эффективные средства создания и использования моделей МП/МК (как на уровне инструкций, так и потактовых);
- средства встраивания моделей МП/МК от других разработчиков (в том числе и моделей МП/МК, созданных для WINTER);
- встроенные ассемблер и дизассемблер для разработанных моделей;
- интерфейс с моделями внешней среды, программного и аппаратного обеспечения на уровне DLL-библиотек;
- поддержка отладки гомо- и гетерогенных мультипроцессорных систем;
- мощные отладочные средства, превосходящие все известные аналоги систем, ориентированных на отладку аппаратного обеспечения;
- высокая скорость компиляции и симуляции проектов;
- поддержка коллективной разработки;
- средства создания моделей аппаратного обеспечения визуальной иерархической композицией широкого спектра параметризованных функциональных блоков от логических элементов до ОЗУ/ПЗУ;
- генерация синтезируемого VHDL-описания отлаженного аппаратного обеспечения встроенной системы;
- встроенные средства редакти-рования, компиляции и отладки VHDL-описаний аппаратного обеспечения.
Таким образом, HLCCAD обеспечивает эффективную разработку аппаратного обеспечения встроенной системы на функционально-логиче-ском уровне с последующей автоматической генерацией синтезируемого VHDL-описания отлаженного проекта. Кроме того, разработчики имеют возможность использовать готовые VHDL-модели отдельных частей схемы, равно как и разрабатывать собственные, используя либо средства HLCCAD по генерации синтезируемых VHDL-моделей, либо непосредственно средства редактирования, компиляции и отладки VHDL-моделей.
Основной результат работы на этом этапе — создание синтезируемого VHDL-описания разработанного аппаратного обеспечения. В случае, если аппаратное обеспечение включало в свой состав МП/МК, возможно использование одного из нескольких подходов:
- Результат проектирования — это плата, на которой размещаются один или несколько МП/МК и одна или несколько микросхем СБИС ПЛ, для которых генерируется синтезируемое VHDL-описание остального аппаратного обеспечения встроенной системы.
- Для МП/МК используется закупленная синтезируемая VHDL-модель, и тогда вся встроенная система может быть выполнена на нескольких (или даже одном) чипах СБИС ПЛ.
- Для разработки синтезируемой VHDL-модели подмножества функций модели МП/МК, используемых в проекте (или даже всей модели), может быть использован HLCCAD.
В случае, если разработка аппаратного обеспечения начинается после завершения отладки програм-много обеспечения, то все созданные на предыдущем этапе модели (внешней среды, программного обеспечения, аппаратного обеспечения) могут эффективно повторно использоваться на данном этапе.
Интегрированная среда отладки аппаратного и программного обеспечения IEESD-2000
В случае совмещения этапов разработки программного и аппаратного обеспечения, системами WINTER и HLCCAD поддерживается технология совместного проектирования.
При этом используются 3 банка моделей (внешней среды, программного обеспечения (ПО) и аппаратного обеспечения (АО)):
- Совместные модели для WINTER и HLCCAD. Эти модели могут разрабатываться как разработчиками ПО, так и разработчиками АО, но заносятся в этот банк только по взаимному согласованию. По-сле чего такие модели используются как при работе разработчиков ПО в среде WINTER, так и при работе разработчиков АО в среде HLCCAD. При этом отладка и использование моделей может производиться как автономно в WINTER и HLCCAD, так и в специальной интегрированной среде IEESD-2000, используя возможности WINTER по отладке ПО и возможности HLCCAD по отладке АО.
- Модели для WINTER — создаются разработчиками ПО и используются при работе в WINTER. После завершения полной отладки моделей и по взаимному согласованию с разработчиками АО, модель может быть передана в банк совместных моделей.
- Модели для HLCCAD — создаются разработчиками АО и используются при работе в HLCCAD. После завершения полной отладки модели и по взаимному согласованию с программистами, модель может быть передана в банк совместных моделей.
Отличительные достоинства предлагаемого подхода к разработке встроенных систем и соответственно предлагаемых средств разработки:
- повторное использование моделей ПО, АО и внешней среды;
- сквозное совместное проектирование и симуляция ПО, АО и внешней среды;
- поддержка коллективной сквозной разработки ПО, АО и внешней среды;
- управляемые разработчиками уровень представления моделей и, соответственно, скорость симуляции моделей ПО, АО и внешней среды;
- эффективные средства автономной и совместной симуляции и отладки моделей ПО, АО и внешней среды;
- как следствие — резкое сокращение сроков и стоимости разработки встроенной системы.
Подчеркнём, что предлагаемая технология разработки встроенных цифровых систем обеспечивает 3 основных результата:
- окончательная совместная симуляция моделей внешней среды, программного обеспечения (на языках программирования для целевой архитектуры) и аппаратного обеспечения (на уровне композиции синтезируемых блоков);
- сгенерированное синтезируемое VHDL-описание разработанного аппаратного обеспечения встроенной системы. Это описание может быть использовано как входное в системы автоматизированного проектирования более низкого уровня, выходом которых являются непосредственно запрограммированные СБИС ПЛ;
- отлаженное программное обеспечение встроенной системы на языках программирования целевой архитектуры.
Средства высокоуровневогопроектирования специальных систем
Среда исследования и разработки архитектуры спецпроцессора на уровне системы инструкций INTER
Отличительные достоинства INTER:
- метаязык описания семантики ядра процессора;
- метаязык описания семантики внутри кристальных периферийных устройств;
- метаязык описания синтаксиса ассемблера;
- турбосредства тестирования, отладки и доказательства адекватности метаописаний;
- интегрированная среда отладки ассемблерных программ и параллельной симуляции аппаратного обеспечения и внешней среды;
- средства анализа эффективности определённой архитектуры для решения требуемых специальных прикладных задач;
- средства генерации поведенческих моделей спроектированного процессора для WINTER и HLCCAD;
- средства генерации комментированного шаблона синтезируемого VHDL-описания спроектированного спецпроцессора, для последующей ручной доработки.
Таким образом, INTER обеспечивает эффективное исследование проектного пространства при разработке спецпроцессора, с последующим автоматизированным созданием моделей проекта для симуляции в системах WINTER и HLCCAD и синтезируемых VHDL-описаний проекта для последующей реализации в СБИС.
Среда разработки устройств на базе виртуального процессора микроинструкций (MPDS)
Отличительные достоинства MPDS:
- специальный язык микроассемблера и специальное подмножество языка C (Микро-С) для описания алгоритмов функционирования устройства;
- средства расширения языка микроассемблера пользователями;
- эффективная среда отладки микропрограмм (на языках микроассемблер и Микро-С);
- использование исходного текста отлаженной микропрограммы для автоматической генерации синтезируемых VHDL-описаний взаимодействующих операционного и управляющего автоматов, обеспечивающих эффективную аппаратную реализацию отлаженного алгоритма. При этом в VHDL-описание операционного автомата включаются только те микроинструкции, которые использованы в данной микропро-грамме, а управляющий автомат реализуется по выбору пользо-вателя в программируемой или жёсткой логике.
Таким образом, MPDS обеспечивает быструю разработку микропро-грамм, соответствующих алгоритму функционирования проектируемого устройства, а затем позволяет автоматически сгенерировать оптимальное синтезируемое VHDL-описание взаимодействующих операционного и управляющего автоматов, реализующих заданный (и предварительно отлаженный!) алгоритм функционирования.
Отметим также возможность адаптации виртуального процессора микроинструкций к проблемной области посредством введения специализированных микроинструкций.
Конструирование устройств цифровой обработки сигналов (компонента DSPC системы HLCCAD)
Отличительные достоинства DSPC:
- наличие развитых средств визуа-лизации цифровых сигналов, встроенных в HLCCAD как дополнительные возможности анализа результатов моделирования;
- наличие библиотеки генераторов цифровых сигналов, встроенных в HLCCAD как специальные устройства;
- наличие библиотеки алгоритмов цифровой обработки сигналов, (ЦОС) встроенных в HLCCAD в виде библиотеки поведенческих моделей соответствующих цифровых устройств;
- обеспечение конструирования и отладки систем ЦОС средствами HLCCAD и DSPC;
- средства HLCCAD для сравнительного анализа поведения моделей проекта на различных уровнях детализации;
- библиотека параметризованных синтезируемых VHDL-описаний устройств, реализующих отдельные алгоритмы ЦОС;
- средства HLCCAD, генерирующие синтезируемое VHDL-описание проекта разработанного устройства ЦОС.
Таким образом, предлагается следующая технология разработки систем ЦОС: вначале устройство ЦОС конструируется из готовых блоков, в случае необходимости средствами HLCCAD разрабатываются новые блоки. Затем проект отлаживается, и по нему генерируется синтезируемое VHDL-описание.
Технология разработки цифровых систем с VLIW-архитектурой
Прежде всего, метаязык системы INTER позволяет определить семантику функционирования и ассемблер VLIW-процессора (Very Long Instruction Word). Далее система INTER позволяет отлаживать микропрограммы для VLIW-процессора, параллельно исследуя и модифицируя определение архитектуры, а также модели внешней среды. Данный этап разработки обеспечивает получение следующих основных результатов:
- Отлаженная микропрограмма проекта (на языке микроассемблера, определённом разработчиками проекта).
- Функциональная модель архитектуры, представленная метаязыком.
- Поведенческая модель внешней среды.
Далее разработчики определяют строгий формат микрокоманд (на битовом уровне) и по отлаженному текстовому описанию архитектуры проекта формируется его иерархическое многостраничное графиче-ское описание в формате системы HLCCAD с выделенными основными блоками, такими как: операционные устройства, мультиплексоры результатов, блоки памяти данных, блоки вычисления логических условий, память микропрограмм, блок управления микропрограмм и так далее.
При этом вся информация, которая может быть извлечена из метаописания проекта в INTER-формате, переносится в HLCCAD (как минимум, в аннотации к проекту и его компонентам). Обеспечивается также цветовыделение:
- блоков, для которых автоматиче-ски может быть сгенерировано синтезируемое VHDL-описание;
- блоков, для которых имеется только поведенческое описание (с возможностью симуляции);
- блоков, для которых есть только аннотации;
- не определённых контактов блоков и устройств и так далее.
Далее разработчики могут использовать все возможности HLCCAD по проектированию аппаратного обеспечения.
Предлагаемая технология позволяет более эффективно исследовать проектное пространство, вследствие чего могут быть сокращены сроки разработки и повышено её качество.
Аппаратные средства поддержки разработки встроенных систем
Kак бы быстро не работали средства симуляции, начиная с некоторого этапа разработки, симуляция становится серьёзным сдерживающим фактором. Кроме того, к этому времени могут быть изготовлены и отлажены многие аппаратные фрагменты проекта. Поэтому нам представляется в высшей степени полезным обеспечить “гетерогенное” моделирование, когда части проекта (вплоть до всего аппаратного обеспечения) переносятся “на железо”, а взаимодействие инструментальной системы с аппаратным обеспечением выполняется через порты или внутреннюю шину инструментальной ЭВМ (IBM PC).
Семейство настраиваемых на целевую платформу эмуляторов МП/МК
МП/МК разбиваются на классы однотипных (в том числе по разрядности МП/МК), и для каждого класса проектируется свой универсальный эмулятор, который обеспечивает мониторинг эмулируемого процессора и аппаратную поддержку современных отладочных возможностей. Специальные сменные модули-“насадки” обеспечивают гибкую настройку на конкретный МП/МК данного класса.
Такие аппаратные модели могут быть использованы в системе WINTER вместо программных, для сущест-венного ускорения исполнения программного обеспечения с сохранением пользовательского интерфейса симулятора и всех его отладочных возможностей.
Более того, сам эмулятор может быть подключен к отлаживаемой плате вместо её соответствующего головного МП/МК.
Универсальные платы быстрого прототипирования
Такие платы могут содержать следующие (в том числе и сменные) компоненты: МП/МК, ПЛИС, клавиатура, индикаторы... .
IEESD-2000 обеспечивает загрузку отлаженного ПО в МП/МК и внутрисхемное программирование ПЛИС. Таким образом, возможно быстрое макетирование некоторой части или всего проекта встроенной системы.
Интерфейс взаимодействия симулирующих систем WINTER и HLCCAD с произвольной аппаратной схемой
Имеется набор интерфейсных функций, обеспечивающих взаимодействие систем WINTER и HLCCAD с аппаратными схемами, присоединёнными к IBM PC через последовательный/параллельный порт либо с помощью внутренней шины PCI. Таким образом может быть обеспечено универсальное совместное моделирование ППО и фрагментов аппаратного обеспечения разрабатываемых проектов.
Апробация предложенных методов, средств и технологий разработки встроенных систем
Производственная апробация
B [1] приводятся описания использования представленных в данной статье средств для разработки аппаратно-программных отладчиков для МК семейства MCS51 (Intel), а также DN1630 и NT8020 (NTL, Минск) и прикладного ПО для встроенных систем на базе данных МК.
Кроме того, в 1999-2000 годах на базе МК AVR в ГГУ им.Ф.Скорины разработана специализированная встроенная система “электронный ключ” для защиты от несанкционированного распространения разработанного нами программного обеспечения.
Использование разработанных аппаратно-программных средств в учебном процессе
Прежде всего, необходимо отметить, что описанные в данной работе системы используются студентами разных курсов для выполнения лабораторных работ, связанных со следующими темами: программирование на ассемблере, основы ЭВМ, архитектура вычислительных машин и вычислительных систем, автоматизация проектирования цифровых систем. При этом активное использование симуляции для наблюдения за происходящими процессами, интерактивное изменение параметров, программных и аппаратных компонент, а также удобная визуализация данных обеспечивают как повышенный интерес к занятиям, так и улучшее качество обучения.
Другой аспект использования разработанных средств — это автоматизированная проверка корректности выполненных работ. Под работами здесь понимаются как отдельно программы и модели цифровых устройств, так и проекты встроенных систем, включающие и то, и другое.
Для каждой предлагаемой работы преподавателем (возможно, с привлечением студентов) предварительно готовятся тесты, которые будут определять корректность выполнения работы.
Все выданные задания регистрируются в тестирующей системе. Студент по завершению работы отсылает её в оговоренном формате на тестирование. Система тестирования проверяет корректность функционирования работы на всех подготовленных тестах, автоматически отсылая результат тестирования студенту и преподавателю, который имеет средства оперативного анализа выполнения работ студентами.
Подробную информацию, библиографию и ДЕМО-версии можно получить на WWW-сайте Гомельского государственного университета им. Ф.Скорины — .
Литература
- Долинский М.С. Интегрированная среда для разработки встроенных систем IEESD-2000 // Автоматика и вычислительная техника. — Рига. — 1999. — № 3. — С. 26–35.
Тел.: (0232) 57 9192, 47 3713
E-mail:
|