Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

М. Долинский, В. Литвинов, И. Ермолаев, А. Федорцов

Пакет инструментальных комплексов сквозного совместного проектирования программного и аппаратного обеспечения встроенных мультипроцессорных систем

Технологические достижения микроэлектроники (микроминиатюризация, повышение быстродействия, сокращение потребляемой мощности, рост сложности чипов и другие) привели к резкому расширению сферы применения цифровых электронных систем (ЦЭС). Одновременно с ростом функциональных возможностей ЦЭС, в серьёзную проблему вылилась необходимость проектирования, верификации и отладки ЦЭС в приемлемые (с точки зрения рынка) сроки.

По оценкам многочисленных западных аналитических источников, в настоящее время функциональная верификация и отладка могут занимать от 40% до 80% временных и стоимостных ресурсов проекта в целом. Возник так называемый разрыв между потребностью в сложности проектируемых ЦЭС и возможностями проектирования, предоставляемыми современными средствами EDA (Electronic Design Automation). Особенно остро проблема стоит для ЦЭС, которые изначально включают в себя одно или несколько микропроцессорных ядер, расположенных на одном кристалле.

Современные программные средства, призванные ликвидировать вышеуказанный разрыв, должны обеспечивать сквозное интегрированное проектирование. То есть необходимо обеспечивать, на протяжении всего цикла проектирования от идеи до реализации, возможность одновременно вести разработку, тестирование, верификацию и отладку программного и аппаратного обеспечения, многократно повторно использовать модели и IP (Intellectual Property) компоненты программного и аппаратного обеспечения, эффективно поддерживать коллективную работу.

В данной статье мы представим пакет программно-аппаратных систем [1-5], соответствующих предъявленным выше требованиям. В идеологическом плане разработки начались в 1987 году. Версии, ориентированные на современную платформу WIntel (ОС Windows + ПК на базе процессоров с архитектурой Intel), разрабатываются с 1997 года. Данный пакет включает в себя 3 базовые компоненты: WInter, HLCCAD и IEESD-2000:

  • WInter — среда отладки программного обеспечения мультипроцессорных систем с возможностью высокоуровневой симуляции аппаратного обеспечения и внешней среды;
  • HLCCAD — среда высокоуровневого проектирования и отладки аппаратного обеспечения цифровых систем с возможностью симуляции программного обеспечения на уровне машинных кодов и поведенческого моделирования внешней среды;
  • IEESD-2000 — среда совместного проектирования и отладки программного и аппаратного обеспечения мультипроцессорных систем с поведенческой симуляцией/эмуляцией внешней среды.

Их основные достоинства:

  • языки и инструменты описания и генерации моделей ядра процессора и внутрикристальных периферийных устройств;
  • наличие рабочих моделей процессоров: Atmel AVR, Intel 8051, Microchip PIC17C4x, Motorola 68HC05/08;
  • наличие демонстрационных моделей процессоров ARM ARM7, Texas Instruments TMS370 и TMS320C5000;
  • мощные средства отладки программ, написанных на С и ассемблерах;
  • эффективные средства визуализации и отладки аппаратного обеспечения;
  • генерация синтезируемых VHDL-описаний отлаженного аппаратного обеспечения;
  • поддержка VHDL/Verilog-описаний внешних IP-компонент эмуляцией на ПЛИС;
  • возможность использования высокоуровневых моделей компонент программного, аппаратного обеспечения и внешней среды функционирования на любом этапе разработки;
  • универсальное устройство для эмуляции отдельных частей проекта в ПЛИС и для взаимодействия с внешними аппаратными системами;
  • универсальный внутрисхемный эмулятор для аппаратной реализации моделей процессоров — компонент проекта;
  • возможность совместной симуляции/эмуляции компонент проекта, расположенных в локальных и глобальных сетях;
  • высокая скорость симуляции процессоров (до 10 млн. инструкций в секунду в WInter, до 400 тысяч инструкций в секунду в HLCCAD/IEESD);
  • специализированная подсистема отладки микропрограмм и синтеза микропрограммных автоматов;
  • средства организации регрессионного тестирования проектов;
  • интегрированная в среду система помощи и документации на русском и английском языках;
  • интерактивный пошаговый учебник: редактирование проектов, моделирование и анализ, использование универсального внутрисхемного симулятора;
  • эффективная интеграция WInter/HLCCAD/IEESD-2000 с разработанной системой дистанционного обучения http://dl.gsu.unibel.by для автоматической проверки корректности разработанных учебных/рабочих проектов на заранее подготовленных множествах тестов;
  • наличие качественного сайта разработчиков http://NewIT.gsu.unibel.by
  • и горячей почтовой связи newit@gsu.unibel.by.

