Статья опубликована в рамках: XXXVI Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 22 февраля 2021 г.)
Наука: Информационные технологии
Секция: Вычислительные машины, комплексы и компьютерные сети
Скачать книгу(-и): Сборник статей конференции
дипломов
МНОГОВХОДОВЫЕ МУЛЬТИПЛЕКСОРЫ КАК ОСНОВА УСТРОЙСТВ СДВИГА ПРИ РЕАЛИЗАЦИИ НА FPGA АРИФМЕТИЧЕСКИХ УСТРОЙСТВ
MULTI-INPUT MULTIPLEXERS AS A BASIS OF SHIFTERS WHILE IMPLEMENTING ARITHMETIC DEVICES ON FPGAs
Inna Ushenina
candidate of Science, assistant professor, Penza State Technological University,
Russia, Penza
Ksenia Ryabova
master student, Penza State Technological University,
Russia, Penza
Ilya Buzunov
master student, Penza State Technological University,
Russia, Penza
АННОТАЦИЯ
При реализации на FPGA арифметических устройств, работающих в формате с плавающей запятой, реализация устройств сдвига сопряжена с определенными сложностями, так как в явном виде устройства сдвига не присутствуют среди ресурсов FPGA. В данной статье рассмотрена возможность реализации устройств сдвига с помощью многовходовых мультиплексоров, построенных на базе программируемой логики FPGA. Представлена схема мультиплексора 24:1. Мультиплексоры 24:1 и 53:1 реализованы на FPGA; оценены их скоростные характеристики и ресурсоемкость.
ABSTRACT
While implementing floating-point arithmetic devices on FPGAs, implementation of shifters deals with certain difficulties because there are no hardware shifters among FPGA sources. This paper considers the possibility of shifters implementation by means of multi-input multiplexers built on FPGA programmable logic sources. A circuit of 24:1 multiplexer has been shown. 24:1 and 53:1 multiplexers have been implemented on FPGA; their speed characteristics and source capacity has been assessed.
Ключевые слова: устройства сдвига; арифметика с плавающей запятой; FPGA; мультиплексоры.
Keywords: shifters; floating-point arithmetic; FPGA; multiplexers.
В настоящее время арифметические операции в формате с плавающей запятой, выполняемые в реальном масштабе времени, востребованы во многих приложениях цифровой обработки сигналов, при выполнении научных расчётов высокой точности и др. Для реализации подобных вычислений часто используются FPGA.
Одной из проблем при реализации на FPGA вычислительных устройств, работающих в формате с плавающей запятой, является реализация устройств сдвига, используемых для нормализации результата арифметических операций. В сумматорах и блоках вычитания устройства сдвига используются также для выравнивания порядков суммируемых операндов. Присутствие устройств сдвига оказывает на производительность и ресурсоемкость арифметического устройства значительное влияние. Это происходит потому, что аппаратные устройства сдвига отсутствуют среди логических ресурсов FPGA.
Работы, посвященные реализации на FPGA арифметических устройств и устройств сдвига в их составе, касаются, главным образом, логарифмических (то есть использующих мультиплексоры) и циклических устройств сдвига [1-4]. В [2-4] отмечается недостаточная приспособленность ресурсов FPGA для реализации устройств сдвига. В [5] оцениваются возможности реализации на FPGA устройств сдвига на базе многовходовых мультиплексоров и устройств сдвига в виде селекторов на базе цепей переноса. Показано, что на FPGA целесообразно реализовывать устройства сдвига на базе мультиплексоров, так как по сравнению с селекторами они более эффективны и по скоростным характеристикам, и по ресурсоемкости.
При использовании современных FPGA многовходовые мультиплексоры могут реализовываться на базе 6-входовых табличных преобразователей (LUTs) и мультиплексоров 2:1 (MUXF7 и MUXF8), входящих в состав логических секций FPGA [6]. При этом табличные преобразователи используются как мультиплексоры 4:1. Схема мультиплексора 16:1, построенная с использованием вышеуказанных элементов, представлена на рисунке 1. Для этого мультиплексора требуется 4-разрядная шина управления s[3:0]. Два младших разряда шины управления поступают на табличные преобразователи вместе с разрядами шины данных d[15:0]. Старшие разряды шины управления поступают на мультиплексоры MUXF7 и MUXF8.
При выполнении арифметических операций в формате с плавающей запятой числа чаще всего представляются с одинарной или c двойной точностью, что соответствует разрядности мантисс 24 и 53 бита. На рисунке 2 представлен мультиплексор 24:1 с 8-разрядной шиной управления, реализуемый на трех логических секциях FPGA. Входящий в его состав мультиплексор 16:1 построен, как показано на рисунке 1; мультиплексор 8:1 – аналогичным образом [6]. Если sv[7:0]<23, табличный преобразователь пропускает на выход один из сигналов, поступающих от мультиплексоров 16:1 и 8:1. Если sv[7:0]>23, на выходе табличного преобразователя формируется логический ноль. Мультиплексор 53:1 строится аналогично: для этого требуется 3 мультиплексора 16:1, 1 мультиплексор 5:1, 1 мультиплексор 4:1 и 11-разрядная шина управления.
Рисунок 1. Мультиплексор 16:1, реализованный на элементах одной логической секции FPGA
Рисунок 2. Мультиплексор 24:1 на трех логических секциях FPGA
Оценим производительность и ресурсоемкость многовходовых мультиплексоров 24:1 и 53:1, соответствующих арифметическим операциям над числами, представленными по стандарту IEEE 754 с одинарной и двойной точностью. Реализуем оба вида мультиплексоров на FPGA XC7A200T-3. Создадим для каждого из мультиплексоров проекты устройств в среде Vivado 2018.3 и опишем их на языке VHDL в структурном стиле.
Оценку производительности (максимальной тактовой частоты) выполним по результатам временного анализа проектов. Для запуска временного анализа входные и выходные сигналы анализируемых устройств синхронизируем с тактовым сигналом, на период которого наложим ограничение. В результате временной анализатор может оценить задержки распространения сигналов по элементам мультиплексоров и соединениям между ними и рассчитает для каждого из них максимальную тактовую частоту. Оценку производительности выполним для двух вариантов настроек: без ограничения по размещению на кристалле и на ограниченном участке кристалла.
Информацию о ресурсоемкости устройств в среде Vivado получим по итогам реализации проекта для FPGA в отчете, генерируемом автоматически.
Результаты оценки производительности и ресурсоемкости мультиплексоров приведены в таблице 1.
Таблица 1.
Производительность и ресурсоемкость мультиплексоров 24:1 и 53:1
Мультиплексор |
Ресурсоемкость |
Максимальная тактовая частота при различных способах размещения, МГц |
||
LUT |
Лог. секций |
Без ограничений |
С ограничением площади кристалла |
|
24:1 |
7 |
3 |
544 |
522 |
53:1 |
16 |
6 |
464 |
451 |
Более детальный временной анализ проекта показывает, что в максимальные задержки распространения сигналов элементы мультиплексоров и соединения между ними вносят примерно одинаковый вклад: 0,990 нс против 0,974 нс соответственно для мультиплексора 24:1, и 0,997 нс против 1,289 нс соответственно для мультиплексора 53:1. В целом, за счет того, что соединения между элементами в основном проходят внутри логических секций, оба мультиплексора показывают высокую производительность.
Список литературы:
- Рабаи, Ж.М., Чандракасан А.П., Николич Б. Цифровые интегральные схемы, 2-е издание.: пер. с англ. – М.: ООО «И.Д. Вильямс», 2007. – 912 с.
- Beauchamp, Michael J., et al. "Architectural modifications to enhance the floating-point performance of FPGAs." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 16.2 (2008): 177-187.
- Liang, Jian, Russell Tessier, and Oskar Mencer. "Floating point unit generation and evaluation for FPGAs." Field-Programmable Custom Computing Machines, 2003. FCCM 2003. 11th Annual IEEE Symposium on. IEEE, 2003.
- Moctar, Yehdhih Ould Mohammed, et al. "Reducing the cost of floating-point mantissa alignment and normalization in FPGAs." Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays. ACM, 2012.
- Ushenina I. V. Multi-input multiplexers and selectors as basic shifter blocks in arithmetic devices operating in floating point: comparative analysis //Journal of Physics: Conference Series. – IOP Publishing, 2019. – Т. 1399. – №. 3.
- Chapman, Ken. "Multiplexer design techniques for datapath performance with minimized routing resources." Xilinx Application Note (2014).
дипломов
Оставить комментарий