СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2016
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 76 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2016 только в том, что у вычитаемого опе- ранда инвертируется знак SIGN(B). Бло- ки DSP48E1 также можно заменить на быстрый сдвиговый регистр, и нао- борот (компромисс между ресурсами и производительностью кристалла). Р ЕСУРСЫ ПЛИС Результаты синтеза и задержка рас- пространения на выполнение опера- ции для каждого узла сведены в табли- цу 2. Из неё видно, что самой простой и быстрой операцией является умноже- ние двух чисел в формате FP23. Объём занимаемых ресурсов после синтеза для всех узлов приведён в общем лог-файле. Пример резуль- татов синтеза для умножителя «FP23» показан в листинге. На рисунке 7 показана трассиров- ка компонента умножителя внутри кристалла ПЛИС в среде Xilinx FPGA Editor. Большой синий блок слева – узел DSP48, остальные блоки – конфигура- ционные ресурсы кристалла. Голубые линии – сигналы и межсоединения вну- три ПЛИС. З АКЛЮЧЕНИЕ Все узлы реализованных компо- нентов для формата FP23 написаны на языке описания цифровых схем – VHDL. Для проверки правильности работы узлов на языке С++ написа- на небольшая тестовая программа, которая содержит функции мате- матических операций c плавающей запятой на ПЛИС. Верификация про- Таблица 2. Сводная таблица ресурсов Имя компонента Операция Ресурсы DSP48 Задержка, тактов fp23_fix2float_m1 Преобразование в FP23 0/1 8 fp23_float2fix_m1 Преобразование из FP23 0/1 4 fp23_addsub_m1 Сложение 0/2 12 fp23_mult_m1 Умножение 1 5 водилась с помощью систем автома- тизированного проектирования для ПЛИС – Aldec Active-HDL и Xilinx ISE Desing Suite. Сравнительный анализ компонен- тов с плавающей запятой для IP-CORE Xilinx и специализированного фор- мата FP23 приведён в таблице 3. Вид- но, что производительность для ядер FP23, реализованных оптимальным образом с учётом логики кристалла ПЛИС, выше. При этом ресурсов затра- чено не больше, а в некоторых случаях в два раза меньше, особенно для узлов DSP48. Задержка на выполнение опе- раций сопоставима. Компоненты FP23 были реализова- ны автором при решении специали- зированных радиотехнических задач, в частности, использовались для созда- ния узлов БПФ/ОБПФ на ПЛИС в зада- чах цифровой обработки больших потоков данных. Исходные коды RTL- описаний, программу тестирования и результаты синтеза можно найти по ссылке [1]. Л ИТЕРАТУРА 1. www.github.com/capitanov/fp23_logic. 2. Xilinx LogiCORE IP Floating-Point Operator. DS335. 2011. March 1. 3. Altera Floating-Point IP Cores User Guide. UG-01058. 2015.07.30. 4. ISO/IEC/IEEE 60559 (IEEE Std. 754–2008). 5. www.habrahabr.ru/post/112953. 6. Muller J.-M., Brisebarre, N. Handbook of Floating-Point Arithmetic. 2010. Таблица 3. Сравнение ресурсов и производительности Операция Ресурсы DSP48 Ресурсы LUT/FFs Fmax, МГц Задержка, тактов Xilinx Custom Xilinx Custom Xilinx Custom Xilinx Custom FIX-to-FP 1 0/1 200 150 400 460 9 8 FP-to-FIX 1 0/1 120 85 430 530 6 4 ADD/SUB 2 0/2 350 380 380 450 12 12 MULT 3 1 120 70 420 520 6 5 Листинг Top Level Output File Name: fp23_mult_m1.ngc Primitive and Black Box Usage: ------------------------------ # BELS : 106 # GND : 15 # INV : 1 # LUT2 : 25 # LUT3 : 16 # LUT4 : 6 # LUT6 : 14 # MUXCY : 14 # VCC : 1 # XORCY : 14 # FlipFlops/Latches : 75 # Shift Registers : 8 # SRLC16E : 8 # DSPs : 1 # DSP48E1 : 1 ------------------------------ Fmax = 510 MHz Рис. 7. Синтезированный компонент умножителя в Xilinx FPGA Editor
RkJQdWJsaXNoZXIy MTQ4NjUy