Языки и инструменты описания и генерации моделей ядра процессора и внутрикристальных периферийных устройств

Для быстрой перенастройки инструментальных комплексов на работу с новыми микропроцессорами разработаны языки описания ресурсов и алгоритмов функционирования ядра процессора и периферийных устройств. Ресурсы описываются декларативно, исполнение инструкций целевого процессора — одной или несколькими инструкциями процессора Intel 8086, алгоритмы функционирования периферийных устройств (последовательные и параллельные пор-ты, счётчики-таймеры, система прерываний, внешние контакты и так далее) — на специальном языке описания периферийных устройств. Параллельно с описанием модели процессора описывается его дизассемблер. Для разработки ассемблера используется специальный пакет собственной разработки RtASM (Retargetable Assembler), который позволяет создавать рабочую версию ассемблера в течение одной недели. Имеется интегрированная среда для редактирования, компиляции и тестирования моделей.

Всё это вместе позволяет получать полнофункциональные модели процессоров на уровне инструкций и тактов в срок от одного до трёх месяцев, в зависимости от сложности процессора.

Наличие рабочих моделей процессоров Atmel AVR, Intel 8051, Microchip PIC17C4x и Motorola 68HC05/08

С помощью инструментальных систем, настроенных на микроконтроллеры семейства Intel 8051, разработано программное обеспечение для двух приборов измерения электрических свойств жидкости, промышленно изготавливаемых и распространяемых фирмой "Аналитические технологии" (г. Гомель).

На базе микроконтроллера Atmel AVR нами разработан ключ для защиты программного обеспечения от несанкционированного копирования, а также система автономного управления движущимся объектом (на базе игрушечной платформы "Луноход") для исследования и разработки соответствующих алгоритмов и технологий.

Созданные для микроконтроллеров AVR и Intel 8051 модели использованы при разработке специализированных средств отладки систем на кристалле (SoC): на базе модели микроконтроллера AVR создана среда отладки для FPSLIC фирмы Atmel, на базе модели микроконтроллера Intel 8051 — среда отладки для SoC E5 фирмы Triscend.

Для микроконтроллеров Microchip PIC17C4x и Motorola 68HC05/08 выполнены полные описания и тестирование ядер процессоров (системы инструкций).

Наличие демонстрационных моделей процессоров ARM ARM7, Texas Instruments TMS370 и TMS320c5000

Для привлечения внимания широкого круга проектировщиков, а также в целях контроля качества и развития средств создания новых моделей микроконтроллеров, постоянно выполняются демонстрационные модели процессоров, пополняющих наш основной пример демонстрации возможностей моделирования мультипроцессорных систем — HomeNet.

В демо-примере HomeNet реализуются сбор информации от датчиков одним микроконтроллером (ведомым) и передача этой информации по протоколу I2C другому микроконтроллеру (ведущему). В качестве ведущего микроконтроллера используется AVR, в качестве ведомых — одновременно все другие микроконтроллеры, модели которых реализованы на текущий момент.

На базе демо-модели процессора ARM7 разработана демонстрационная версия для среды отладки SoC A7 фирмы Triscend.

Мощные средства отладки программ, написанных на С и ассемблерах

Прежде всего, мы поддерживаем эффективную интеграцию в нашу среду отладки внешних средств компиляции программ, написанных на С и/или ассемблере. Например, такая работа уже выполнена для C-компиляторов фирм FSI и Keil. Обеспечивается привычная для современных средств отладки турбо-среда: редактирование, встроенная компиляция, позиционирование на строку с синтаксической ошибкой, отладка по исходным текстам.

Кроме того, мы имеем собственные встроенные ассемблеры для всех поддерживаемых нами процессоров.

