автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.15, диссертация на тему:Низкоуровневое моделирование систем, проектируемых с использованием ПЛИС

кандидата технических наук
Ермошкин, Алексей Геннадиевич
город
Москва
год
2003
специальность ВАК РФ
05.13.15
Диссертация по информатике, вычислительной технике и управлению на тему «Низкоуровневое моделирование систем, проектируемых с использованием ПЛИС»

Оглавление автор диссертации — кандидата технических наук Ермошкин, Алексей Геннадиевич

Введение.- 4 -

1. Моделирование при проектировании с использованием ПЛИС. - 16

1.1 Абстрактное и низкоуровневое моделирование.- 16

1.2 Особенности проектирования с использованием ПЛИС.-21

1.3 Задачи, решаемые при низкоуровневом моделировании систем, разрабатываемых с использованием ПЛИС.- 26

1.4 Выводы.-29

2. Принципы построения низкоуровневых моделей.-31

2.1 Общие принципы построения низкоуровневой модели ВК.- 31

2.2 Архитектура ВК "Эльбрус-90микро". .- 35

2.3 Структура модели ВК "Эльбрус-90микро".- 38

2.4 Выводы.-473. Методы повышения быстродействия низкоуровневых моделей вычислительных комплексов.- 49

3.1 Использование особенностей языков моделирования аппаратуры для повышения быстродействия моделей.- 49

3.2 Библиотека СVI.- 53

3.3 Замена части тестируемых устройств эквивалентным кодом. .-51

3.4 Генератор эквивалентного кода устройств.- 60

3.5 Результаты.- 63

3.6 Выводы.- 65

Введение 2003 год, диссертация по информатике, вычислительной технике и управлению, Ермошкин, Алексей Геннадиевич

Актуальность темы. В последнее время все большую популярность приобретает методика проектирования радиоэлектронной аппаратуры с использованием Программируемых Логических Интегральных Схем (ПЛИС). Малое время проектирования, простота моделирования, а также возможность оперативного исправления ошибок на этапе реализации и малая стоимость разработки делает эту методику очень привлекательной. С другой стороны, относительно скромные характеристики программируемых схем по сравнению с полузаказными и заказными кристаллами позволяли, до последнего времени, использовать ПЛИС лишь в небольших проектах и при разработке несложных устройств.

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

Таким образом, современные ПЛИС дают возможность разрабатывать схемы большего объема, высокой сложности и быстродействия, позволяя, таким образом, создавать целые системы, используя только ПЛИС-технологию. Типичным примером подобной системы может служить множество микроконтроллеров, составляющие набор системной логики материнской платы. В диссертационной работе речь пойдет именно о таких системах.

Целью диссертационной работы является создание модели комплексной системы микроконтроллеров, основанной на низкоуровневом описании устройств, составляющих систему и решения с ее помощью задач, возникающих при разработке систем с использованием ПЛИС-технологий. Исходя из поставленной цели, в работе решаются следующие задачи:

• Анализ особенностей проектирования с использованием ПЛИС с целью определения круга задач, решение которых возможно при помощи низкоуровневого моделирования системы.

• Разработка концепции модели исходя из особенностей проектирования с использованием ПЛИС.

• Создание моделей архитектур "Эльбрус-90микро" и "Эльбрус-ЗМ" с использованием разработанных концепций.

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

• Оценка производительности системы.

Предмет исследования составляют способы повышения быстродействия низкоуровневых моделей.

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

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

Практическая ценность результатов работы состоит в создании ряда моделей различных систем в рамках проектов по созданию вычислительных комплексов "Эльбрус-90микро" в конструктиве рабочей станции и CompactPCI, а также комплекса "Эльбрус-ЗМ". Эти модели успешно использовались для отладки исходного кода устройств, оценки и повышения производительности систем, а также при финальной наладке наборов системной логики. В процессе работы разработана интерфейсная библиотека CVI и генератор эквивалентных модулей.

