УДК 621.3.049.77
ШАГУРИН И.И., ШАЛТЫРЕВ В.А.
СИНТЕЗИРУЕМЫЕ ПРОЦЕССОРНЫЕ ЯДРА КАК ОСНОВА
ДЛЯ СИСТЕМ НА КРИСТАЛЛЕ
Московский Инженерно-Физический Институт,
115409, Россия, Москва, Каширское шоссе, дом 31
При создании СнК возможно два варианта внутренней структу-
ры. Первый вариант - классическая микропроцессорная система с сис-
темной шиной, где задачи обработки информации и управления всеми
устройствами возлагаются на центральный процессор. Второй вариант
- создание конечных автоматов и реализация потоковой обработки
данных. Во втором случае в состав СнК может входить не высокопро-
изводительное процессорное ядро, а достаточно простой контроллер,
осуществляющий только конфигурацию всех периферийных устройств
на этапе инициализации системы ("конфигурационный контроллер")
[1].
При реализации СнК на основе ПЛИС типа FPGA процессорное
ядро может быть аппаратным (как, например, ядро PowerPC 405 в со-
ставе ПЛИС Virtex2 Pro или Virtex4 FX фирмы Xilinx) или синтези-
руемым, то есть реализуемым на основе логических элементов и спе-
циальных блоков, входящих в состав ПЛИС. Спектр доступных для
использования синтезируемых ядер достаточно широк: помимо ядер,
предлагаемых ведущими производителями ПЛИС (MicroBlaze [2] и
PicoBlaze [3] фирмы Xilinx и NiosII фирмы Altera), существует множе-
ство других ядер. Некоторые из них (например, ядро AMOEBA, со-
вместимое по системе команд с одной из ранних версий MicroBlaze)
можно найти на сайте www.opencores.org. Другие варианты процес-
сорных ядер поддерживаются различными фирмами-производителями:
например, фирма Gaisler Research предлагает к использованию процес-
сор LEON, совместимый с архитектурой SPARC v8 [4]. Данные о ха-
рактеристиках ряда современных синтезируемых процессорных ядер
приведены в табл.1. Объем логики, необходимой для реализации ядер,
оценен в LUT - четырехвходовых логических элементах, выполняю-
щих полный набор операций над четырьмя логическими переменными
(1 LUT примерно эквивалентен 40-50 логическим вентилям). Нетрудно
видеть, что некоторые из представленных ядер уже находятся на уров-
не ядер семейств ARM7 и ARM9 по производительности.
Как показал ряд экспериментов, при реализации синтезируемых
ядер происходит несущественное снижение максимальной тактовой
частоты (далее МТЧ) всей системы по сравнению с системами, где
используются аппаратные ядра. Так, например, при реализации на ос-
нове Virtex2 Pro СнК, состоящей из процессорного ядра (MicroBlaze
или PowerPC), двух Ethernet-контроллеров МАС-уровня, контроллера

UART и контроллеров Flash-памяти и DDR SDRAM-памяти МТЧ для
случаев PowerPC и MicroBlaze составляют соответственно 125 МГц и
105 МГц. Для Virtex4 FX эта разница еще меньше: 110 МГц для
PowerPC и 107 МГц для MicroBlaze при максимальной оптимизации
по частоте и использовании САПР ISE 8.1.
Таблица 1. Основные параметры некоторых синтезируемых ядер
Максималь-
Максимальная
Число LUT
Ядро
ная тактовая производитель-
для реали-
[разрядность]
частота, МГц
ность, DMIPS
зации
MicroBlaze [32]
100 - 200
166
1250
Nios II E [8]
200
31
600
Nios II S [16]
165
127
1300
Nios II F [32]
185
218
1800
PicoBlaze v3 [8]
250
125
110
LEON 3 [32]
150
150
3500
AMOEBA [32]
120
96
800

Как показал ряд испытаний, при использовании технологии
Relationally Placed Macros (Xilinx) [5] возможна оптимизация располо-
жения ядра на ПЛИС и повышение его МТЧ: например, для PicoBlaze
v3 удалось повысить МТЧ с 240 МГц до 260 МГц (для случая Virtex4
LX). Также при использовании данной технологии появляется воз-
можность создать макрос размещения, который впоследствии может
быть использован в составе системы неоднократно, что очень удобно
при использовании в СнК нескольких одинаковых процессоров - появ-
ляется возможность практически полностью исключить взаимное
влияние ядер при разводке внутрикристальных связей и таким образом
избежать существенных потерь в МТЧ системы.
Таким образом, синтезируемые процессорные ядра могут впол-
не успешно использоваться в качестве основы для СнК, реализуемых
на ПЛИС типа FPGA.

1. А. Попович, "Применение технологии разработки "систем на кри-
сталле" на основе ПЛИС"// "Компоненты и технологии", 4, 2004,
стр.114-116
2. MicroBlaze Processor Reference Guide EDK 7.1i (UG081, v5.1, April 2,
2005)
3. K. Chapman, "PicoBlaze KCPSM3 User Manual" (rev.7, October 2003).
4. GRLIB IP Core User's Manual (v.1.0.7, February 2006)
5. Creating RPMs Using 6.2i Floorplanner (XAPP 422, v.2.0, March 2004).


Document Outline