На базе разработанного нами универсального синтаксического анализатора UniSAn ведётся разработка "N+M" компилятора, настраиваемого на язык программирования и целевую архитектуру процессора.

Среда отладки программ объединяет лучшие из возможностей, предоставляемые современными отладчиками (точки останова, окна просмотра/редактирования ресурсов процессоров и исходного текста программ, команды управления, измерение времени исполнения фрагментов программ в инструкциях и тактах, интеграция с эмуляторами процессора и так далее).

Среда обладает рядом уникальных возможностей как-то: теневые команды для установки и проверки значений, обновления видимых окон; средства регрессионного и пакетного тестирования и другие.

Эффективные средства визуализации и отладки аппаратного обеспечения

В качестве средства ввода и редактирования проектов аппаратного обеспечения предлагается графическая среда визуального проектирования, поддерживающая разработку как "сверху-вниз", так и "снизу-вверх" с использованием параметризованных компонент из поставляемой библиотеки, включающей традиционный набор логических элементов, комбинационных устройств (шифраторы/дешифраторы, мультиплексоры/демультиплексоры, сумматоры, умножители, делители, компараторы и так далее), элементов памяти (триггеры, регистры, счётчики, ОЗУ, ПЗУ) и других.

Кроме привычных для разработчиков временных диаграмм и таблиц истории значений сигналов, имеются средства просмотра значений непосредственно на иерархически организованных схемах, параллельный анализ содержания (в любой момент времени из смоделированного дипапазона!) устройств памяти (триггеров, регистров, счётчиков, ОЗУ, ПЗУ), исходных текстов программ одного или нескольких процессоров, с отслеживанием соответствующего положения счётчика команд для каждого процессора.

Генерация синтезируемых VHDL-описаний отлаженного аппаратного обеспечения

Одной из основных задач комплексов высокоуровневого проектирования цифровых систем является бесшовная интеграция с САПР более низкого уровня. Мы обеспечиваем такую интеграцию авто-матической генерацией синтезируемого VHDL-описания для “нарисованной” разработчиком схемы. Проведённые исследования показали совместимость генерируемых описаний с симулятором ModelSim (Mentor Graphics) и синтезаторами Leonardo Spectrum (Mentor Graphics) и Synplify (Synplicity). Несколько сотен тестовых проектов адекватно работают по-сле синтеза и загрузки с помощью Max+Plus II в FPGA фирмы Altera.

Поддержка VHDL/Verilog-описаний внешних IP-компонент эмуляцией на ПЛИС

Разработчики имеют возможность использовать в своих проектах VHDL/Verilog IP-компоненты собственной разработки и/или приобретённые у сторонних фирм. Связав такую компоненту с её корпусом на схеме проекта и установив тип VHDL/Verilog, можно указать, что она должна быть синтезирована и загружена в ПЛИС разработанного нами универсального эмулятора. После этого, в процессе моделирования всей системы, наша среда поддерживает двунаправленную передачу сигналов между симулируемыми и эмулируемыми компонентами проекта.

Возможность использовать высокоуровневые модели компонент программного, аппаратного обеспечения и внешней среды функционирования на любом этапе разработки

Открытые интерфейсы моделируемых компонент обеспечивают разработчикам возможность создавать свои модели и интегрировать их с моделями, предоставляемыми нами, в единые комплексы. Это позволяет распараллеливать работы, ускорять симуляцию за счёт повышения уровня абстракции моделирования, использовать единую систему тестов на протяжении всего цикла проектирования. Такой подход обеспечивает также беспрецедентную управляемость процесса симуляции и визуализацию результатов симуляции; возможность использовать внешние реальные устройства для подачи тестовых воздействий и многое другое.

Универсальный прибор для эмуляции отдельных частей проекта в ПЛИС и для взаимодействия с внешними аппаратными системами