Вычислительный комплекс "Эльбрус-90микро" успешно прошел государственные испытания, начато его серийное производство в конструктиве рабочей станции. Разработка вычислительного комплекса "Эльбрус-ЗМ" находится на стадии физического дизайна.

Основные практические результаты, выносимые на защиту.

Разработаны следующие средства для повышения быстродействия низкоуровневых моделей:

Библиотека CVI.

Генератор эквивалентных модулей.

Разработаны низкоуровневые модели вычислительных комплексов "Эльбрус-90микро" и "Эльбрус-ЗМ". При разработке использовались вышеперечисленные средства повышения быстродействия.

Проведен анализ эффективности предложенных средств повышения быстродействия.

Публикации.

По теме диссертации опубликованы 6 работ:

Статья "Моделирование сложных систем при проектировании радиоэлектронной аппаратуры с использованием ПЛИС" в журнале "Успехи современной радиоэлектроники" (№7, 2002). Статья "Повышение быстродействия низкоуровневых моделей вычислительных комплексов, проектируемых с использованием ПЛИС" в сборнике научных трудов ИМВС РАН (2003). Доклад "Технология проектирования системных контроллеров для отечественной рабочей станции с архитектурой SPARC" в сборнике трудов конференции памяти академика Мельникова (Москва, 1999)

Тезисы доклада "Особенности отладки и оптимизации работы периферийных контроллеров, разрабатываемых с использованием

ПЛИС-технологий" на XXVII международной научной конференции "Гагаринские чтения" (Москва, апрель 2001).

• Тезисы доклада "Проблемы низкоуровневого моделирования систем, проектируемых с использованием ПЛИС" на XXVIII международной научной конференции "Гагаринские чтения" (Москва, апрель 2002).

• Тезисы доклада "Генерация эквивалентного кода устройств при низкоуровневом моделировании систем, проектируемых с использованием ПЛИС" на XXVIX международной научной конференции "Гагаринские чтения" (Москва, апрель 2003).

Краткое содержание работы.

В главе 1 рассматриваются низкоуровневое и абстрактное моделирование вычислительных систем, особенности и недостатки каждой методики моделирования, а также задачи, которые целесообразно решать при помощи каждого подхода. Делается вывод, что лишь низкая скорость моделирования препятствует использованию низкоуровневых моделей для решения более широкого круга задач. Далее рассматриваются особенности проектирования устройств с использованием ПЛИС, анализируется спектр задач, которые могут решаться при помощи модели на разных этапах проектирования. Делается вывод о том, что низкоуровневая модель наиболее соответствует спектру задач, возникающих при моделировании вычислительных систем, проектируемых с использованием ПЛИС.

Низкоуровневое моделирование подразумевает использование исходных описаний устройств на языке описания аппаратуры, в противоположность ему абстрактное моделирование проводится с использованием функциональных описаний на языке высокого уровня. К достоинствам первого метода относятся: адекватное поведение модели реальному устройству, полная доступность внутренних интерфейсов устройств и, как следствие, простота диагностики обнаруженных ошибок. К достоинствам второго метода относятся: высокая скорость моделирования, обилие и гибкость средств разработки.

При моделировании обычно решаются следующие задачи:

1) Использование модели системы как тестовой оболочки при отладке каждого из устройств.

2) Создание потоковых тестов для обнаружения ошибок при взаимодействии устройств.

3) Сбор статистики для оценки алгоритмов арбитража и управления потоками данных.

4) Оценка производительности системы.

5) Верификация протоколов взаимодействия устройств.

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

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

Важной особенностью проектирования с использованием ПЛИС является то, что переход от физического дизайна к реализации не требует сложных технологических процессов и может повторяться многократно без существенных затрат. Использование данного подхода имеет немало преимуществ, но возникает еще одна задача, которую необходимо решать при помощи модели - воссоздание аварийных ситуаций, обнаруженных во время тестирования реального устройства. Данная задача может решаться лишь при помощи низкоуровневой модели.

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

