Перейти к содержанию
    

CORDIC на 300МГц на 7 серии

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

 

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

А в дизайне мне нужно чтоб обсчитывалось на 300МГц. Стоит ли пробовать писать свой велосипед или же ядро xilinx достаточно хорошо написано, оптимизировано и писать даже не стоит пытаться?

Прошу поделиться своим опытом.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовать стоит. Можно посмотреть, что другие пишут. С ходу https://pdfs.semanticscholar.org/47be/c660d...7377cef4595.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А в дизайне мне нужно чтоб обсчитывалось на 300МГц. Стоит ли пробовать писать свой велосипед или же ядро xilinx достаточно хорошо написано, оптимизировано и писать даже не стоит пытаться?

Есть допотопный алгоритм для решения всех проблем - разделяй и властвуй.

В вашем случае стрим на 300 МГц делим на 2 по 155 (с запасом) и ставим 2 ядра кордика, результаты собираем обратно в стрим 300 МГц - делается за час с использованием хлс и штатных ядер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Увы, я тогда по latency пролетаю

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Увы, я тогда по latency пролетаю

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...