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

 
 
 
Reply to this topicStart new topic
> Вопрос по IP Core FFT
_Anatoliy
сообщение Jun 20 2017, 13:55
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Коллеги, мне тут понадобилось применить в проекте FFT на 512 точек и столкнулся с непонятным поведением выхода корки(см. видео). Сигнал source_valid ведёт себя совершенно неадекватно - длительность непредсказуема и появляется совсем не в тот момент когда должен. Прошу помощи коллективного разума, я уже не знаю что и думать. Режим работы - buffered burst. В этом же проекте рядом стоит FFT на 1024 точки и работает как танк. 512 точек какой то особый размер?
Прикрепленные файлы
Прикрепленный файл  Video_2017_06_20_163225.wmv ( 1.2 мегабайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 20 2017, 17:25
Сообщение #2


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Чиста для определённости.... Ольтэра? (Знакомая мне корка хилинха на ахи).

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

Тогда имею сказать следующее::
фраза """длительность непредсказуема и появляется совсем не в тот момент когда должен"""
некорректна В ПРИНЦЫПЕ по отношению к таким шынам.
Да ничё она не должна. Код, обслуживающий корку, не имеет права предполагать, как она будет выставлять готовность входа и выхода.
Она может это делать на весь пакет сразу или по кусочкам - как ей нравится.
И это действительно может неочевидно зависеть от разных факторов (например соотношения длин заюзаных коркой буферов и длины бпф).
Так что это не критерий.
Вот если даёт неправильный бпф, тогда другое дело.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2017, 18:22
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Dr.Alex @ Jun 20 2017, 20:25) *
Да ничё она не должна. Код, обслуживающий корку, не имеет права предполагать, как она будет выставлять готовность входа и выхода.

Спасибо! Только я в своё время поработал с разными фурьешками и ни разу не видел того о чём Вы сказали. На худой конец есть же ug_fft с картинками...
Но на всякий случай завтра проверю эту гипотезу.
Цитата(Dr.Alex @ Jun 20 2017, 20:25) *
Вот если даёт неправильный бпф, тогда другое дело.

С этого то всё и началось. На выходе сигнал очень сильно зашумлён, по динамическому диапазону есть зона примерно децибел 30 в которой изменение уровня входного сигнала не приводит к изменению уровня выходного wacko.gif
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 21 2017, 07:14
Сообщение #4


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Проверил, Ваше предположение не подтвердилось. Обратите внимание на дистанцию между sop и eop, маловато будет для 512 точек. И ещё обратите внимание на положение eop относительно valid, он не вложен.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Jun 21 2017, 08:02
Сообщение #5


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Сделайте скрин настроек в визарде. И как подключили напишите. Пробовал разные размеры, работает как надо. Проверьте что на входе fftpts_in у вас, может там неправильно задан размер блока?

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 21 2017, 08:09
Сообщение #6


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Burenkov Sergey @ Jun 21 2017, 11:02) *
Сделайте скрин настроек в визарде. И как подключили напишите. Пробовал разные размеры, работает как надо. Проверьте что на входе fftpts_in у вас, может там неправильно задан размер блока?

У меня режим работы - buffered burst, порта fftpts_in нет.
Код
c3 : component fft512 port map (
        clk              => iclk200,          --    clk.clk
        reset_n          => reset_n,      --    rst.reset_n
        sink_valid       => out_win_val,   --   sink.sink_valid
        sink_ready       => sink_ready,   --       .sink_ready
        sink_error       => "00",   --       .sink_error
        sink_sop         => out_win_sop,     --       .sink_sop
        sink_eop         => out_win_eop,     --       .sink_eop
        sink_real        => out_win_data_re24,    --       .sink_real
        sink_imag        => out_win_data_im24,    --       .sink_imag
        inverse          => inverse,      --       .inverse
        source_valid     => source_valid, -- source.source_valid
        source_ready     => hi, --       .source_ready
        source_error     => source_error, --       .source_error
        source_sop       => open,   --       .source_sop
        source_eop       => open,   --       .source_eop
        source_real      => source_real24,  --       .source_real
        source_imag      => source_imag24,  --       .source_imag
        source_exp       => source_exp    --       .source_exp
);

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Jun 21 2017, 08:57
Сообщение #7


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Не заметил про buffered burst, в таком режиме не тестил... Может на вход неправильный размер пакета подаете? В моделировании работает нормально?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 21 2017, 09:33
Сообщение #8


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Burenkov Sergey @ Jun 21 2017, 11:57) *
Не заметил про buffered burst, в таком режиме не тестил... Может на вход неправильный размер пакета подаете? В моделировании работает нормально?

В моделировании не пробовал, 16-й квартус не генерит файл *.vho при генерации корки. Размер пакета на входе правильный, проверяю регулярно.
Сделал 256 точек - результат на видео. Я просто в шоке...
Прикрепленные файлы
Прикрепленный файл  Video_2017_06_21_122022.wmv ( 279.31 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
 
+Quote Post
AVR
сообщение Jun 21 2017, 09:54
Сообщение #9


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Маленькое замечание: лучше сразу писать разработчика ядра / целевую плис. Вот по Xilinx как раз неделю назад делал, мог бы подсказать по FFT ядру. Ну а тут вероятно альтера.


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 21 2017, 10:00
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(AVR @ Jun 21 2017, 12:54) *
Маленькое замечание: лучше сразу писать разработчика ядра / целевую плис. Вот по Xilinx как раз неделю назад делал, мог бы подсказать по FFT ядру. Ну а тут вероятно альтера.

Принимается. Альтера, Аррия-5, Q16.0
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th July 2025 - 18:42
Рейтинг@Mail.ru


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