СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2016

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 72 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2016 Реализация формата данных с плавающей запятой для ЦОС на базе ПЛИС Xilinx В статье представлен один из способов реализации форматов чисел с плавающей запятой на базе современных ПЛИС фирмы Xilinx. Рассматривается специализированный формат FP23 для задач цифровой обработки сигналов (ЦОС). В статье приводится подробное описание узлов преобразования данных и математических операций в формате с плавающей запятой FP23. Александр Капитанов (Москва) Ф ОРМАТ ДАННЫХ В статье пойдёт речь о числах в фор- мате с плавающей запятой и о реали- зации специализированного формата FP23 (от англ. Floating Point) на ПЛИС фирмы Xilinx. Числа с плавающей запя- той активно используются в современ- ных сигнальных процессорах (DSP), применяются практически во всех видеокартах и процессорах общего назначения и даже в ПЛИС. В соответ- ствии со стандартом IEEE 754, они пред- ставляются в виде совокупности экспо- ненты (показателя степени), мантиссы и знака числа. Числа в стандарте IEEE 754 имеют 32 бита (float) полезных данных. С целью однозначности, чис- ла с плавающей запятой записываются в нормальной форме или приводятся к нормализованному виду после любых математических операций и логиче- ских преобразований над ними. Диа- пазон возможных значений и точность представления чисел зависит от коли- чества бит для мантиссы и экспонен- ты. Для стандартного float характерна фиксированная относительная точ- ность и переменная абсолютная точ- ность. Основные преимущества и недо- статки чисел в формате с плавающей запятой по сравнению с числами с фик- сированной запятой: 1. Достоинства: ● обеспечивается очень широкий диа- пазон возможных значений; ● достигается высокая точность вычис- лений. 2. Недостатки: ● округление очень больших чисел до возможных из сетки значений; ● потеря точности при суммирова- нии чисел, отличных друг от друга на несколько порядков; ● сложность конкретной реализации и применения на ПЛИС. Так или иначе, для современных ПЛИС разработка собственного фор- мата чисел с плавающей запятой и выбранной мантиссой и экспонен- той не составляет большого труда. Для продукции ведущих производителей (Xilinx и Altera) существуют готовые программные IP-ядра, реализующие float по стандарту. Помимо этого, для Altera в последних семействах Arria 10 представлены аппаратные IP-ядра, реа- лизующие формат IEEE 754 на встроен- ных DSP-блоках. Э ЛЕМЕНТНАЯ БАЗА Основная элементная база для выполнения математических опера- ций и задач ЦОС – передовые семей- ства кристаллов ПЛИС. По сравнению с Xilinx, Altera в области использова- ния формата с плавающей запятой ушла далеко вперёд. Для кристаллов Altera типа Arria 10 и Stratix 10 имеют- ся жёсткие ядра вычислителей в форма- те с плавающей запятой внутри ПЛИС. В связи с этим становится актуальной задача по разработке быстрого форма- та данных с плавающей запятой на кри- сталлах ПЛИС фирмы Xilinx, которые не содержат жёстких блоков вычисли- телей c плавающей запятой. Основные ресурсы современных кри- сталлов ПЛИС – это блоки конфигура- ционной логики и встроенной памя- ти. Но первоочередной практический интерес представляют универсальные блоки цифровой обработки и матема- тики – DSP48E1 (для ПЛИС Xilinx серии Virtex 6 и 7 семейства) и DSP48E2 (для ПЛИС семейства Xilinx UltraScale). Эти блоки позволяют выполнять функции сложения и вычитания чисел, сдвига и переноса, быстродействующего умно- жения, перемножения с накоплением (MACC – Multiply Accumulate), поиска контрольной суммы и т.д. На ячейках DSP48 в современных ПЛИС выполня- ется множество задач: разработка СIC- и FIR-фильтров для классических задач радиотехники, скоростное вычисление FFT/IFFT для создания цифровых ана- лизаторов спектра и устройств быстрой свёртки, реализация цифровых синте- заторов частоты (DDS и CORDIC), соз- дание различных форматов представ- ления данных и набора базовых опе- раций для них. Вторым основным компонентом ПЛИС является блочная память. Для ПЛИС Xilinx это ячейки RAMB36E1 (или RAMB18E1) – элементы двухпортовой памяти, реализованные внутри кри- сталлов ПЛИС в виде столбцов иден- тичных блоков. Количество столбцов встроенной памяти и их длина зави- сят от объёма кристалла. Максималь- ный объём блока памяти составляет 36 Кбит без использования каскадиро- вания, при этом он может быть скон- фигурирован как два независимых бло- ка по 18 Кбит каждый. Блочная память может быть использована с шириной шины данных от 1 до 72 разрядов для типовых задач, а ширина шины адре- са программируема. При отсутствии свободных ресурсов блочной памяти ПЛИС можно задействовать распре- делённую память в специальных кон- фигурационных ячейках SLICEM. Для ПЛИС Ultrascale объём распределён- ной памяти достигает 512 бит с одно- битной шиной данных и возможно- стью реконфигурации глубины и раз- рядности шины. П ОСТАНОВКА ЗАДАЧИ С учётом перечисленных особенно- стей для реализации цифровой части задача формируется следующим обра- зом. Пусть разрядность данных, посту- пающих в кристалл ПЛИС с микро- схем АЦП, равна 16 бит. Положим, что адекватная скорость обработки дан- ных, которая может считаться «высо- кой» в современных ПЛИС, – порядка 200–300 МГц. Для современных высо- коскоростных систем сбора и обра- ботки информации это типовые зна- чения разрядности данных и такто-

RkJQdWJsaXNoZXIy MTQ4NjUy