Имитатор микропроцессора на основе ПЛИС для...

10
Имитатор микропроцессора на основе ПЛИС Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной для функциональной проверки вычислительной системы системы Костенко В. О., Костенко В. О., ИМВС РАН ИМВС РАН , , [email protected] [email protected] Изготовление Изготовление системной панели системной панели – основы – основы вычислительной вычислительной системы «Эльбрус-3М1» системы «Эльбрус-3М1» – было запланировано – было запланировано и полностью завершено на и полностью завершено на 5 месяцев 5 месяцев раньше, чем раньше, чем изготовление изготовление микропроцессора «Эльбрус» микропроцессора «Эльбрус» . . Системная панель, основанная на ПЛИС, требовала Системная панель, основанная на ПЛИС, требовала функциональной проверки функциональной проверки и и отладки отладки совместно с совместно с прототипом микропроцессора «Эльбрус» на ПЛИС, прототипом микропроцессора «Эльбрус» на ПЛИС, памятью памятью DDR SDRAM DDR SDRAM и и типовым комплектом устройств типовым комплектом устройств I/O I/O . . Работы в этом направлении сводились к Работы в этом направлении сводились к поиску ошибок поиску ошибок как в как в системной панели системной панели и и ПЛИС системной логики ПЛИС системной логики , , так и в так и в прототипе микропроцессора «Эльбрус» прототипе микропроцессора «Эльбрус» , , их их воспроизведению воспроизведению , получению , получению временных диаграмм временных диаграмм неправильной работы для определения причин ошибок. неправильной работы для определения причин ошибок.

Upload: whitney-wolf

Post on 03-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы Костенко В. О., ИМВС РАН , [email protected] - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Имитатор микропроцессора на основе ПЛИСИмитатор микропроцессора на основе ПЛИСдля функциональной проверки вычислительной системыдля функциональной проверки вычислительной системы

Костенко В. О., Костенко В. О., ИМВС РАНИМВС РАН, , [email protected]@mcst.ru

Изготовление Изготовление системной панели системной панели – основы – основы вычислительнойвычислительнойсистемы «Эльбрус-3М1»системы «Эльбрус-3М1» – было запланировано – было запланировано

и полностью завершено на и полностью завершено на 5 месяцев 5 месяцев раньше, чемраньше, чемизготовление изготовление микропроцессора «Эльбрус»микропроцессора «Эльбрус»..

Системная панель, основанная на ПЛИС, требовалаСистемная панель, основанная на ПЛИС, требовалафункциональной проверкифункциональной проверки ии отладкиотладки совместно ссовместно с

прототипом микропроцессора «Эльбрус» на ПЛИС,прототипом микропроцессора «Эльбрус» на ПЛИС,памятью памятью DDR SDRAM DDR SDRAM ии типовым комплектом устройств типовым комплектом устройств I/OI/O..

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

так и в так и в прототипе микропроцессора «Эльбрус»прототипе микропроцессора «Эльбрус»,,их их воспроизведениювоспроизведению, получению , получению временных диаграммвременных диаграмм

неправильной работы для определения причин ошибок.неправильной работы для определения причин ошибок.

Page 2: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Эти работыЭти работы необходимо было начать,необходимо было начать,не дожидаясь изготовления микропроцессора «Эльбрус»не дожидаясь изготовления микропроцессора «Эльбрус»,,

для чего потребовалось для чего потребовалось разработатьразработать устройство –устройство –имитатор имитатор микропроцессора «Эльбрус» (микропроцессора «Эльбрус» (CPUIMCPUIM).).

Решения, принятые при разработке Решения, принятые при разработке ––

Выбран способ управления Выбран способ управления CPUIMCPUIM ––внешнее управление.внешнее управление.

необходимонеобходимо внешнее внешнее устройство управления,устройство управления, необходимнеобходим внешний внешний канал управления,канал управления,

зато возможны варианты и зато возможны варианты и устройства управления,устройства управления,и и каналаканала, , совместимыесовместимые между собой.между собой.

Выбрана элементная основа Выбрана элементная основа CPUIM CPUIM ––одна ПЛИС серии одна ПЛИС серии Stratix Stratix фирмы фирмы AlteraAltera..

Технология Технология 110 110 нм, нм, тактовая частота болеетактовая частота более 100 100 МГц МГц ,,встроенный анализатор для получения встроенный анализатор для получения временных диаграммвременных диаграмм..

Выбран принцип действия Выбран принцип действия CPUIM CPUIM ––согласование обмена даннымисогласование обмена данными

между между каналом управленияканалом управления и и системной панельюсистемной панелью..

Page 3: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Достоинства выбранного принципа действия:Достоинства выбранного принципа действия:

Такое Такое согласование согласование несложно выполнить с помощьюнесложно выполнить с помощьюFIFO-FIFO-буферовбуферов, устройств , устройств синхронизациисинхронизации данныхданных ии

устройств устройств преобразования форматов данныхпреобразования форматов данных..

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

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

Из практических соображенийИз практических соображений,, было принято решение было принято решениеограничитьограничить внешний канал скоростьювнешний канал скоростью 3,2 Гбит3,2 Гбит/c./c.

Неизбежный недостатокНеизбежный недостаток::

CPUIMCPUIM обеспечивает пропускную способность, обеспечивает пропускную способность,не превышающуюне превышающую 10 %10 % от способности от способности CPU CPU «Эльбрус»«Эльбрус»

(а практическая реализация быстрого канала(а практическая реализация быстрого каналауправления ограничивает эту величинууправления ограничивает эту величину 1-1-3 3 %%) ) ––

ноно тестирование,тестирование, направленное на поиск ошибок принаправленное на поиск ошибок при 100 %100 %пропускной способностипропускной способности, , проводилось во времяпроводилось во время

логического моделирования логического моделирования системы вместе с двумя системы вместе с двумя CPUCPU..

Page 4: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Основное достоинствоОсновное достоинствовыбранного принципа действиявыбранного принципа действия::

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

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

Интерактивная диалоговая программаИнтерактивная диалоговая программас оконным интерфейсом –с оконным интерфейсом –

«ИНЖЕНЕРНЫЙ ПУЛЬТ УПРАВЛЕНИЯ «ИНЖЕНЕРНЫЙ ПУЛЬТ УПРАВЛЕНИЯ CPUIMCPUIM»»..+ + Позволяет вручную проверить работуПозволяет вручную проверить работу любой операции. любой операции.

- - От От оператораоператора требуется полное понимание работы системытребуется полное понимание работы системы..

Устройство сопряжения Устройство сопряжения CPUIM cCPUIM cпрототипом микропроцессора «Эльбрус» на ПЛИС.прототипом микропроцессора «Эльбрус» на ПЛИС.

+ + Позволяет проверить работу системы наПозволяет проверить работу системы на стандартном ПО «Эльбрус».стандартном ПО «Эльбрус».(Двоичный транслятор, (Двоичный транслятор, BIOS, BIOS, ОС, компилятор, драйверы устройств…)ОС, компилятор, драйверы устройств…)

-- ТребуетТребует высокого уровнявысокого уровня стабильности работы системыстабильности работы системы..- - Сниженные возможности поСниженные возможности по воспроизведению ошибок. воспроизведению ошибок.

Page 5: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Общая часть Общая часть CPUIM CPUIM для всех вариантовдля всех вариантов::УУстройство сопряжения с системной логикой (100 МГц и 200 МГц стройство сопряжения с системной логикой (100 МГц и 200 МГц DDRDDR))::

(Verilog-2001)(Verilog-2001)

Выполняет Выполняет необходимую необходимую буферизациюбуферизациюи уплотнение, и уплотнение, предоставляяпредоставляя

внутренниевнутренние32-разрядные 32-разрядные

каналы для каналы для подключенияподключенияприемника иприемника ипередатчикапередатчика

внешнеговнешнегоканала.канала.

data_ac

5

data_sn

20

data_dc0

75

data_dc1

75

DDRIN

10

40

150

150×2

×2

300

300

FIFO

FIFO

FIFO

FIFO

300

DDRIN

DDRIN

DDRIN

300

40

1032

32

32

32

32

data

От 0 до 3,2 Гбит/c

Мультиплексор2 уровня.

Мультиплексоры1 уровня.

5

quit_sn

10

quit_dc0

75

32

32

32

32

32

quit

quit_ac

1/4

quit_dc1

751/4

300

300От 0 до 3,2 Гбит/c

sys_int

Page 6: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

sys_intquit

data

jtag_link

32

32ПортJTAG

4

Порт LPT(IEEE-1284)

КабельByte Blaster II

OCWindows/терминал

Cygwin

Пультуправления

CPUIMСеть

TCP/IP

Системная панель,

100 МГц/200 МГц

DDR

100 МГц

≤ 2,5 Кбит/c

Вариант Вариант CPUIM CPUIM с медленным внешним каналомс медленным внешним каналом (через (через JTAG)JTAG)::

(Verilog-2001(Verilog-2001,,C, Cygwin)C, Cygwin)

Канал черезКанал черезтестовый порттестовый порт

JTAG JTAG ииспец. кабель.спец. кабель.

РазработанРазработанна основе на основе готовогоготового

программно-программно-аппаратногоаппаратногорешения – решения –

готовый портготовый портJTAG JTAG и и

терминалтерминалJTAG JTAG для для

