Разработка специализированных прототипов на основе программируемой логики для эффективной функциональной верификации многоядерных микропроцессоров тема диссертации и автореферата по ВАК РФ 05.13.05, кандидат наук Юрлин, Сергей Владимирович

  • Юрлин, Сергей Владимирович
  • кандидат науккандидат наук
  • 2014, Москва
  • Специальность ВАК РФ05.13.05
  • Количество страниц 135
Юрлин, Сергей Владимирович. Разработка специализированных прототипов на основе программируемой логики для эффективной функциональной верификации многоядерных микропроцессоров: дис. кандидат наук: 05.13.05 - Элементы и устройства вычислительной техники и систем управления. Москва. 2014. 135 с.

Оглавление диссертации кандидат наук Юрлин, Сергей Владимирович

Содержание

Содержание

Используемые сокращения

Определения

Введение

Актуальность работы

Цель исследования

Научная новизна работы

Практическая ценность

Достоверность научных положений и выводов

Личный вклад автора

Апробация

Публикации по теме диссертации

Глава 1. Аппаратные средства ускорения функциональной верификации

1.1 Классификация

1.2 Программное моделирование

1.3. Серверы на основе процессоров общего назначения

1.4. Ускорители на основе графических ядер

1.5 Промышленные аппаратные средства

1.5.1 Аппаратные ускорители программного моделирования

1.5.2 Аппаратные Эмуляторы

1.5.3 Прототипы на основе ПЛИС

1.6 Специализированные прототипы на ПЛИС

1.6.1 Система прототипирования Intel

1.6.2 Система прототипирования IBM

1.6.3 Прототипы ЗАО «МЦСТ»

1.6.3.1 Недостатки созданных специализированных прототипов на основе

ПЛИС

1.6.3.2 Функциональная верификация с использованием созданных

специализированных прототипов на основе ПЛИС

1.6.4 Программное обеспечение для функционирования прототипа микропроцессора

1.7 Сравнение способов функциональной верификации

1.8 Выводы

Глава 2. Особенности применения специализированных прототипов на основе ПЛИС

2.1 Маршрут прототипирования

2.2 Разработка специализированного прототипа на основе ПЛИС

2.2.1 Проблема ограниченной ёмкости ПЛИС

2.2.2 Проблема разработки аппаратуры прототипа

2.3 Адаптация ЮХ-описания для эмуляции на ПЛИС

2.3.1 Разделение ЮЬ-описания микропроцессора на блоки

2.3.2 Адаптация несинтезируемых в ПЛИС блоков исходного ЮХ-описания микропроцессора

2.3.2.1 Подключение оперативной памяти

2.3.2.2 Замена внутренних памятей микропроцессора

2.3.2.3 Подключение высокочастотных интерфейсов микропроцессора

2.3.3 Результат разделения ЯТЬ-описания микропроцессора

2.4 Организация передачи данных между ПЛИС

2.4.1 Подключение ЯТЬ-описания в ПЛИС

2.4.2 Особенности топологической трассировки ПЛИС

2.4.3 Сложность длительной передачи данных между ПЛИС

2.4.4 Сравнение существующих методов передачи данных между ПЛИС

2.5 Оптимизация интерфейсов взаимодействия ПЛИС

2.5.1 Оптимизация подключения блоков ИТЬ-описания

2.5.2 Выбор интерфейса передачи данных

2.5.3 Определение интерфейса прототипа

2.6 Особенности передачи данных в прототипе

2.6.1 Основные понятия

2.6.2 Передача «точка-точка»

2.6.3 Использование коммутаторов

2.7. Диагностика функционирования аппаратуры прототипа

2.8 Программное моделирование интерфейса

2.8 Перспективы развития

2.9 Выводы

Глава 3. Реализация прототипов и анализ конструкции

3.1 Основа реализации

3.2 Прототип четырёхъядерного микропроцессора «Эльбрус-28»

3.2.1 Особенности проектируемого микропроцессора

3.2.2 Определение структуры прототипа

3.2.3 Организация системы синхронизации

3.2.4 Анализ реализации прототипа микропроцессора "Эльбрус-28"

3.3 Прототип восьмиядерного микропроцессора «Эльбрус-8С»

3.3.1 Особенности проектируемого микропроцессора

3.3.2. Определение структуры прототипа

3.3.3 Система синхронизации

3.3.4 Особенности конструкции

3.3.5 Анализ прототипа микропроцессора «Эльбрус-8С»

3.4 Анализ полученных прототипов

3.4.1 Анализ созданных специализированных прототипов на основе ПЛИС

3.4.1.1 Выявление недостатков программной части прототипа

3.4.1.2 Выявление недостатков аппаратной части прототипа

3.4.1.3 Синхронизация частоты эмуляции во всех ПЛИС прототипа. 111 3.4.2 Оптимизация устройства прототипа

3.5 Самосинхронизация модулей прототипа

3.5.1 Протокол работы

3.5.2 Масштабируемая система прототипирования

3.5.3 Оценка характеристик масштабируемой системы прототипирования

3.6 Выводы

Заключение

Литература и ссылки

Используемые сокращения

FPGA - Field-Programmable Gate Array

ICE - In-Circuit Emulator

LVDS - Low Voltage Differential Signaling

SSTL - Stub Series Terminated Logic

HPC - High Performance Computing

MC - Memory Controller

JTAG - Joint Test Action Group

DDR3 - Double-Data-Rate

SRAM - Static Random Access Memory

RTL - Register Transfer Language

CPLD - Complex Programmable Logic Device

PLL - Phase-locked loop

DPA - Dynamic Phase Alignment

TDM - Time-Division Multiplexing

HSTDM - High-Speed Time-Domain Multiplexing

ОП - Оперативная Память

СБИС - Сверхбольшая Интегральная Схема

ПЛИС - Программируемая Логическая Интегральная Схема

ВЧПП - Высокочастотные приёмо-передатчики

МПП - Многослойная печатная плата

СнК - Система на Кристалле

МП - Микропроцессор

САПР - Система Автоматического Проектирования

Определения

Прототип - аппаратное изделие на основе конфигурационной логики, предназначенное для эмуляции описания микропроцессора на уровне регистровых передач (ЯТЬ-описания).

Эмуляция - процесс копирования функций оригинального проектируемого микропроцессора при помощи аппаратуры с целью достижения максимального соответствия.

Моделирование (симуляция) - процесс копирования функций оригинального проектируемого микропроцессора при помощи программных продуктов с целью достижения максимального соответствия.

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

Несинтезируемостъ - отсутствие возможности при эмуляции достижения полного соответствия оригиналу.

Частота эмуляции - частота тактирования логики микропроцессора при её реализации в прототипе.

Частота синхронизации - частота, на которой происходит передача данных от логики в каналы передачи данных.

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

Рекомендованный список диссертаций по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка специализированных прототипов на основе программируемой логики для эффективной функциональной верификации многоядерных микропроцессоров»

Введение

Актуальность работы

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

Обеспечение за приемлемое время наиболее полного тестового покрытия модели многоядерного процессора в виде RTL-описания (англ. register transfer level, RTL) является основной задачей функциональной верификации. В условиях сокращения сроков создания и выпуска новых версий микропроцессоров общепринятым является применение вспомогательной аппаратуры. Ведущими производителями в области автоматизации проектирования предлагается несколько классов такой аппаратуры:

• Многоядерные серверы для программной симуляции на основе процессоров общего назначения (напр. VCS от компании Synopsys);

• Ускорители программной симуляции на основе графических процессоров (напр. RocketSim от компании Rocketick);

• Эмуляторы на основе специализированных процессоров (напр. Palladium от компании Cadence);

• Эмуляторы на основе микросхем программируемой логики (напр. Veloce от компании Mentor Graphics);

• Прототипы на основе микросхем программируемой логики (напр. HAPS от компании Synopsys).

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

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

Цель исследования

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

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

• Разработка технических решений по созданию специализированных прототипов на основе ПЛИС в пределах выделенного интервала времени от момента определения структуры многоядерных микропроцессоров до момента готовности их ЯТЬ-описания с учётом увеличения количества оборудования;

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

• Разработка специализированных прототипов на основе ПЛИС для эффективной функциональной верификации четырёхъядерного и восьмиядерного микропроцессоров серии «Эльбрус» и их окружения.

Научная новизна работы

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

• Определены узкие места, замедляющие ввод специализированных прототипов многоядерных микропроцессоров на основе ПЛИС в эксплуатацию и ограничивающие их частоту эмуляции;

• Решена проблема унификации подключения в проекте ПЛИС блоков ЯТЬ-описания к различным физическим уровням, что позволило автоматизировать этот процесс;

• Реализована система автоматизированной диагностики функционирования аппаратуры специализированного прототипа на основе ПЛИС, позволяющая определить её работоспособность, выявить неисправные места и обеспечить контроль корректности работы в процессе использования;

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

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

Практическая ценность

Практическая значимость исследований, выполненных по теме диссертации, заключается в разработке специализированных прототипов четырёхъядерного и восьмиядерного микропроцессоров на основе ПЛИС в пределах выделенного интервала времени от момента определения структуры многоядерных микропроцессоров до момента готовности их ЮХ-описания. При этом была обеспечена максимальная, с учётом доступной элементной базы, частота эмуляции микропроцессора в прототипе.

Разработанные методы нашли применение в четырёх различных проектах, выполняемых для ЗАО «МЦСТ» в рамках задачи функциональной верификации микропроцессоров: «Эльбрус-28», «Эльбрус-8С», «МП-Ч», - а также контроллера периферийных интерфейсов «КПИ-2». Применение созданных решений при реализации прототипов позволило за отведённое время успешно завершить этап функциональной верификации ЯТЬ-описания указанных изделий, обеспечив минимизацию затрат.

Достоверность научных положений и выводов

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

Личный вклад автора

Рассматриваемые в диссертации методы, уменьшающие время ввода в эксплуатацию специализированных прототипов на основе ПЛИС и повышающие частоту эмуляции, создавались коллективом разработчиков ОАО «ИНЭУМ им. И.С. Брука» при личном участии автора. Научные положения, рекомендации и выводы сформулированы лично автором.

Специализированные прототипы на основе ПЛИС, реализованные в рамках задачи функциональной верификации RTL-описания многоядерных микропроцессоров, спроектированы автором лично и реализованы коллективом разработчиков в ОАО «ИНЭУМ им. И.С. Брука» и ЗАО «МЦСТ» при личном участии автора. Система разделения RTL-описания микропроцессоров разработана при личном участии автора.

Апробация

Результаты диссертационной работы изложены в ряде печатных публикаций, докладывались на международных и всероссийских научных конференциях в период с 2011 по 2014 гг. В их число входят: молодёжная международная научная конференция «Гагаринские чтения» (Москва, 2011), 1-ая всероссийская научно-техническая конференция «Расплетинские чтения» (Москва, 2014), научная сессия НИЯУ МИФИ-2014.

Публикации по теме диссертации

По теме диссертации опубликованы в 5 печатных работ в период с 2011 по 2014 гг:

1. Юрлин C.B. - Методы создания систем прототипирования на основе программируемой логики. Труды молодёжной международной научной конференции "Гагаринские чтения" -Москва 2011, с. 126.

2. Будылин Ф.К., Полищук И.А., Слесарев М.В., Юрлин C.B. - Опыт прототипирования микропроцессоров компании ЗАО «МЦСТ». Журнал «Вопросы Радиоэлектроники» - 2012, с. 132.

3. Бычков И.Н., Рябцев Ю.С., Юрлин C.B. - Варианты распределенной сети питания для многоядерных микропроцессоров. Журнал «Вопросы Радиоэлектроники» - 2013, с. 157.

4. Юрлин C.B., Бычков И.Н. - Прототипы микропроцессоров с архитектурой «Эльбрус». Сборник тезисов докладов 1-ой всероссийской научно-технической конференции «Расплетинские чтения» - Москва 2013, с. 216.

5. Слесарев М.В., Юрлин C.B. - Определение расчётной частоты эмуляции микропроцессора в прототипе на основе ПЛИС. Журнал «Вопросы Радиоэлектроники» - 2014, с.119.

6. C.B. Юрлин - Реализация прототипов на основе ПЛИС для функциональной верификации многоядерных микропроцессоров -Научная сессия МИФИ-2014. Аннотация докладов. Т. 3., с. 65.

Глава 1. Аппаратные средства ускорения функциональной верификации

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

1.1 Классификация

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

Применение для программной симуляции многоядерных серверов на основе процессоров общего назначения (VCS от компании Synopsys) и ускорителей на основе графических процессоров (RocketSim от компании Rocketick) позволяет получить увеличение скорости тестирования. Но существенное её увеличение возможно только путём использования специальной аппаратуры. Её можно разделить на три основные группы.

Ускорители программного моделирования (от англ. hardware accelerator) предназначены для увеличения скорости обработки данных в RTL-симуляторах. Примером такого решения являются Palladium фирмы Cadance, VStation PRO и Veloce фирмы Mentor Graphics. Их реализация основана на

использовании микросхем специального применения (от англ. application-specific integrated circuit, ASIC), поэтому стоимость подобных систем крайне высока. Кроме того, при моделировании крупных многоядерных микропроцессоров, габариты аппаратуры существенно растут.

Аппаратные эмуляторы (от англ. hardware emulator) - это аппаратные средства, предназначенные для имитации поведения проектируемых микросхем. Они реализованы с использованием большого количества ПЛИС (сотни штук), соединённых друг с другом линиями связи, например ZeBu фирмы Synopsys. Такая организация позволяет сохранять прозрачность эмулируемого RTL-описания микропроцессора путём вывода большого количества диагностической информации, но недостаток такого решения -высокая стоимость.

Более дешёвым решением в области эмуляции микропроцессоров является прототип на основе ПЛИС (от англ. FPGA prototype), например HAPS фирмы Synopsys. Здесь количество ПЛИС составляет от единиц до нескольких десятков, что существенно снижает стоимость. Весьма ограниченное количество конфигурационной логики увеличивает сложность перевода RTL-описания для загрузки на прототип. Кроме того, снижается количество диагностической информации, что осложняет локализацию ошибок при функциональной верификации.

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

Таблица 1.1. Сравнение категорий аппаратных средств функциональной верификации

С\

Тип Серверы и графические ускорители Аппаратные ускорители программного моделирования Аппаратные эмуляторы Прототипы на ПЛИС Специализированные прототипы на ПЛИС

Пример изделия VCS от Synopsys, RocketSim от Rocketick Palladium от Cadence Veloce от Mentor Graphics HAPS от Synopsys

Диагностическая информация Полная Полная Подробная Ограниченная Ограниченная

Частота моделирования 100 Гц 100 кГц 1 МГц 10 МГц 20 МГц

Максимальный объём эмулируемой логики 600 MGates 2 BGates 1 BGates 144 MGates 750 MGates

Время подготовки аппаратуры Низкое Среднее Среднее Долгое Долгое

Габариты Сервер Комната 2x2x3 м 0,6 х 0,4 х 0,4 м 0,6 х 0,5 х 0,2 м

Относительная стоимость необходимой комплектации 1 100-300 20-50 2-4 1-3

Производителями прототипов рассматриваются случаи, когда между блоками ЮХ-описания устанавливается относительно небольшое количество логических связей, среда передачи данных считается достаточно надёжной, а тестирование подсистемы памяти требует дополнительных аппаратных модулей. В рамках этого решения рост количества логических связей между блоками ЮХ-описания и масштабов подсистемы памяти (как, например, в многоядерных микропроцессорах серии «Эльбрус»), ввиду ограниченного количества контактов ввода/вывода ПЛИС, приводит к существенному снижению эффективности предлагаемых универсальных изделий. Решением является изменение аппаратуры прототипа с учётом топологической структуры проектируемого многоядерного микропроцессора. Такие прототипы имеют более высокую скорость тестирования, что позволяет обеспечить наиболее полное тестовое покрытие в кратчайшие сроки. Поэтому, четвёртой группой специальных аппаратных средств можно выделить специализированные прототипы на основе ПЛИС. Кроме того, специфичность аппаратуры позволяет эмулировать работу многоядерного микропроцессора в составе реальной вычислительной системы и, кроме самого ЮХ-описания, проводить верификацию операционной системы, программы начального старта и периферийного оборудования.

1.2 Программное моделирование

Наиболее подробным способом функциональной верификации является программное моделирование с помощью ЮХ-симуляторов (напр. МосЫЭт). Оно повышает детализацию, однако существенно снижает покрытие тестами из-за низкой скорости тестирования. Опыт ЗАО «МЦСТ» показывает, что при симуляции целого четырёхъядерного микропроцессора серии «Эльбрус» (Эльбрус-28) вместе с южным мостом максимальная установленная частота симуляции равна 30 Гц. А для восьмиядерного микропроцессора («Эльбрус-ВС») всего 1 Гц. При этом для моделирования работы от этапа включения до

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

1.3. Серверы на основе процессоров общего назначения

Наиболее очевидным и доступным вариантом становятся многоядерные серверы на основе микропроцессоров общего назначения (напр. УС8 от компании 8упорБу8 [3]). Это позволяет достигать ускорения моделирования до 10 раз. Но для больших проектов многоядерных микропроцессоров этого недостаточно. Для преодоления этого ограничения существует метод контрольных точек. Он заключается в том, что симулятором, написанным на языках высокого уровня, формируются фиксированные точки загрузки операционной системы и состояния сигналов и регистров в них. Таким образом, появляется возможность задания некоторого набора входных воздействий с равномерным шагом, вплоть до загрузки операционной системы. Симуляцию можно запускать с каждой контрольной точки независимо. Тогда, имея N контрольных точек и N вычислительных машин, есть возможность за относительно короткое время (порядка месяца) получить результат моделирования целого микропроцессора. Очевидна низкая эффективность данного метода, так как в случае исправления найденной ошибки необходимо перезапускать длительный процесс моделирования.

1.4. Ускорители на основе графических ядер

Одним из вариантов ускорения программного моделирования RTL-описания микропроцессора является использование ускорителей на основе графических процессоров (напр. RocketSim от компании Rocketick [61]). Производителем данного решения заявлено ускорение в 10 раз, но опыт использования графических процессоров с большим количеством ядер показал ускорение симуляции до 25 раз [34]. Однако, дальнейшее ускорение оказалось весьма затруднительным из-за низкого распараллеливания симуляции и высоких накладных расходов на передачу результатов вычислений [33]. Кроме того, у графических ускорителей есть ограничение в эмулируемой логике (до 600 MGates), которое не позволяет моделировать объёмное RTL-описание многоядерных микропроцессоров целиком.

