Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CORDIC на 300МГц на 7 серии
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_Ivan_33
Добрый день, коллеги!

Существует такой вопрос - есть дизайн, там есть cordic, что переводит вектор из декартовых координат в полярные. Чип - с архитектурой кинтекс-7. По спецификации ip блока не работает на больше чем 180МГц.
А в дизайне мне нужно чтоб обсчитывалось на 300МГц. Стоит ли пробовать писать свой велосипед или же ядро xilinx достаточно хорошо написано, оптимизировано и писать даже не стоит пытаться?
Прошу поделиться своим опытом.

С уважением, Иван.
magnum16
Попробовать стоит. Можно посмотреть, что другие пишут. С ходу https://pdfs.semanticscholar.org/47be/c660d...7377cef4595.pdf
_Ivan_33
Большое спасибо за ссылку!
fguy
Цитата(_Ivan_33 @ Jun 9 2018, 16:09) *
Существует такой вопрос - есть дизайн, там есть cordic, что переводит вектор из декартовых координат в полярные. Чип - с архитектурой кинтекс-7. По спецификации ip блока не работает на больше чем 180МГц.
А в дизайне мне нужно чтоб обсчитывалось на 300МГц. Стоит ли пробовать писать свой велосипед или же ядро xilinx достаточно хорошо написано, оптимизировано и писать даже не стоит пытаться?

Есть допотопный алгоритм для решения всех проблем - разделяй и властвуй.
В вашем случае стрим на 300 МГц делим на 2 по 155 (с запасом) и ставим 2 ядра кордика, результаты собираем обратно в стрим 300 МГц - делается за час с использованием хлс и штатных ядер.
_Ivan_33
Увы, я тогда по latency пролетаю
Ибо кордик у меня считает не каждый вектор отдельно, а ему можно пихать данные каждый такт.
fguy
Цитата(_Ivan_33 @ Jun 13 2018, 17:01) *
Увы, я тогда по latency пролетаю
Ибо кордик у меня считает не каждый вектор отдельно, а ему можно пихать данные каждый такт.

Вы понятие "латентность" ни с чем не путаете? Латентность у кордика и так не маленькая будет особенно у вас в пайплайне. Если вы выравниваете результат с кордика по времени с какими то еще потоками, то по любому ставите фифо на них, а в 2-х канальном варианте вам это фифо придется сделать несколько больше только и всего, но при этом сохранится возможность обработки ваших данных кордиком каждый такт 300 МГц. Конечно же ресурсов такой вариант съест больше чем одно ядро кордика, но в масштабах среднего кинтекса 7 это практически ничто.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.