_sda 0 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба Коллеги, мне тут понадобилось применить в проекте FFT на 512 точек и столкнулся с непонятным поведением выхода корки(см. видео). Сигнал source_valid ведёт себя совершенно неадекватно - длительность непредсказуема и появляется совсем не в тот момент когда должен. Прошу помощи коллективного разума, я уже не знаю что и думать. Режим работы - buffered burst. В этом же проекте рядом стоит FFT на 1024 точки и работает как танк. 512 точек какой то особый размер? Video_2017_06_20_163225.wmv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dr.Alex 0 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба Чиста для определённости.... Ольтэра? (Знакомая мне корка хилинха на ахи). Впрочем, по названиям сигналов можно понять что и тут смысл тот же. Тогда имею сказать следующее:: фраза """длительность непредсказуема и появляется совсем не в тот момент когда должен""" некорректна В ПРИНЦЫПЕ по отношению к таким шынам. Да ничё она не должна. Код, обслуживающий корку, не имеет права предполагать, как она будет выставлять готовность входа и выхода. Она может это делать на весь пакет сразу или по кусочкам - как ей нравится. И это действительно может неочевидно зависеть от разных факторов (например соотношения длин заюзаных коркой буферов и длины бпф). Так что это не критерий. Вот если даёт неправильный бпф, тогда другое дело. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба Да ничё она не должна. Код, обслуживающий корку, не имеет права предполагать, как она будет выставлять готовность входа и выхода. Спасибо! Только я в своё время поработал с разными фурьешками и ни разу не видел того о чём Вы сказали. На худой конец есть же ug_fft с картинками... Но на всякий случай завтра проверю эту гипотезу. Вот если даёт неправильный бпф, тогда другое дело. С этого то всё и началось. На выходе сигнал очень сильно зашумлён, по динамическому диапазону есть зона примерно децибел 30 в которой изменение уровня входного сигнала не приводит к изменению уровня выходного Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Проверил, Ваше предположение не подтвердилось. Обратите внимание на дистанцию между sop и eop, маловато будет для 512 точек. И ещё обратите внимание на положение eop относительно valid, он не вложен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burenkov 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Сделайте скрин настроек в визарде. И как подключили напишите. Пробовал разные размеры, работает как надо. Проверьте что на входе fftpts_in у вас, может там неправильно задан размер блока? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Сделайте скрин настроек в визарде. И как подключили напишите. Пробовал разные размеры, работает как надо. Проверьте что на входе 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 ); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burenkov 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Не заметил про buffered burst, в таком режиме не тестил... Может на вход неправильный размер пакета подаете? В моделировании работает нормально? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Не заметил про buffered burst, в таком режиме не тестил... Может на вход неправильный размер пакета подаете? В моделировании работает нормально? В моделировании не пробовал, 16-й квартус не генерит файл *.vho при генерации корки. Размер пакета на входе правильный, проверяю регулярно. Сделал 256 точек - результат на видео. Я просто в шоке... Video_2017_06_21_122022.wmv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Маленькое замечание: лучше сразу писать разработчика ядра / целевую плис. Вот по Xilinx как раз неделю назад делал, мог бы подсказать по FFT ядру. Ну а тут вероятно альтера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Маленькое замечание: лучше сразу писать разработчика ядра / целевую плис. Вот по Xilinx как раз неделю назад делал, мог бы подсказать по FFT ядру. Ну а тут вероятно альтера. Принимается. Альтера, Аррия-5, Q16.0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться