Диссертация (1090013), страница 23
Текст из файла (страница 23)
При моделировании многоядерных микропроцессоров существенноколичествооборудования,атакжетрудностиэксплуатациитакихвысокопроизводительных кластеров.Прототипыобщегоназначенияна основеПЛИСОграниченнаяСтруктурно-зависимыепрототипына основеПЛИСОграниченная1 МГц10 МГц20 МГц2 BGates1 BGates144 MGates750 MGatesСреднееСреднееДолгоеДолгоеГабаритыКомната2х2х3м0,6 х 0,4 х0,4 м0,6 х 0,5 х 0,2мОтносительнаястоимостьнеобходимойкомплектации100-30020-502-41-3Тип /характеристикаДиагностическаяинформацияЧастотамоделированияМаксимальныйобъёмэмулируемойлогикиВремя подготовкиаппаратурыАппаратныеускорителипрограммногомоделированияАппаратныеэмуляторыПолнаяПодробная100 кГцТаблица 15.
Сравнение аппаратуры для функциональной верификации.Аппаратные эмуляторы (от англ. hardware emulator) предназначены дляимитации поведения проектируемых микросхем. Как правило, они реализуютсяс использованием сотен ПЛИС, соединённых друг с другом линиями связи.Примером является эмулятор ZeBu фирмы Synopsys Inc.. Такой аппаратнопрограммный комплекс позволяет сохранять прозрачность эмулируемого RTLописаниямикропроцессорапутёмвыводабольшогоколичествадиагностической информации.Зачастую оптимальным решением в области эмуляции процессоровявляется прототип общего назначения на основе ПЛИС (FPGA prototype),143например, HAPS.
Количество ПЛИС для такого аппаратно- программногокомплекса, как правило, меньше тридцати, что существенно снижаетсебестоимость. Весьма ограниченное количество конфигурационной логикиувеличивает сложность перевода RTL описания для загрузки на прототип.Кроме того, снижаетсяколичестводиагностическойинформации,чтоосложняет поиск ошибок при функциональной верификации.Другим типов аппаратных эмуляторов можно выделить структурнозависимые прототипы на основе ПЛИС.
Сильная связность микроархитектурымногоядерныхмикропроцессоровсущественнозамедляетскоростьтестирования RTL- описания на эмулирующей аппаратуре. Появляютсядлительные задержки на передачу данных между ПЛИС, а наличиераспределённойподсистемыпамятитребуетналичиядополнительногооборудования в составе прототипа. Решением данной проблемы являетсяреализация аппаратуры прототипа с учётом топологической структурыпроектируемого многоядерного процессора. Такие прототипы имеют болеевысокую скорость тестирования, что позволяет обеспечить наиболее полноетестовое покрытие в кратчайшие сроки. Кроме того, структура аппаратурыпозволяетэмулироватьработумногоядерногопроцессоравсоставевычислительного комплекса.В практике разработок АО «МЦСТ» приемлемым способом являетсяэмуляция модели процессора с помощью прототипа на основе ПЛИС [76].Возможность создания максимального количества эмуляторов позволяетобеспечить полноту покрытия путем всестороннего тестирования.
К примеру,одни прототипы отдаются под загрузку программы начального старта и версийоперационной системы, а другие для запуска версий компилятора.4.1.3 Задачи прототипированияСозданиеструктурно-зависимыхпрототиповнаосновеПЛИСпрактически исключается возможность их вторичного применения и требует144выполнения набора задач. Первой из них является реализация аппаратурыпрототипа. Недопустима длительная наладка оборудования. Второй задачейявляется выбор определённой структуры связей, который требует тщательнойпроработки связности ПЛИС друг с другом, поскольку ограничения на ширинуканалов передачи данных будет существенно снижать производительность.Третьей задачей является необходимость адаптации некоторых блоковреального RTL-описания микропроцессора на аналог для реализации в ПЛИС.К числу таких блоков относятся покупные физические уровни интерфейсов ипамяти.Рис.
4.1.1. Задачи прототипирования.145Следуетучесть,чтоувеличениевремениразработкиструктурно-зависимого прототипа на основе ПЛИС в условиях ограниченных сроковпроектирования микросхемы процессора может свести на нет все егопреимущества, связанные с увеличением скорости тестирования RTL описания.Следовательно, использование эффективных методов разработки и реализациипрототипов на основе ПЛИС, учитывающих структуру проектируемогомикропроцессора, является ключевым фактором успеха.
Анализ основных ивторостепенных задач проектирования прототипов на основе ПЛИС позволилвывести зависимости между ними. Результатом стала зависимость задач дляпрототипирования процессоров, представленная на рисунке 4.1.1.Разработка и применение прототипов на основе ПЛИС, учитывающихструктуру процессора должны быть успешно выполнены в определенныесроки. Начало проектирования прототипа определяется исходя из готовностипланирования общей топологии кристалла процессора, а срок разработки –временем готовности RTL-описания процессора на логическом уровне. Такимобразом, существует необходимость быстрой и качественной реализацииоборудования, характеризующегося повышенной сложностью.4.1.4 Этапы разработки аппаратуры прототипаВ кристаллах многоядерных процессоров все ядра и их интерфейсыподключения, как правило, выполняются идентично друг другу.
Поэтомууменьшение времени на разработку аппаратуры прототипа и улучшение егохарактеристиквозможнопутёмреализацииунифицированногомодуляпроцессорного ядра и модуля подсистемы памяти. При этом повышаетсямодульность прототипа с соответствующим сокращением трудоемкостиразработки и тестирования.
За счёт рационального распределения линий связимежду ПЛИС обеспечивается относительно высокая частота ~10 МГц эмуляцииRTL описания проектируемого процессора. При разработке аппаратуры146прототипа процессора можно выделить три основных этапа с выполнениемсовокупности задач прототипирования на каждом из них.Первый этап заключается в определении типа и ширины интерфейсамежду модулями ядра, и подсистемы памяти процессора, а также всехслужебных сигналов.
Определение типа и ширины интерфейса междумодулями определяется исходя из возможностей ввода-вывода ПЛИС и наоснове расчётов частоты эмуляции. Всё служебное взаимодействие модулеймежду собой предлагается осуществлять посредством небольших CPLDмикросхем программируемой логики. Данное решение позволяет обеспечитьгибкость конфигурации аппаратуры прототипа и достижение расчетнойчастоты эмуляции.Второй этап заключается в разработке каждого из модулей прототипа.
Наданном этапе производится расчет необходимой ёмкости ПЛИС, значенийпотребляемой мощности, выбор интерфейсов взаимодействия внутри модуля.Производитсяопределениеконструктива,выборкомпонентнойбазы,компоновке и трассировке модулей.Третий этап состоит в сборке прототипа из модулей, диагностикефункционирования всех модулей в составе прототипа. В случае изготовлениянескольких прототипов в рамках этапа осуществляется объединение такихпрототипов процессора для получения модели вычислительного комплекса.4.1.5 Особенности реализации прототипа процессораПрименение нескольких ПЛИС для эмуляции модели процессора требуетразделения RTL описания на блоки, каждому из которых соответствует однаПЛИС. Разделение должно проводиться таким образом, чтобы количествологических связей к другим блокам было минимальным, а объём блокадопускал его представление внутри одной микросхемы. Опыт разработкипоказал, что даже самое лучшее разбиение приводит к появлению межблочныхсвязей, число которых значительно превышает количество элементов ввода-147вывода ПЛИС [77, 78].
Например, для среднестатистического блока RTLописания восьмиядерного процессора серии «Эльбрус» необходимые связипревышают возможности ввода-вывода современных ПЛИС примерно в пятьраз.Малоеколичестводоступныхинтерфейсовввода-выводатребуетприменение методов сериализации и десериалзации.
В результате растёт времянапередачуданныхмеждуПЛИС,чтоснижаетчастотуэмуляцииRTL описания процессора. Требуется оптимальное распределение доступныхконтактов для каналов связи между ПЛИС. Схема или RTL описаниепроцессора представляет собой целостную систему, работающую, как правило,от одного синхросигнала.
От этого синхросигнала зависят все передачи данныхв прототипе.Важным является поддержание синхронности между всеми ПЛИС приразбиении единого RTL описания процессора на ПЛИС в нескольких модулях.Для определения погрешности синфазной работы разных ПЛИС в прототиппроцессора введен генератор частоты, которая существенно выше частотыэмуляции.