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

 
 
> Vivado HLS to ISE 14.7, Перенести свои костыли из Vivado HLS в ISE
gibson1980
сообщение Jan 23 2018, 12:38
Сообщение #1


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

Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831



Приветствую.
Есть задачка с не целочисленным делением, которую я не могу реализовать в ISE, поэтому решил воспользоваться Vivado HLS.
Реализация в HLS довольно простая, умножить, сложить, разделить, проблем вроде нет, но как все это перенести в мой проект на ISE?

Дело в том, что в HLS в каталоге impl генерируется HDL файл верхнего уровня с несколькими дополнительными HDL файлами, в которых как я понял описывается подключение модулей с AXI шиной и т. д., но я с ней ни разу не работал и тут у меня ступор. Может я в Vivado экспорт RTL делаю не верно? Или можно сгенерировать какой нибудь NGC файл, что бы я его как отдельный модуль подключил в своем проекте?

Не могли бы вы подсказать в общих чертах, как это сделать более правильно и безболезненно, или может мануал какой подскажете что бы почитать.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RobFPGA
сообщение Jan 23 2018, 14:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(gibson1980 @ Jan 23 2018, 15:38) *
...
Есть задачка с не целочисленным делением, которую я не могу реализовать в ISE, поэтому решил воспользоваться Vivado HLS.
...

Для какого семейства Вам надо получить код?
Если под "не целочисленным делением" имеете ввиду float то может быть малой кровю не получится отделатся.

Для начала можете попробовать задать в качестве целевой FPGA virtex4 или virtex5 и посмотреть что скомпилирует.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 23 2018, 14:55
Сообщение #3


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

Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831



Kintex7 160.
Задача такая, необходимо рассчитать поправку на доплер в виде 48 разрядного числа для гетеродина. Примерная последовательность действий:
Код
a = dop * 10 кГц         - dop - число -240...+240
b = a + f                - f - частота 7...8 ГГц (несколько фиксированных, можно сказать константа)
c = b*0.00000005         - сама поправка на доплер
d = (c/192 МГц)*2y48     - 2y48 2 в степени 48 (тоже можно сказать константа c * 1466015)

Понятно что некоторые операции можно сократить и использовать как константы. Тут главная проблема в операции "с" (~7000000000 * 0,00000005). Сперва думал заменить ее на умножение (ведь так в VHDL делается?), но результат получается где то 62 разряда, а я не знаю как с таким числом работать.


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:05
Рейтинг@Mail.ru


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