ПЭВМ.ПЭВМ.

ПЭВМ

Page 7: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Вариант Вариант CPUIM CPUIM с быстрым внешним каналомс быстрым внешним каналом ((LVDS)LVDS)::

(Verilog-2001)(Verilog-2001)

Канал Канал LVDSLVDS(RJ-45, UTP)(RJ-45, UTP),,

два одно-два одно-направленныхнаправленных

канала,канала,533/1067533/1067Мбит/с,Мбит/с,

сопровождениесопровождениесинхросигналом,синхросигналом,

200200/400/400Мбит/с Мбит/с нанавитую пару.витую пару.

СинхронизаторСинхронизаторпринимаемыхпринимаемых

данных,данных,спец. элементыспец. элементы

I/O LVDSI/O LVDS

sys_intquit

data

lvds_link

32

32

100 МГц

lvds_tx

lvds_rx3

3

533 / 1067 Мбит /с

Устройство сопряжения (ПЛИС)

333 кГц / 667 кГц «DDR»

Системная панель,

100 МГц/200 МГц

DDR

533 / 1067 Мбит /с

Прототип CPU «Эльбрус»на ПЛИС.

Page 8: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Инженерный пульт управления Инженерный пульт управления CPUIM:CPUIM:

(Tcl / Tk)(Tcl / Tk)Диалоговая программаДиалоговая программа

с оконной графикой.с оконной графикой.

Работает поРаботает по замкнутомузамкнутомуциклу,циклу, запускаемомузапускаемому

вручную.вручную.

Основана на Основана на программныхпрограммных

FIFOFIFO-буферах.-буферах.Работа диалоговРабота диалогов

содержит элементысодержит элементылогики логики CPUCPU..

ОпределяетОпределяетмножество ошибокмножество ошибок

аппаратурыаппаратурыс помощью проверкис помощью проверкинекоторых действий.некоторых действий.

Чтение Чтение TCP/IPTCP/IP

БуферизацияБуферизациявходных данных входных данных

АнализАнализвходных данныхвходных данных

Запись Запись TCP/IPTCP/IP

БуферизацияБуферизациявыходных данных выходных данных

АнализАнализвыходных данныхвыходных данных

Отображение входных данных,Отображение входных данных,Переход в диалоговый режим,Переход в диалоговый режим,

Прием выходных данных,Прием выходных данных,Выход из диалогового режима.Выход из диалогового режима.

(Работают элементы логики (Работают элементы логики CPU.CPU.))

Внешний вид и структура диалогового окнаВнешний вид и структура диалогового окнасоответствует структуре каналов соответствует структуре каналов CPUIMCPUIM..

Удобное представление данных.Удобное представление данных.

CPUIM (JTAG)CPUIM (JTAG)

Page 9: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Итоги работы для проекта «Эльбрус-3М»Итоги работы для проекта «Эльбрус-3М»..

Все рассмотренные средства, Все рассмотренные средства, связанные с связанные с CPUIM,CPUIM,в разное времяв разное время применялись применялись или или продолжаютпродолжают

применяться на практикеприменяться на практике..

С помощьюС помощью медленного внешнего канала медленного внешнего канала и и инженерногоинженерногопульта управления пульта управления CPUIMCPUIM удалось отладить работуудалось отладить работу

DDR SDRAMDDR SDRAM ии EEPROMEEPROM, , после чегопосле чего быстрый внешний канал быстрый внешний каналбыл был успешно использован успешно использован для подключениядля подключения прототипа прототипа CPUCPU

«Эльбрус» на ПЛИС«Эльбрус» на ПЛИС кк рабочей станции, рабочей станции, что позволилочто позволилоначать совместную отладку рабочей станции иначать совместную отладку рабочей станции и

системного ПОсистемного ПО: : двоичный транслятор, двоичный транслятор, x86 BIOSx86 BIOS, ОС , ОС Linux.Linux.

С помощьюС помощью CPUIMCPUIM были найденыбыли найдены ошибкиошибкив системной логикев системной логике,, а такжеа также своевременно своевременно обнаруженыобнаружены проблемы проблемы

с механическим и электрическим качеством с механическим и электрическим качеством печатных плат проектапечатных плат проекта..

В настоящее время В настоящее время CPUIM CPUIM совместно с совместно с прототипом прототипом CPU CPU успешно успешно используется для тестирования логики используется для тестирования логики будущей 2-ой итерациибудущей 2-ой итерации

CPU CPU «Эльбрус»«Эльбрус» на стандартном ПО «Эльбрус» на стандартном ПО «Эльбрус»..

Page 10: Имитатор микропроцессора на основе ПЛИС для функциональной проверки вычислительной системы

Благодарю за внимание.Благодарю за внимание.