реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> CORDIC на 300МГц на 7 серии, побить xilinx реально ли?
_Ivan_33
сообщение Jun 9 2018, 13:09
Сообщение #1


fpga designer
****

Группа: Свой
Сообщений: 606
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



Добрый день, коллеги!

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

С уважением, Иван.


--------------------
Go to the top of the page
 
+Quote Post
magnum16
сообщение Jun 9 2018, 13:43
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 11-09-06
Пользователь №: 20 283



Попробовать стоит. Можно посмотреть, что другие пишут. С ходу https://pdfs.semanticscholar.org/47be/c660d...7377cef4595.pdf
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Jun 9 2018, 14:15
Сообщение #3


fpga designer
****

Группа: Свой
Сообщений: 606
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



Большое спасибо за ссылку!


--------------------
Go to the top of the page
 
+Quote Post
fguy
сообщение Jun 10 2018, 08:17
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 27-11-08
Пользователь №: 42 009



Цитата(_Ivan_33 @ Jun 9 2018, 16:09) *
Существует такой вопрос - есть дизайн, там есть cordic, что переводит вектор из декартовых координат в полярные. Чип - с архитектурой кинтекс-7. По спецификации ip блока не работает на больше чем 180МГц.
А в дизайне мне нужно чтоб обсчитывалось на 300МГц. Стоит ли пробовать писать свой велосипед или же ядро xilinx достаточно хорошо написано, оптимизировано и писать даже не стоит пытаться?

Есть допотопный алгоритм для решения всех проблем - разделяй и властвуй.
В вашем случае стрим на 300 МГц делим на 2 по 155 (с запасом) и ставим 2 ядра кордика, результаты собираем обратно в стрим 300 МГц - делается за час с использованием хлс и штатных ядер.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Jun 13 2018, 14:01
Сообщение #5


fpga designer
****

Группа: Свой
Сообщений: 606
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



Увы, я тогда по latency пролетаю
Ибо кордик у меня считает не каждый вектор отдельно, а ему можно пихать данные каждый такт.


--------------------
Go to the top of the page
 
+Quote Post
fguy
сообщение Jun 17 2018, 11:36
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 27-11-08
Пользователь №: 42 009



Цитата(_Ivan_33 @ Jun 13 2018, 17:01) *
Увы, я тогда по latency пролетаю
Ибо кордик у меня считает не каждый вектор отдельно, а ему можно пихать данные каждый такт.

Вы понятие "латентность" ни с чем не путаете? Латентность у кордика и так не маленькая будет особенно у вас в пайплайне. Если вы выравниваете результат с кордика по времени с какими то еще потоками, то по любому ставите фифо на них, а в 2-х канальном варианте вам это фифо придется сделать несколько больше только и всего, но при этом сохранится возможность обработки ваших данных кордиком каждый такт 300 МГц. Конечно же ресурсов такой вариант съест больше чем одно ядро кордика, но в масштабах среднего кинтекса 7 это практически ничто.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2018 - 08:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01012 секунд с 7
ELECTRONIX ©2004-2016