Разработанное на базе FPGA фирмы Altera специальное устройство UniICS позволяет погружать в него во время симуляции указанные пользователем части проекта, составленные из компонент нашей параметризованной библиотеки. Для таких частей автоматически генерируется синтезируемое VHDL-описание, которое синтезируется указанным пользователем средством синтеза (например, Leonardo Spectrum или Synplify) и загружается в UniICS. Таким образом, обеспечивается аппаратная акселерация проекта. В случае, если все компоненты предлагается загрузить в FPGA, обеспечивается полная эмуляция проекта. Для SoC-систем (например, FPSLIC фирмы Atmel и E5/A7 фирмы Triscend) обеспечивается симуляция процессора с эмуляцией аппаратного окружения в нашем эмуляторе.

UniICS может быть также использован для передачи сигналов между разрабатываемой ЦЭС и другими реальными устройствами.

Универсальный внутрисхемный эмулятор для аппаратной реализации моделей процессоров — компонент проекта

В дополнение к разработке и использованию программных моделей процессоров, обеспечивается открытый интерфейс моделей для интеграции с отладочными кристаллами/эмуляторами процессоров. Такой подход позволяет сократить сроки создания модели процессора, а также обеспечить более высокий уровень адекватности, например, в случае разработки высокопроизводительных систем реального времени.

Все отладочные функции, которые необходимо реализовывать аппаратно, выполнены в виде HLCCAD-проекта (и автоматически генерируемого соответствующего VHDL-описания). Они автоматически загружаются в универсальный внутрисхемный эмулятор, реализованный на базе FPGA фирмы Altera при включении питания. Для взаимодействия с конкретным отладочным кристаллом/эмулятором процессора необходимо разработать также специальный блок сопряжения.

Возможность совместной симуляции/эмуляции компонент проекта, расположенных в локальных и глобальных сетях

Системы обеспечивают прозрачную для пользователей интеграцию в единый проект компонент, которые могут быть расположены на различных вычислительных узлах локальных и глобальных (по протоколу TCP/IP) компьютерных сетей.

Высокая скорость симуляции процессоров

При исполнении программ в системе WInter с высокоуровневой симуля-цией компонент аппаратного обеспечения обеспечивается пиковая производительность до 10 млн. инструкций в секунду.

При исполнении программ в системах HLCCAD/IEESD-2000 с полнофункциональной симуляцией аппаратного обеспечения на уровне регистровых передач обеспечивается пиковая производительность до 400 тыс. инструкций в секунду.

Специализированная подсистема отладки микропрограмм и синтеза микропрограммных автоматов

Общеизвестно, что микропрограммирование — один из самых быстрых способов разработки алгоритмически сложных ЦЭС. В то же время, аппаратная реализация алгоритмов имеет существенные преимущества в производительности перед микропрограммной реализацией.

Реализованная нами система автоматического синтеза микропрограммных автоматов позволяет интегрировать достоинства обоих подходов.

Нами разработан язык ассемблера микропрограммных автоматов, близкий по синтаксису к ассемблеру Intel 8086. Разработав и отладив свою микропрограмму в среде Winter/IEESD-2000, инженер может автоматически получить HLCCAD-схему и соответственно синтезируемое VHDL-описание взаимодействующих операционного и управляющего автоматов, реализующих отлаженную микропрограмму.

При этом для реализации управляющего автомата используются логиче-ские функции (так называемая "жёсткая логика"), а при реализации операционного автомата в схему включаются только те инструкции, которые использовались в текущей микропрограмме.

В настоящее время ведутся работы по использованию языка C для разработки алгоритмов микропрограмм — разрабатывается настройка компилятора С на архитектуру виртуального процессора микропрограммных автоматов.

Средства организации регрессионного тестирования проектов

Эффективный контроль за состоянием всего проекта и его отдельных компонент при разработке современных ЦЭС невозможен без использования регрессионного тестирования проекта в целом и его отдельных компонент на протяжении всего цикла проектирования.

Разработан специальный язык тестов для аппаратного обеспечения и механизм теневых команд для программного обеспечения, которые позволяют в любой момент времени подать входные воздействия на тестируемый объект (проект или его компоненту) и сравнить его реакцию с заранее заготовленными эталонами.

В качестве тестовых компонент могут быть использованы сохранённые в виде тестов результаты симуляции и использоваться специализированные программные или аппаратные модели.

Кроме того, разработан язык сценария для управления тестированием. Всё это вместе обеспечивает многократное повторное использование и пополнение набора тестов на протяжении всего цикла разработки.