1.5 Промышленные аппаратные средства

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

1.5.1 Аппаратные ускорители программного моделирования

Существенного увеличения частоты программного моделирования позволяют достичь промышленные аппаратные ускорители на основе множества микросхем специального применения (ASIC). Архитектура данных микросхем и системы в целом специализированны под программное моделирование RTL-описания микропроцессора, что позволяет добиться достаточно высокой частоты эмуляции микропроцессора по сравнению с вычислениями на обычных серверах.

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

Наиболее распространёнными аппаратными ускорителями программного моделирования являются:

• Palladium от Cadance [13, 14, 15, 16],

• VStation PRO от Mentor Graphics [9],

Psfedun Mxjgtotes

KTl Database jndTngger

(WrtogWUHAVi ConttMs

\ / Integrated Compile Engine

Штуу HOUCEtorfaa Drtwrj

С oír**« Syntheib taserwi

Mfaffitonns rtProfos

Рисунок 1.1. Система прототипирования Palladium.

Рисунок 1.2. Аппаратный ускоритель программного моделирования фирмы

Mentor Graphics .

Отличительными особенностями данных систем является:

• Возможность просмотра всех сигналов и памятей проектируемой микросхемы.

• Сохранения истории работы модели.

• Возможность остановки модели и последующего его запуска с этого места.

Основными недостатками аппаратных ускорителей являются:

• Высокая стоимость оборудования

• Существенный размер при проектировании серверных микропроцессоров.

• Высокое энергопотребление.

• Отсутствие специализированной периферии.

В таблице 1.2 приведены максимальные характеристики для аппаратных ускорителей программного моделирования. Такие значения, как правило, не достигаются в реальных системах. Особенно это касается частоты эмуляции. Например, для системы Palladium частота в 4 МГц может быть достигнута практически на нулевой загрузке системы. Реальный показатель существенно ниже.

Параметр Palladium VStation PRO

Емкость на штуку, 1УЮ 8 6,67

Емкость кластера, 1УЮ 2000 120

Частота эмуляции, МГц 4 1

Скорость компиляции, Мв/час 35 5

Оперативная память, ГБ 1000 0,5

Количество портов ввода/вывода 147456 4608

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

1.5.2 Аппаратные Эмуляторы

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

Наиболее распространёнными эмуляторами являются:

• Veloce от фирмы Mentor Graphics [8, 11];

• ZeBu-Server Enterprise Emulator от фирмы Synopsys [6, 7];

• HPC (High Performance Computing) системы от фирмы Dini Group [48, 50,51]

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

Рисунок 1.3. Унифицированные модули для масштабируемых систем

прототипирования.

Рисунок 1.4. Кластер на ПЛИС DNBFC S12 12.

Ещё одним недостатком таких систем является узкий канал передачи данных между модулями (чаще всего это РС1е х4). Причём часто такие системы объединяются по принципу «звезда», где в центре располагается коммутатор РС1е. Особенно критичным это становится при необходимости связывать один модуль с несколькими. В этом случае возникает каскадный

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

Характеристики аппаратных эмуляторов приведены в таблице 1.3.

Таблица 1.3. Характеристики ZeBu-Server Enterprise Emulator.

Параметр Veloce ZeBu НРС

Емкость на штуку, 1УЮ 8 6, 12 или 22 12-20

Емкость кластера, 1УЮ 512 1000

Частота эмуляции, МГц 1,5 2-8

Скорость компиляции, Мв/час 25

Оперативная память, ГБ 32 4-200 4 - N

Количество ПЛИС, шт. До сотен До сотен

Количество портов ввода/вывода 8192 1,200

ь.

syiiHPsys

Г

с

-чяния^ 1 1

""■« III—--*"

syrapsys — ■

Рисунок 1.5. ZeBu-Server Enterprise Emulator от Synopsys.

Рисунок 1.6. Система прототипирования фирмы Mentor Graphics.

1.5.3 Прототипы на основе ПЛИС

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

• Низкая стоимость в сравнению с аппаратными ускорителями.

• Большая частота эмуляции

• Компактность

Основными недостатками аппаратных эмуляторов на ПЛИС являются:

• Необходимость перекомпиляции проекта и переконфигурации ПЛИС при любом исправлении содержимого проекта.

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

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

Наиболее известными промышленными системами прототипирования на основе ПЛИС являются:

• Система HAPS от Synopsys [4],

• Внутрисхемная эмуляция (In-circuit emulation) [40, 41, 44],

• Модульная система фирмы proFPGA [71].

Наиболее известной универсальной системой прототипирования на ПЛИС являются прототипы HAPS производства Synopsys. Она основана на обеспечении возможности масштабирования, что обеспечивается благодаря использованию стандарта hapstrak [47]. В данной реализации отсутствуют связи ПЛИС-ПЛИС, реализованные на МПП, и всё взаимодействие между

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

В результате реализации прототипа большой системы данное решение будет массивным, так как для эмуляции микропроцессора «Эльбрус-8С» потребуется 4 системы с рисунка 1.7-А, дополненных несколькими модулями с периферией, и менее надёжным за счёт длинных связей между блоками.

Рисунок 1.7. Система прототипирования серии НАР8-70.

Таблица 1.4. Характеристики системы НАР8-70.

Параметр НАР8-70

Емкость, МО 48

Емкость кластера, МО 144

Оперативная память, ГБ Дочерняя плата

Количество ПЛИС, шт. 12

Количество портов ввода/вывода 13512

Время ввода в эксплуатацию, мес 3

Другим вариантом реализации универсальных прототипов является решение фирмы ргоБРОА (рис. 1.8). Эта фирма предлагает организовывать большие системы из универсальных модулей. К достоинствам данной системы можно отнести лёгкость сборки. Но возможности расширения в ней ограничены. Кроме того, как и все подобные системы, она предназначена для эмуляции работы только микропроцессора, то есть не позволяет

Похожие диссертационные работы по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК

Список литературы диссертационного исследования кандидат наук Юрлин, Сергей Владимирович, 2014 год

Литература и ссылки

1. Бычков И.Н. - Разработка методов и средств диагностики, повышающих эффективность верификации модулей вычислительной техники. - Диссертация на соискание учёной степени кандидата технических наук. - На правах рукописи, 2007.

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

3. Synopsys Inc. - VCS. Functional Verification Choice of Leading SoC Design Teams- 2013.

4. Synopsys Inc. - Synopsys HAPS-70 FPGA-based Prototyping Solution. -2003.

5. Synopsys Inc., Xilinx Inc. - FPGA-based Prototyping Methodology Manual-2011.

6. Synopsys Inc. - ZeBu-Server Enterprise Emulator - datasheet, 2012.

7. Synopsys Inc. - ZeBu-Blade2 Enterprise Emulator - datasheet, 2012.

8. Menthor Graphics. - Veloce Family of Emulators. - Datasheet, 2011.

9. Menthor Graphics. - VStationPRO. High-Performance System Verification. - datasheet, 2003.

10.Menthor Graphics. - Hardware-assisted verification for efficient validation of multi-processor based designs - White paper, 2008.

11.Menthor Graphics. - Veloce System-Level Power Analysis and Verification - White paper, 2012.

12.Menthor Graphics. - Virtual Devices for Protocol-Specific Host and Peripheral Interfaces - White paper, 2011.

13.Cadence Design Systems, Inc. - Cadence Palladium XP Verification Computing Platform . - 2010.

14.Cadence Design Systems, Inc. - Cadence Rapid Prototyping Platform FPGA-Based Prototyping Solution - 2011.

15.Cadence Design Systems, Inc. - Hardware verification with incisive software extentions - Technical paper, 2010.

16.Cadence Design Systems, Inc. - Cadence Palladium Series with Incisive XE Software - Technical paper, 2011.

17.Cadence Design Systems, Inc. - Accelerated hardware/software co-verification - White paper, 2005.

18.Cadence Design Systems, Inc. - ASIC Prototyping Simplified - White paper, 2005.

19.Cadence Design Systems, Inc. - Allegro FPGA System Planner. FPGA-PCB co-design with automatic rules-driven pin assignment - White paper, 2005.

20.Xilinx Inc. - Virtex-6 Family Overview - Product Specification, 2012.

21.Xilinx Inc. - 7 Series FPGAs Overview - Product Specification, 2012.

22. Altera Corp. - Stratix IV Device Handbook - 2012.

23.Altera Corp. - Stratix V Device Handbook - 2012.

24.Altera Corp. - Thermal Management for FPGAs. - 2012

25.Altera, Avago - Transferring High-Speed Data over Long Distances with Combined FPGA and Multichannel Optical Modules - white paper, 2012.

26. Altera Corp. - Overcome Copper Limits with Optical Interfaces. - 2011

27. Altera Corp. - FPGAs at 40 nm and >10 Gbps: Jitter-, Signal Integrity-, Power-, and Process-Optimized Transceivers. - white paper, 2011.

28.Altera - The Breakthrough Advantage for FPGAs with Tri-Gate Technology - white paper, 2013.

29.Altera - Expect a Breakthrough Advantage in Next-Generation FPGAs -white paper, 2013.

30.Altera - Meeting the Performance and Power Imperative of the Zettabyte Era with Generation 10 - white paper, 2013.

31. ITRS - International technology roadmap for semiconductors - 2007.

32.ITRS - International technology roadmap for semiconductors - 2009.

33.ITRS - International technology roadmap for semiconductors - 2010.

34.Tun Li, Yang Guo, SiKun Li, FuJiang Ao, GongJie Liu. Parallel -

Verilog Simulation: Architecture and Circuit Partition. - National University of Defense Technology, P. R. China.

35.SimCluster. Parallel Simulation. - Avery Design Systems, 2005.

36.ZiedMarrakchi, Hayder Mrabet, Umer Farooq, and HabibMehrez -FPGA Interconnect Topologies Exploration - International Journal of Reconfigurable Computing, 2009.

37.Terrence Mak, Crescenzo D'Alessandrof, Pete Sedcole, Peter Y.K. Cheung, Alex Yakovlev, Wayne Luk - Global Interconnections in FPGAs: Modeling and Performance Analysis - Dept of Electrical and Computer Engineering, 2005.

38.Jing Huang, Mehdi Baradaran Tahoori, and Fabrizio Lombardi -Routability and Fault Tolerance of FPGA Interconnect Architectures -Dept of Electrical and Computer Engineering, 2005.

39.Scott Hauck, Gaetano Borriello - Pin Assignment for Multi-FPGA Systems - IEEE Transactions on Computer-Aided Design of Integrated Circuits & Systems, Vol. 16, No. 9, pp. 956-964, September, 1997.

40.S2C Inc. - Design SoC using FPGA-based IP. An FGPA-Based ESL Methodology. - white paper, 2005.

41.S2C Inc. - A Multi-FPGA Based Platform for emulating a 100M-transistor-scale Processor with High-speed Peripherals - white paper, 2009.

42.Karl Pereira, Peter Athanas, Heshan Lin, Wu Feng - Spectral Method Characterization on FPGA and GPU Accelerators

43.Doug Amos, Austin Lesea, Rene Richter. - FPGA-Based Prototyping Metodology Manual. - Synopsis, Xilinx, 2011.

44.Weiwu Hu, Huandong Wang, Xiang Gao, Yunji Chen, Dan Tang. - A Multi-FPGA Based Platform for emulating a lOOM-transistor-scale Processor with High-speed Peripherals. - S2C Inc. white paper, 2009.

45.MIT, UT Austin, CMU, Stanford, Intel, U Washington, UC Berkeley . - RAMP: Research Accelerator for Multiple Processors - A community Vision for a Shared Experimental Parallel HW/SW Platform. - Tecnical Report, 2005.

46.Institute of Computer Science. - Prototyping Efficient Interprocessor Communication Mechanisms. - IEEE, 2007.

47.Synplicity, Inc. - HapsTrak II standard - August 28, 2007

48.Dini Group - Product Brief DNBFC_S12_ 12 Cluster - June 2010.

49.Ф.К. Будылин, И.А. Полищук, M.B. Слесарев, С.В. Юрлин - Опыт прототипирования микропроцессоров компании ЗАО «МЦСТ» -журнал «Вопросы радиоэлектроники», 2012.

50.BEEcube Inc.. - A multi-FPGA application-specific architecture for accelerating a floating point Fourier Integral Operator - white paper, 2008.

51.Alan George, Herman Lam, Greg Stitt - Novo-G: At the Forefront of Scalable Reconf igurable Supercomputing - 2011.

52.Кожин A.C., д.т.н., проф. Сахин Ю.Х. - Коммутация соединений процессорных ядер с общим кэшем третьего уровня микропроцессора "Эльбрус-8С" - Вопросы радиоэлектроники серия электронная вычислительная техника (ЭВТ), выпуск 3, 2013, стр. 5-14.

53.Вараксин В.Н., Исаев М.В., д.т.н., проф. Сахин Ю.Х. -Оптимизация межпроцессорного ротокола когерентности с помощью справочника в микропроцессоре "Эльбрус-8С" -

Вопросы радиоэлектроники серия электронная вычислительная техника (ЭВТ), выпуск 3, 2013, стр. 14-26.

54.Кожин А .С., Кожин Е.С., Костенко В.О., Лавров А.В. - Кэш третьего уровня и поддержка когерентности микропроцессора "Эльбрус-8С" - Вопросы радиоэлектроники серия электронная вычислительная техника (ЭВТ), выпуск 3, 2013, стр. 26 - 38.

55.Ю.В. Байда, А. В. Бутузов, А. Г. Ефимов, М. С. Цветков -Методология перехода от программной потактовой модели микропроцессора к аппаратному симулятору на базе программируемой логики - ТРУДЫ МФТИ, 2012, Том 4, № 3.

56.Schelle G., Collins J., Schuchman E., [et al ]. - Intel Nehalem processor core made FPGA synthesizable - Proceedings of the 18th ACM/SIGDA international symposium on Field programmable gate arrays, 2010, P. 3-12.

57.Wang P.H., Collins J.D., Weaver C.T., [et al ]. Intel Atom processor core made FPGA synthesizable - Proceeding of the 17th ACM/SIGDA annual international symposium on Field programmable gate arrays, 2009, P. 209-218.

58.Sameh Asaad, Ralph Bellofatto, Bernard Brezzo, Chuck Haymes, Mohit Kapur, Benjamin Parker, Thomas Roewer, Proshanta Saha, Todd Takken, José Tierno - A Cycle-accurate, Cycle-reproducible multi-FPGA System for Accelerating Multi-core Processor Simulation -FPGA, page 153-162. ACM, (2012).

59.IS5025. 36-port Non-blocking Unmanaged 40Gb/s InfiniBand Switch System. Product Brief - Mellanox tech., 2012.

60.Jack Régula, Chief Technology Officer, PLX Technology -Overcoming Latency in PCIe Systems Using PLX - PLX tech.

61.Rocketick - RocketSim. GPU-based acceleration for simulators -prodact brochure.

62.Коллектив авторов - Intel Nehalem Processor Core Made FPGA Synthesizable - ACM, February 21-23 2010.

63.Mariem Turki, Zied Marrakchi, Habib Mehrez, andMohamed Abid -Frequency Optimization Objective during System Prototyping on Multi-FPGA Platform - International Journal of Reconfigurable Computing, Received 30 April 2013; Accepted 16 October 2013.

64.United States Patent, Patent N0.: US 8,640,070 B2, Date of Patent: Jan. 28, 2014.

65.Yangfan Liu, Peng Liu*, Yingtao Jiang, Mei Yang, Kejun Wu, Weidong Wang and Qingdong Yao - Building a Multi-FPGA-based Emulation Framework to Support NoC Design and Verification.

66.Dinesh Baviskar, Sachin Patkar - A Pipelined Simulation Approach for Logic Emulation using multi-FPGA platforms - IEEE, 2009.

67.Hsiao-Pin Su and Youn-Long Lin - A Phase Assignment Method for Virtual-Wire-Based Hardware Emulation - IEEE, 1997.

68.Young-Su Kwon, Chong-Min Kyung - Performance-Driven Event-Based Synchronization for Multi-FPGA Simulation Accelerator With Event Time-Multiplexing Bus - IEEE, 2005 .

69.Jonathan Babb, Russell Tessier, Matthew Dahl, Silvina Zimi Hanono, David M. Hoki, and Anant Agarwal - Logic Emulation with Virtual Wires-IEEE, 1997.

70.proFPGA - FPGA Based Prototyping Solution - white paper, 2012.

«УТВЕРЖДАЮ» генеральный директор

О «МЩТ-^

АКТ О ВНЕДРЕНИИ

результатов диссертационной работы Юрлина C.B. «Разработка специализированных прототипов на основе программируемой логики для эффективной функциональной верификации многоядерных

микропроцессоров»

При выполнении ОКР «Разработка двухъядерной «системы на кристалле» «Эльбрус-28» со встроенными контроллерами и вычислительных средств на её основе» (шифр «Экскурсовод-2») в рамках государственного контракта от 1 июня 2009 г. №6491 Юрлиным Сергеем Владимировичем был разработан прототип микросхемы «Эльбрус-28» и её окружения. В результате ОКР были созданы микропроцессор серии «Эльбрус» (1891ВМ8Я) производительностью до 64 Gflops и с тремя встроенными каналами оперативной памяти, а также шестнадцатиядерный сервер с 64 ГБ оперативной памяти. На основе сервера успешно проведена комплексная отладка общего программного обеспечения и пользовательских программ.

При выполнении ОКР «Разработка гетерогенного микропроцессора с пиковой производительностью более 150 Gflops на базе высокопроизводительных универсальных 64-разрядных процессорных ядер» (шифр «Процессор-1») в рамках государственного контракта с департаментом радиоэлектронной промышленности Минпромторга России

от 12 декабря 2011 г. № 11411.1000400.11.262 Юрлиным Сергеем Владимировичем был разработан прототип микропроцессора 1891ВМ10Я. Микропроцессор представляет собой восьмиядерную систему на кристалле производительностью до 250 Gflops и с четырьмя встроенными каналами оперативной памяти. На данный момент в изготовление отправлен макетный образец микросхемы.

Оба прототипа были успешно внедрены в цикл функциональной верификации микропроцессоров и их окружения, а также использовались для комплексной отработки программного обеспечения. Предложенные Юрлиным C.B. технические решения позволили завершить разработку прототипов за отведённое время и успешно провести этап функциональной верификации проектируемых микропроцессоров.

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

Начальник отдела «Разработка и наладка вычислительных устройств» ЗАО «МЦСТ», Бычков ИЛ 1.

« /У » writfyï 2014 г.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.