В главе 2 рассматриваются общие принципы построения низкоуровневой модели вычислительного комплекса, выделяются общие элементы, проводится описание каждого элемента, рассматриваются его функции и задачи, им решаемые. Далее рассматривается архитектура вычислительного комплекса "Эльбрус90-микро" и его низкоуровневой модели в рамках вышеописанных принципов. Описывается схема работы каждого элемента.

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

• Тестируемые устройства (ТУ).

• Генераторы нагрузки (ГН).

• Модули мониторинга и статистики (ММС).

• Имитаторы периферийных устройств (ИЛУ).

Тестируемые устройства составляют, собственно, объект тестирования.

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

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

Имитаторы периферийных устройств симулируют активность устройств, внешних по отношению к тестируемой системе. Они подключаются к каждому внешнему интерфейсу системы, чья активность необходима для проведения тестов.

Архитектура комплекса "Эльбрус90-микро" представлена системной шиной MBus, на которой работают до четырех процессоров, контроллеры шин SBus и PCI и контроллер памяти. На шине SBus располагаются котроллеры периферии: SCSI, Ethernet, параллельного порта и контроллер шины медленных периферийных устройств EBus, на которой, в свою очередь, располагаются контроллер флоппи-дисковода, клавиатуры и мыши.

В рамках модели вычислительного комплекса "Эльбрус90-микро" тестируемыми устройствами являются системные контроллеры периферийных шин SBus и PCI MSI и MPI соответственно, контроллер памяти, периферийные контроллеры SCSI, Ethernet, параллельного порта и контроллер периферийной шины EBus. Каждый из интерфейсов (MBus, SBus, SCSI, PCI, EBus, Ethernet, память) оснащен соответствующим модулем мониторинга, а все внешние интерфейсы закрыты имитаторами периферии.

В главе 3 проводится анализ основных недостатков низкоуровневого моделирования и способы их устранения. Предлагается использование языков высокого уровня для описания отдельных элементов модели. Описывается библиотека CVI, ее состав и применение. Рассматриваются проблемы эквивалентной генерации модулей. Предлагается решение рассмотренных проблем путем использования промежуточного представления данных САПР. Описывается генератор эквивалентных модулей, в котором реализован предложенный подход. Далее приводятся результаты применения предложенных методов повышения быстродействия в моделях вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ".

Основным недостатком низкоуровневых моделей является их низкое быстродействие. Для повышения быстродействия низкоуровневой модели предлагается описать часть ее на более быстром языке высокого уровня. При переносе на абстрактный уровень сервисной части модели (все кроме тестируемых устройств) сохраняются основные преимущества низкоуровневой модели - адекватность реальной системе и доступ к внутренним интерфейсам устройств.

Для взаимодействия абстрактной и низкоуровневой частей модели необходим интерфейс. Такой интерфейс можно реализовать, используя PLI (programmable logic interface) языка моделирования аппаратуры. PLI можно использовать для реализации непосредственного взаимодействия устройств, но подобный способ обладает массой недостатков, в частности, необходимостью перекомпиляции симулятора при каждом изменении интерфейса или состава модели, наличие своей оригинальной функции взаимодействия для каждого из устройств и т.д.

Всех этих недостатков лишен другой способ организации взаимодействия - межпроцессный. При помощи PLI и функций операционной системы реализуется интерфейс межпроцессного обмена, пользуясь которым можно создавать произвольные схемы взаимодействия, не затрагивая самих интерфейсных библиотек.

CVI (С to Verilog interface) - интерфейсная библиотека построенная на описанных выше принципах, была создана и успешно использовалась в низкоуровневых моделях вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ".

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

Однако, задачу автоматической генерации эквивалентного кода устройств можно сильно упростить, если за основу для генерации кода взять не исходное описание устройства, а промежуточное представление данных САПР - net list. Данное представление состоит из набора простейших элементов, каждый из которых легко реализуется на языке высокого уровня. В силу небольшого количества данных элементов задача автоматической генерации эквивалентных модулей значительно упрощается и сводится к описанию библиотеки элементов для каждого семейства ПЛИС, синтаксического анализатора промежуточных представлений и, собственно, генератора.

Генератор эквивалентных модулей на основе промежуточного представления данных САПР был разработан и успешно использован при моделировании вычислительного комплекса "Эльбрус-ЗМ".

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

Заключение диссертация на тему "Низкоуровневое моделирование систем, проектируемых с использованием ПЛИС"

3.6 Выводы.

1) Сформулированы основные проблемы низкоуровневого моделирования.

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

3) Рассмотрены два варианта реализации предложенного подхода посредством PLI языка моделирования аппаратуры. Выявлены преимущества и недостатки каждого из них.

4) Описана библиотека CVI, реализующая связь между частями модели, описанными при помощи Verilog и С, посредством межпроцессного взаимодействия.

5) Рассмотрены ситуации, в которых возможно использование высокоуровневых описаний части тестируемых устройств, а также разные способы получения таких описаний.

6) Предложен способ автоматической генерации эквивалентного кода устройств на основании промежуточного представления САПР.

7) Описан генератор эквивалентных описаний устройств, использующий подобный подход.

8) Приведены результаты применения предложенных способов повышения быстродействия при моделировании ВК "Эльбрус90-микро" и "Эльбрус-ЗМ".

Заключение.

Диссертационная работа посвящена вопросам низкоуровневого моделирования вычислительных комплексов. Были исследованы особенности моделирования систем при проектировании с использованием ПЛИС и возможности по увеличению быстродействия низкоуровневых моделей в рамках подобного проектирования. Поставленные задачи были решены практически в виде реализации низкоуровневых моделей вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ" с использованием предложенных методов повышения быстродействия.

В ходе решения поставленных задач были получены следующие результаты:

1. Проведен анализ задач, решаемых на этапе моделирования вычислительных комплексов, разрабатываемых с использованием ПЛИС. Результатом анализа является вывод о предпочтительности низкоуровневого моделирования перед абстрактным при решении большинства задач при достижении более высоких скоростей их работы.

2. Для решения задачи увеличения производительности низкоуровневых моделей было предложено описание части модели на языке высокого уровня. В рамках реализации данного предложения было использовано две основных стратегии:

• Реализация сервисной части модели на языке высокого уровня

• Замена части тестируемых устройств эквивалентными модулями на языке высокого уровня.

3. Для реализации совместной работы модулей, описанных на языке моделирования аппаратуры, и модулей, описанных на языке высокого уровня, была разработана интерфейсная библиотека CVI (С to Verilog Interface).

4. Для создания модулей, эквивалентных исходным описаниям устройств, был создан генератор эквивалентных модулей, использующий промежуточное представление данных САПР (net list) для создания описания устройства на языке высокого уровня.

5. Предложенные методы и средства были использованы при моделировании вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ". Представлены результаты применения предложенных методов увеличения производительности.

Результаты применения предложенных методов повышения производительности показал, что их эффективность напрямую зависит от сложности разрабатываемой системы. Применение данных методов в рамках проектов вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ" позволило отказаться от написания абстрактной модели и решить поставленные задачи в рамках низкоуровневого моделирования без существенных потерь во времени.

Работы по разработке и применению вышеописанных средств велись в рамках проектов по разработки системной логики вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ". Автором был разработан и реализован генератор эквивалентных модулей, часть библиотеки CVI, относящаяся к языку Verilog и все сервисные части моделей вычислительных комплексов.

В заключение мне бы хотелось поблагодарить всех людей, принимавших участие в проектах по разработке вычислительных комплексов "Эльбрус90-микро" и "Эльбрус-ЗМ". Отдельно хочу поблагодарить начальника отдела ЗАО "МЦСТ", к.т.н. В.М. Фельдмана и проф. В.В.Шилова, помогавших мне в течение всего времени написания этой работы, и без которых она была бы невозможна.

Библиография Ермошкин, Алексей Геннадиевич, диссертация по теме Вычислительные машины и системы

1. PureSpec - Complete Verification 1. for bus protocol interfaces. // http://www.denali.com/products purespec.html, Denali Software Inc. 1994-2003.

2. А.Г. Ермошкин. Повышение быстродействия низкоуровневых моделей вычислительных комплексов, проектируемых с использованием ПЛИС. // Сборник научных трудов ИМВС РАН (2003).

3. Stefen Boyd. Using VERA to Test a DMA Engine. // http://www.open-vera.com/technical/boyd.pdf Boyd Technology Inc. 2001.

4. Verilog-XL ® Reference Manual Vol. 1. Cadence Design System Inc, 1991.

5. Verilog-XL ® Reference Manual Vol. 2. Cadence Design System Inc, 1991.

6. Marco Brunelli, Luca Batto, Andrea Castelnuovo, Francesco Sforza. Functional Verification of an HW Block using VERA. // http://www.open-vera.com/technical/sforza.pdf General R&D, NVM Design Platform STMicroelectronics Agrate. 2001.

7. А.Г. Ермошкин, M.C. Михайлов. Особенности отладки и оптимизации работы периферийных контроллеров, разрабатываемых с использованием ПЛИС-технологий. // Тезисы доклада на XXVII международной научной конференции "Гагаринские чтения" (Москва, апрель 2001).

8. Kevin Thomson, Ladd Williamson. Hardware Verification with the Unified Modeling Language and VERA. // http ://ww w .open-vera.com/technical/thompson final.pdf Cypress Semiconductor. 2002.

9. А.Г. Ермошкин, М.С. Михайлов. Технология проектирования системных контроллеров для отечественной рабочей станции с архитектурой SPARC. // Сборник трудов конференции памяти академика Мельникова (Москва, 1999)

10. М. Marazakis, С. Nikolaou. TPsim- A Simulator for Transaction Processing Systems.http://www.ercim.org/publication/Ercim News/enw23/TPsim.html, ERCIM News №23, October 1995.

11. А.Г. Ермошкин. Проблемы низкоуровневого моделирования систем, проектируемых с использованием ПЛИС. // Тезисы доклада на XXVIII международной научной конференции "Гагаринские чтения" (Москва, апрель 2002).

12. А.Г. Ермошкин. Моделирование сложных систем при проектировании радиоэлектронной аппаратуры с использованием ПЛИС. // Журнал "Успехи современной радиоэлектроники" (№7, 2002).

13. Open Vera Technology Backgrounder. // http ://w w w. open-vera.com/technical/openvera tb.html Synopsis Inc. April 2001.

14. Venkat Rajaraman, Narayanan Vydianathan, Khosrow Hajikhani. Scalable Verification Methodology using VERA. // http://www.openvera.com/technical/raiaraman final.pdf Networking and Security Group, Sun Microsystems.

15. Renwei Wang, Zongyao Wen. A Verification Environment for PCI-X BFMs in VERA. // http://www.open-vera.com/technical/wang final.pdf Intellectual Property and System Synopsys Inc. 2002.

16. А.Г. Ермошкин. // Тезисы доклада "Генерация эквивалентного кода устройств при низкоуровневом моделировании систем, проектируемых с использованием ПЛИС" на XXIX международной научной конференции "Гагаринские чтения" (Москва, апрель 2003).

17. Senthil Krishnamoorthy, Gorav Arora, Rajesh Guravannavar. Network System Verification with VERA. // http://www.open-vera.com/technical/krishnamoorthv final.pdf Redeare Network Inc. 2002.

18. Бьерн Страуструп. Язык программирования С++". Специальное издание. // Binom Publishers, Москва 2001.

19. Assertion-based verification. // http://www.svnopsvs.com/products/simulation/assertion based wp.pdf Synopsis Inc. March 2002.

20. S. Dey, E.J. Marinissen, Y. Zorian. Testing System Chips: Methodologies and Experiences. // Integrated System Design (ISD), pp. 36-48, Sept 1999.

21. Janick Bergeron, Dave Simmons. Exploring the Power of VERA: Creating Useful Class Libraries. // http://www.open-vera.com/technical/bergeron.pdf Qualis Design Corporation. January 2000.

22. Verification Intellectual Property (IP) Modeling Architecture. // http://www.open-vera.com/technical/vip arch.pdf Synopsis Inc. May 2002.

23. Functional Verification Automation for IP. Bridging the Gap between IP Developers and IP Integrators. // http://www.bitpipe.com/data/detail?id=996066628 214&tvpe=RES&src =av reports.

24. A.S. Meyer. S Loosely Coupled C/Verilog Environment for System Level Verification. //http ://w w w. zaiq tech.com/innovation/whitepaper сverilo g. pdf.

25. Co-Verification Debugger Enables Hardware and Software Communication for SoC Verification. // http://www.axiscom.com/products/whitepaper full.html.

26. D. Chapirro. Testbench vs. High-Level Languagies for Verification. // Computer Design's Electronic System Technology & Design. May 1999.

27. Antrim Design Systems, Inc. The Characterization and Behavioral Model Generation of Analog Intellectual Property. // http://www.bitpipe.com/data/detail?id=991235085 592&tvpe=RES&x= 2001655138.

28. Verisity Design, Inc. Spec-Based Verification. A New Methodology for Functional Verification of Systems/ASICs. // http://www.verisity.com/resources/whitepaper/specbased.html.

29. M. Newman. Test Benches in С Speed Verification by Unifying Emulation and Simulation. // Integrated System Design (ISD), pp. 3440. Nov 1999.

30. The Rise of Third-Party Design and Verification Resources. // http://www.zaiqtech.com/innovation/whitepaper sourcing.pdf.

31. Petlin, A. Ggenisov, L. Wakeman. Methodology and Code Reuse in the Verification of Telecommunication SOCs. // http://www.zaiqtech.com/innovation/whitepaper methodology.pdf.

32. P. Whittermore, G. Dearth. Object-Oriented Approach to Verification. // Proc. of first Synopsis Users Group Conference. SNUG'99, Section FC-1, Oct 1999.

33. A. Lucas, S. Goss. The Potential for Intelligent Software Agents in Defense Simulation. // http://www.agent-software.com/shared/docs/tech-reports/tr99Q2.pdf. Oct 1999.

34. T.L. Anderson. White-box Verification for Complex Designs. // http://www.bitpipe.com/data/detail?id=977255493 473&type=RES&x= 508201306. Sept 2000

35. Д. Кнут. Искусство программирования для ЭВМ. // Мир. 1978.

36. John L. Hennessy, David A. Patterson. Computer Architecture. A Quantitative Approach. 3rd Edition. // Morgan Kaufmann Publishers. 2003.1. Список иллюстраций.

37. Рис. 1 Этапы проектирования с использованием ПЛИС. 23

38. Рис. 2 Состав низкоуровневой модели произвольного ВК.-31

39. Рис. 3 Архитектура ВК "Эльбрус-90микро".- 35

40. Рис. 4 Схема работы ИПУ PCI и SBus.- 41

41. Рис. 5 Схема работы ИПУ SCSI. 42

42. Рис. 6 Связь сервисных и тестовых устройств посредством PLI.- 52

43. Рис. 7 Связь сервисных и тестовых устройств посредством межпроцессного взаимодействия.- 52

44. Рис. 8 Взаимодействие С Verilog посредством СVI.- 53

45. Рис. 9 Взаимодействие мужду устройствами посредством CVI.- 56г

46. Рис. 10 Схема работы генератора эквивалетного кода устройств.- 60

47. Рис. 11 Результат замены сервисной части модели С-устройствами.- 63

48. Рис. 12 Зависимость увеличения скорости работы устройств от размера кода.- 64