Интегрированная в среду система помощи и документации на русском и английском языках

Важным качеством современных сложных систем проектирования является не только интуитивно предсказуемый интерфейс, но и полнота информационной поддержки пользователя.

Система обеспечивает полную информационную поддержку на двух языках — русском и английском. Преду-смотрена возможность локализации системы на другие европейские языки (немецкий, французский и так далее).

Информационная поддержка включает наличие интерактивного учебника по различным режимам работы в системе (редактирование, моделирование, эмуляция). Имеются полные документация и контекстно-чувствительная помощь.

Пользователям также предоставляется возможность документировать в среде разрабатываемые проекты, а также интегрировать к проектам техниче-скую документацию (в электронном виде) сторонних фирм.

Интеграция с системой дистанционного обучения

На базе разработанной системы дистанционного обучения (http://dl.gsu.unibel.by) организовано несколько учебных курсов по проектированию цифровых систем и программированию микроконтроллеров. Их отличительной особенностью является возможность автоматической проверки (симуляцией в Winter/HLCCAD/IEESD-2000) присылаемых на проверку программ для микроконтроллеров, проектов цифровых устройств или встроенных систем, состоящих из микроконтроллера и его аппаратного обрамления на заранее подготовленных множествах тестов.

Сайт разработчиков

Сайт http://newit.gsu.unibel.by регулярно обновляется, содержит текущие полнофункциональные версии всех предлагаемых систем (с ограничениями ТОЛЬКО на размеры исполняемых программ и симулируемых устройств), демонстрационные примеры, презентации и так далее.

Поддерживается горячая почтовая связь newit@gsu.unibel.by.

По вопросам приобретения обращаться по адресу info@electrade.ru.

Заключение

Представленный пакет инструментальных комплексов сквозного совместного проектирования программного и аппаратного обеспечения встроенных мультипроцессорных систем не имеет аналогов среди разработок на постсоветском пространстве.

Среди зарубежных коммерческих разработок наиболее близкой по задачам является Seamless фирмы Mentor Graphics, которая предна-значена для “бесшовной” (seamless) интеграции отладчика программного обеспечения XRAY (приобретённого фирмой Mentor Graphics вместе с разработавшей его фирмой) и логических симуляторов разных производителей (в том числе, и ModelSim фирмы Mentor Graphics).

Заметим, что, по нашим оценкам, суммарная стоимость всех продуктов, необходимых для совместной разработки, симуляции, эмуляции и отладки программного и аппаратного обеспечения, может превышать сотню тысяч долларов.

В качестве возможных направлений сотрудничества мы предлагаем:

  • разработку "под заказ" аппаратного, программного и аппаратно-программного обеспечения любой степени сложности на базе произвольных микроконтроллеров, ПЛИС, ASIC;
  • настройку комплексов на потребности отладки конкретного проекта (модели процессоров, их аппаратного окружения, внешней среды функционирования);
  • развитие "по заказу" средств отладки в сторону SCADA-систем — в части автоматизации разработки систем автоматического управления технологическим оборудованием.

Литература

  1. Dolinsky M. High-level design of embedded hardware-software systems. Advances in Engineering Software. Vol. 31.№ 3. March, 2000. UK. Oxford. ELSEVIER.
  2. Dolinsky M.S. Integrated Environment IEESD-2000 for embedded system development. Automatic Control and Computer Sciences. Allerton Press. New York. 1999. Vol. 33. № 3. P. 24-32.
  3. Dolinsky M.S., Ziselman I.M., Fedortsov A.O. In-circuit emulators of microprocessors and microcontrollers. Automatic Control and Computer Sciences. Allerton Press. New York. 1999. Vol. 33. № 1. P. 53-56.
  4. Dolinsky M.S., Ziselman I.M., Harrasov A.A. Computer-Aided design of microprogrammed devices. Automatic Control and Computer Sciences. Allerton Press. New York. 1997. Vol. 31. № 5. P. 59-63.
  5. Dolinsky M., Ziselman I., Belotsky S. Metalanguage for Peripherals Description and Simulation. Tagungsband 1 des 42. 1997. Internationalen Wissenschaftlichen Kolloquiums. Seite 587.






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники