Содержание к диссертации
Введение
Глава 1. Проблема проектирования СВС... 8
1.1. Задача полузаказного проектирования 8
1.2. Средства, методы и технологии проектирования 10
1.2.1. Технологии сквозного проектирования 11
1.2.2. Сопряженное проектирование 12
1.2.3. Аппаратная компиляция 14
1.2.4. Языки структурно-функционального описания аппаратуры 16
1.2.5. Технологии повторного использования 17
1.3. Платформо-ориентированное проектирование 19
1.3.1. Общее понятие вычислительной платформы 20
1.3.2. Вычислительный полуфабрикат 22
1.4. Обзор перспективных микропроцессорных архитектур 23
1.4.1. Последовательные микропроцессорные архитектуры 25
1.4.2. Жесткие проблемно-ориентированные архитектуры 25
1.4.3. Реконфигурируемые вычислительные архитектуры 26
1.4.4. Программируемые системы на кристалле 39
1.5. Выводы 40
Глава 2. Шаблонное проектирование СВС 42
2.1. Структурно-функциональный шаблон ...42
2.1.1. Способы спецификации СФШ 44
2.1.2. Организация СВС на основе СФШ 45
2.2. Вычислительная модель СФШ 48
2.2.1. Модели организации вычислительных процессов 49
2.2.2. Смешанная вычислительная модель 56
2.2.3. Параметризация СФШ 60
2.3. Организация шаблона СВС 63
2.3.1. Вычислительное ядро 63
2.3.2. Прикладная подсистема 72
2.4. Выводы 76
Глава 3. Проектирование систем на ПЛИС 78
3.1. ПЛИС компоненты в составе системного шаблона 78
3.2. Технология проектирования... 83
3.2.1. Средства проектирования систем на базе ПЛИС 84
3.2.2. Методы описания проектов 86
3.2.3. Составление RTL-описаний 94
3.3. Использование ПЛИС в составе цифровых систем ..98
3.3.1. Оценка реализаций цифровых схем на ПЛИС 98
3.3.2. Применение механизма граничного сканирования 107
3.3.3. Сервисные механизмы систем на базе ПЛИС 109
3.3.4. Использование программируемых систем на кристалле 111
3.4. Выводы 112
Глава 4. Результаты полузаказной методики проектирования 115
4.1. Многофункциональный контроллер для встроенных применений 115
4.1.1. Состав шаблона МЕС (Multifunctional Embedded Controller) 115
4.1.2. Цифровые системы на базе МЕС 119
4.2. Системный шаблон ADEPT ..123
4.3. Учебно-лабораторные стенды 125
4.3.1. SDK 6.0 125
4.3.2. SDX 7 128
4.4. Выводы 129
Заключение 131
Список литературы 133
Приложение
- Языки структурно-функционального описания аппаратуры
- Модели организации вычислительных процессов
- Использование ПЛИС в составе цифровых систем
- Состав шаблона МЕС (Multifunctional Embedded Controller)
Введение к работе
Из многообразия исследовательских направлений в области вычислительной техники можно выделить направление системотехнического проектирования, где создание специализированных вычислительных систем (СВС) представляет научный и практический интерес. К категории "специализированных" относятся вычислительные системы (ВС), имеющие нетиповую вычислительную архитектуру. К ним относятся большинство микропроцессорных встроенных (embedded) систем, систем цифровой обработки сигналов, инструментальное, тестовое и тренажерное оборудование, приборные контроллеры для автоматизации научных экспериментов и др. Промышленные потребности в быстром создании подобных систем являются предпосылкой для развития полузаказных методов системотехнического проектирования, которые допускают возможность функционального эволюционирования конкретной ВС на различных этапах ее жизненного цикла.
В основу работы положены оригинальные способы использования современных средств и технологий проектирования на базе современных СБИС, имеющих расширенные возможности реконфигурации прикладной вычислительной архитектуры.
Важным приложением рассматриваемой методики полузаказного проектирования является использование ее элементов в учебном процессе, где необходимо оперативное создание действующих ВС при демонстрации свойств, характеристик, а также принципов организации сложных микропроцессорных архитектур.
Целью диссертационной работы является создание методики полузаказного проектирования СВС на основе структурно-функциональных шаблонов (СФШ) ВС с расширенными возможностями реконфигурации.
В соответствии с поставленной целью в работе решаются следующие задачи: проводится анализ современных средств, методов и технологий сквозного проектирования СВС; проводится исследование свойств современных программируемых логических интегральных схем (ПЛИС) и существующих архитектур реконфигури-руемых ВС; формулируются и уточняются состав и свойства системного структурно-функционального шаблона для использования его в задаче создания СВС; разрабатываются формальные способы оценки параметров вычислительной модели, закладываемой в основу параметризируемого системного шаблона; рассматриваются способы организации системного шаблона, ресурсы которого (на уровне вычислительной архитектуры) поделены на вычислительное ядро и прикладную подсистему; разрабатываются специальные методы проектирования на ПЛИС (применение современных языков описания аппаратуры, особенности использования САПР ПЛИС) для улучшения повторного использования компонентов систем, а также повышения эффективности реализации цифровых систем в базисе однородных структур программируемых элементов;
7) рассматриваются примеры использования системных шаблонов для реализации ряда промышленных СВС и уникального микропроцессорного учебно-лабораторного оборудования.
В работе были широко использованы практический опыт и результаты, полученные при создании ряда реальных проектов, в числе которых: высоконадежный вычислитель системы железнодорожной автоматики, нанотестер для диагностики и модификации микро- и наноструктур, модуль расширения прецизионной высокоскоростной сигнальной обработки, серия учебно-лабораторных стендов SDK (ТУ 3428-002-43475370-2001) и их расширений.
Методическую базу исследования составляют положения теории системного анализа, структурно-функционального описания аппаратуры, теории множеств, функционального и временного моделирования аппаратуры, теории конечных автоматов, методов натурного моделирования и методов экспертных оценок.
Основные идеи и результаты были освещены в 5 докладах на научно-технических конференциях. Всего по теме диссертации сделано 10 публикаций [24, 29, 33, 40, 41, 52, 53, 54, 55, 56].
По теме диссертационной работы было подано 4 заявки на соискание грантов конкурсного центра фундаментального естествознания (КЦФЕ) молодых ученых северо-западного региона - все 4 заявки были поддержаны грантами. По всем четырем грантам были предоставлены отчеты в конкурсный центр. Ниже приводятся номера грантов по годам с указанием номеров дипломов и названий тем исследовательских работ:
Языки структурно-функционального описания аппаратуры
Важными инструментами, активно применяемыми в технологии сквозного проектирования, были и остаются языки описания дискретных систем (языковые средства структурно-функционального описания аппаратуры) [29]: VHDL (Very High Integrated Circuits Hardware Description Language) ANSI/IEEE Std 1076-1993 [4,5,122], Verilog HDL (Verifying Logic Hardware Description Language) IEEE 1364-1995 [15] и IEEE 1364-2001. Особенностью этих языков является уход от общепринятой (понятийной) модели Фон Неймановского принципа - принципа последовательной интерпретации. Это не позволяет позиционировать языки данной группы как языки параллельного программирования. Данная особенность является серьезной преградой для перенесения опыта программистов "распространенных" вычислительных платформ в область проектирования аппаратуры.
Языковые возможности VHDL и Verilog HDL достаточны для описания функциональности системы на различных уровнях абстракции с различным уровнем детализации. С их помощью можно описывать не только целевые системные модели, но и внешнее модельное окружение, что позволяет ставить серьезные модельные эксперименты (TESTBENCHES, TESTCASES, TESTHARNESS), используемые при комплексной системной верификации [64,65].
В настоящее время эти языки активно используются при создании "синтезируемых" моделей узлов систем для реализации их на базе ПЛИС или для спецификации заказных СБИС, а также для комплексного моделирования в задачах верификации на различных уровнях проектной иерархии. Популяр ность использования языков описания аппаратуры доказывается развитой поддержкой этих средств описания в современных САПР.
Помимо языков VHDL и Verilog HDL, покрывающих большую часть проектных задач сквозного проектного потока, существуют и другие проблемно-ориентированные языки описания аппаратуры [1,12], которые подобно языкам программирования заполняют пробелы в отдельных областях проектирования на различных стадиях: EDIFF, PLDASM, ABEL, AHDL, PHDL и другие.
На сегодня языковые технологии описания аппаратуры очень близко приближаются к системному уровню описаний. На базе вышеперечисленных языков развиваются другие современные языковые средства, из числа которых следует отметить SystemVerilog и SUPERLOG, которые являются надстройкой над стандартом IEEE 1364-2001 и позволяют более эффективно использовать традиционные средства описания в более широком спектре задач системного проектирования.
Центральное место в современном проектировании ВС занимают технологии повторного использования [94]. Эти технологии естественным образом появляются в коллективах разработчиков практически в любой области инженерной деятельности. Однажды созданные, отлаженные и протестированные, корректно документированные и зарекомендовавшие себя модули являются отличным "строительным материалом" для быстрого и качественного создания ВС.
В области создания программного обеспечения ВС данная технология успешно применяется путем использования объектно-ориентированного стиля проектирования. Методологической базой для этого являются средства и методы создания объектных шаблонов [84], библиотек и библиотечных модулей, использование которых повышает надежность программирования.
В области проектирования аппаратной составляющей систем (на базе ПЛИС) также существуют определенные методики. Эти методики подкрепляются набором стандартов повторного использования компонент для проектирования наполнения интегральных схем. Несколько лет назад фирмой Cadence было введено понятие виртуального компонента (Virtual Component). Для этого были разработаны специальные правила спецификации, облегчающие повторное использование виртуальных компонентов в других проектах и передачу их другим коллективам (HDL-outsourcing).
В ходе исследований был проанализирован ряд спецификаций фирмы MOTOROLA из набора документов Motorola SRS (Semiconductors Reuse Standard), в котором определены основные концепции технологии повторного использования фрагментов ВС и сформулированы рекомендации по ведению проектирования, тестирования, описания, верификации, оформления документации, руководств по внедрению и использованию виртуальных компонентов.
Необходимо отметить, что определенный задел в области технологий повторного использования существует у научной группы RASSP (Rapid Prototyping of Application Specific Signal Processors) [URL: http://www.rassp.org], занимающейся созданием технологий проектирования систем и процессоров сигнальной обработки.
Определенный вклад в развитие технологии повторного использования виртуальных компонентов вносит Европейский консорциум VSIA (Virtual Socket Interface Alliance) [URL: http://www.vsia.com], куда входят практически все ведущие представители полупроводниковой индустрии. Главной задачей VSIA является выпуск стандартов на повторное использование вирту альных компонентов и их совершенствование. Вместе с этим VSIA формирует библиотеку виртуальных полупроводниковых компонентов. К сожалению, все рабочие материалы данного комитета доступны лишь членам VSIA.
Модели организации вычислительных процессов
В качестве объекта анализа вычислительных моделей (или принципов организации вычислительных процессов в цифровых системах) будет рассматриваться реконфигурируемая аппаратура (РА) или "hardware" [54,40] -аппаратная составляющая вычислительных систем, имеющая свойства конфигурации, программировании или масштабирования.
На рис. 2-3 приводится классификация моделей РА по виду реконфигурации, а также способу интерпретации конфигурационных данных.
В верхней части рисунка представлена общая классификация моделей, а в нижней части - типовые примеры реализаций на основе структур микропроцессорных устройств, часто используемых в современной микроэлектронике.
К группе "автономных" РА можно отнести вычислительные модели, режим функционирования которых предполагает собственную инициативу к реконфигурации (режим самореконфигурации). При этом в зависимости от текущего состояния, РА может производить собственную подстройку внут ренней логики в процессе целевого функционирования (рис. 2—4а). Это может осуществляться путем генерации новых конфигурационных данных, подстройку весовых коэффициентов, модификацию собственной структуры и т.д.
Реализации таких вычислительных моделей можно найти в самоорганизующихся микропроцессорных устройствах адаптивных систем: нейро-процессоры (на основе сетей Хопфилда и других), цифровые системы на основе генетических алгоритмов, микропроцессоры Fuzzy Logic и др. Организация вычислительных процессов на базе "автономных" РА на сегодня является предметом научных исследований и их широкое применение осложнено, поэтому для таких моделей практически отсутствуют развитые средства и технологии проектирования. В дальнейшем эта группа моделей РА рассматриваться не будет, хотя, безусловно, реализации на базе самореконфигури-рующихся систем являются перспективным направлением ВТ.
Другой группой вычислительных моделей РА являются "подчиненные", вычислительная модель которых упрощенно представлена на рис, 2-46. Отличие этой модели от предыдущей состоит в том, что логика функционирования целевого процесса жестко определяется набором конфигурационных данных, приходящих от специального управляющего механизма ("host -объекта). Этот управляющий механизм может быть представлен как устройство управления (УУ), задающее режим работы операционного элемента, путем передачи ему конфигурационных данных. Характерным для такой модели является явное разделение объектов на пассивные и активные (операционные и управляющие). Такая вычислительная модель лежит в основе большинства традиционных микропроцессорных устройств (см. рис.2-3). Активные ресурсы модели (УУ), работающие в режиме интерпретации программы, определяют логику функционирования. Эта логика хранится в запоминающем устройстве (в виде программного кода), откуда поступает на интерпретацию в УУ. Такие вычислительные модели еще называют микропроцессорными устройствами с программируемой логикой или устройствами с хранимой в памяти логикой.
По способу интерпретации эти модели делят на модели с последовательной и параллельной интерпретацией.
Модель с последовательной интерпретацией Основными элементами этой модели является интерпретирующее УУ и связанное с ним, операционное устройство (ОУ) или совокупность операционных устройств с фиксированной структурой (в простейшем случае - это арифметико-логическое устройство (АЛУ)). Данная модель РА реализована в традиционных последовательных микропроцессорах, микроконтроллерах или секвенсорах, поведение которых определяется программным кодом, хранимым в ЗУ. Программный код представляет собой последовательный поток двоичных данных определенного формата. Он считывается из ЗУ устройством управления и направляется в ресурсы АЛУ на обработку, которая в зависимости от текущего состояния интерпретатора может трактоваться как декодирование, исполнение, управление и т.д. Модель с параллельной интерпретацией
Использование ПЛИС в составе цифровых систем
Важнейшими характеристиками качества реализаций цифровых устройств на базе ПЛИС являются скорость функционирования и объем затраченных логических ресурсов. При оценке скорости функционирования цифровых устройств будем подразделять их на два типа - комбинационные и по-следовательностные.
Скорость функционирования комбинационных схем (КС) принято оценивать на основании значения периода времени их работы, как показано на рис. 3-1. Это время будем обозначать Ткс. на основании характеристики максимальной частоты синхронизации, при которой схема сохраняет свою функциональность. Максимальная частота синхронизации зависит от времени работы логических схем, находящихся между синхронными элементами памяти (триггерными элементами), как показано на рис. 3-2. Логическая схема определяет скорость регистровых передач, которая оценивается частотой синхронизации схемы и обозначается F.
Ресурсоемкость цифровой схемы на базе ПЛИС характеризуется количеством логических ячеек (LC), необходимых для ее реализации. Такая оценка ресурсоемкости зависит от состава логических ячеек: типа функциональных преобразователей, наличия в их составе элементов памяти. Вид и наполнение логических ячеек зависит от типа ПЛИС и ее внутренней организации.
Рассмотрим несколько реализаций цифровых устройств на ПЛИС фирмы ALTERA с FPGA и CPLD организацией. При проведении исследований диссертационной работы, применялись ПЛИС семейств FLEX10K (АСЕХ) с FPGA-организацией и МАХЗК с организацией CPLD. Подробные структур ные описания семейств этих ПЛИС представлены в отечественной литературе [12, 45, 46, 48]. Наиболее полная и подробная информация о структуре этих устройств находится на сайте производителя по адресам в сети Интернет:
Основным инструментальным средством разработки функциональности для этих типов ПЛИС является САПР фирмы ALTERA -MAXPLUS+II 10.2. Этот пакет обладает достаточным набором средств, которые будут использованы при составлении оценок времени функционирования и ресурсоемкости реализаций цифровых устройств на базе уйв ааняаяувЗЛИСР (связанные с использованием различных методов логического синтеза и минимизации) при получении результатов экспериментов будут оставаться неизменными для всех проектов (с целью сокращения погрешности результатов экспериментов). Настройки САПР определяются стилем WISIWYG (который является стандартным для данной САПР).
При составлении общих оценок реализаций устройств на базе ПЛИС будем рассматривать два основных типа схем: комбинационную и последо-вательностную. Выберем две библиотечные параметризируемые функции LPM, которые при реализации на базе ПЛИС представляют собой сумматор и счетчик, разрядность которых является параметризируемой и зависит от изменяемого параметра LPMWIDTH.
В представленном примере, как и в последующих примерах, параметр WIDTH (ширина) определяет разрядность модуля. Варьируя этот параметр можно оценить качество реализации комбинационной схемы сумматора на ПЛИС с различной организацией.
Состав шаблона МЕС (Multifunctional Embedded Controller)
Шаблон МЕС содержит коммуникационный микроконтроллер — АМ186СС (с вычислительной архитектурой Х86). В состав его ядра входит большое число специализированных коммуникационных интерфейсов ввода-вывода (CAN, RS-232, IrDA, USB), что позволяет подключать его не только к обычному персональному компьютеру, но и использовать совместно с промышленными системами АСУ ТП, а также использовать его при реализации мощных приборных управляющих контроллеров. Обобщенная структура шаблона МЕС представлена на рис. 4-1. Состав МЕС позволяет произвольно конфигурировать периферийную подсистему согласно перечню компонент представленных на рисунке, а также может быть расширен путем конструктивного подключения дополнительных периферийных подсистем, расширяющих его область специализации. Шаблонный характер архитектуры МЕС позволяет рассматривать его не как одно самостоятельное законченное устройство, а как множество устройств получаемых на его основе путем многоуровневой конфигурации. Конфигурация шаблона включает в себя: штатную установку требуемых для решения задач модулей (подключаемых, интегральных или дискретных), разработку архитектуры системных механизмов путем проектирования функционального наполнения ПЛИС, разработку программного обеспечения для последовательного микропроцессорного блока на базе коммуникационного процессора АМ186СС. логика системы сброса; автоматическая/интерактивная загруз-ПЛИС ка конфигурации ПЛИС АСЕХ; управление системной шиной МАХЗК контроллеров CAN (Controller Area Network); управление системой тактирования CAN-контроллеров; системная идентификация платы. Системная энергонезависимая память. Предназначена для: хранения программ для Ami 86CC/CU; хранения конфигура-FLASH ционных файлов АСЕХ; хранения BOOTROM кода при использовании устройства (на базе МЕС) в качестве платы расширения. Системная оперативная память. Предназначена для: размеще-SRAM ния оперативных данных Ami 86CC/CU; организации буфера обмена Ami 86СС/Си АСЕХ; расширения памяти АСЕХ. Два независимых CAN-контроллера (канала). Оба канала имеют гальваническую изоляцию. Управление контроллерами возможно как от AM 186CC/CU, так и от АСЕХ. Последовательный микропроцессор (микроконтроллер): вы полнение целевых алгоритмов; реализация устройств I С master/slave; поддержка интерфейса USB (Universal Serial Bus); поддержка UART (RS232) интерфейса; интерактивная загрузка АСЕХ; реализация инструментальных процессов. На основе анализа способов аппаратной конфигурации шаблона МЕС было выделено около 10 различных сочетаний системных модулей, архитектура которых могла бы быть использована в задачах организации встроенных вычислительных систем. 1. GP186 - Вычислитель общего назначения на базе Am 186СС, 2. СВ186 -
Универсальный контроллер сети CAN, 3. GP186F - Вычислитель общего назначения на базе Ami86СС с аппаратным расширителем, 4. CB186F - Анализатор функционирования сети CAN, 5. SBC 104F - Вычислитель общего назначения на базе Am 186СС, РС/104 HOST, 6. PD186F - Универсальная плата расширения в стандарте PC/104 с вычислителем на борту, 7. SBC104F - Универсальный контроллер CAN сети, PC/104 HOST, 8. PD186F - Универсальная плата CAN расширения в стандарте PC/104 с вычислителем, 9. PDFMON-Шинный монитор РС/104, 10.PDFCAN - Универсальная плата CAN расширения в стандарте РС/104. Рассмотрим более подробно отдельные системные конфигурации шаблона МЕС. РС104 совместимый хост-контроллер Одной из наиболее простых конфигураций шаблона МЕС является реализация на его основе контроллера управления шиной РС/104. С использованием ПЛИС, имеющей физическое подключение к разъему РС/104, реализован интерфейс, позволяющий со стороны микроконтроллера АМ186СС получать доступ к этой шине и управлять ее поведением. Данная конфигурация подобна конфигурации "материнской" платы персонального компьютера, где роль микроконтроллера выполняет системный процессор, а роль ПЛИС - периферийный "chip-set", расширяющий функции ввода/вывода системы. Аппаратная конфигурация этого контроллера включает следующие компоненты: вычислитель на базе Am 186СС - 40МГц, ПЛИСЕР1К30СС208-3, ПЗУ - Flash 2 Мбайта, ОЗУ-SRAM 128 кбайт, гальванически изолированный интерфейс RS-232 (до 115.200 bps), интерфейс РС/104 16 бит, HOST, 3 канала DMA, 5 каналов IRQ, Системными функциями АМ186СС является запуск пользовательских программ, и частичное обеспечение инструментальных функций системы. На базе ПЛИС реализованы следующие механизмы: контроллер шины PC 104, конвертор адресных пространств, отображающий "дырявое" адресное пространство PC 104, унаследованное из архитектуры ISA, в линейный контекст, облегчающий пользовательское программирование периферийных контроллеров, контроллер прерываний, с возможностью динамического перераспределения приоритетов запросов, контроллер прямого доступа к памяти, программируемый на выполнение сложных пересылок из периферийных устройств в область данных прикладных процессов. Необходимо отметить, что сложность реализации и функциональность поддержки интерфейса PC/104 варьировалась в зависимости от перечня устройств, которые подключались к интерфейсу PC 104, что позволило максимально эффективно сбалансировать себестоимость различных конфигураций шаблона в задачах, решаемых специализированной системой.