maxics 0 6 мая, 2011 Опубликовано 6 мая, 2011 (изменено) · Жалоба Возникла следующая проблема, над которой ”бьюсь” продолжительное время. Некорректно работает fft, реализованное на IP-ядре (ISE 10.1, fft 5.0). Для проверки подаю sin определенной частоты с генератора, пропускаю через DDC и затем I и Q ветви подаю на выход и на fft. В SystemView накладываю на сигнал DONE выход fft (с ядра). А также средствами SystemView строю fft используя I и Q ветви после DDC и тоже накладываю на DONE. Результаты следующие: fft сделанное средствами SystemView корректно реагирует на изменение частоты – ”палка” движется в нужном направлении, адекватно отображает изменение частоты. В случае fft на ядре этого не происходит. ”Палка” движется неправильно, иногда появляются боковые лепестки. Прилагаю код и скриншоты настройки ядра. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity obrabotka is port( clk : in std_logic; --5 МГц data_I : in std_logic_vector(15 downto 0); data_Q : in std_logic_vector(15 downto 0); done : out std_logic; data_out : out std_logic_vector(31 downto 0)); end obrabotka; architecture Behavioral of obrabotka is component fft is -- настройка IP-ядра в приложении port ( fwd_inv_we : in STD_LOGIC := 'X'; rfd : out STD_LOGIC; start : in STD_LOGIC := 'X'; fwd_inv : in STD_LOGIC := 'X'; dv : out STD_LOGIC; done : out STD_LOGIC; clk : in STD_LOGIC := 'X'; busy : out STD_LOGIC; edone : out STD_LOGIC; xn_re : in STD_LOGIC_VECTOR ( 15 downto 0 ); xk_im : out STD_LOGIC_VECTOR ( 26 downto 0 ); xn_index : out STD_LOGIC_VECTOR ( 9 downto 0 ); xk_re : out STD_LOGIC_VECTOR ( 26 downto 0 ); xn_im : in STD_LOGIC_VECTOR ( 15 downto 0 ); xk_index : out STD_LOGIC_VECTOR ( 9 downto 0 ) ); end component; signal I_out,Q_out: std_logic_vector( 26 downto 0 ); signal flag_fft:std_logic:='0'; signal xn_index,xk_index: std_logic_vector( 9 downto 0 ); signal Data_fft_i: std_logic_vector( 15 downto 0 ); signal Data_fft_Q: std_logic_vector( 15 downto 0 ); begin data_out<= I_out(26 downto 11)&Q_out(26 downto 11); process(clk)-- процес инициализации работы fft с 3-го бита xn_index begin if( rising_edge( clk ) ) then if xn_index="0000001" then flag_fft<='1';end if; if flag_fft='1' then Data_fft_i<=data_I; Data_fft_q<=data_Q; end if; end if; end process; x_fft: fft port map( fwd_inv_we =>'1', rfd =>open, start =>'1', fwd_inv =>'1', dv =>open, done =>done, clk =>clk, busy =>open, edone =>open, xn_re =>Data_fft_i, xk_im =>I_out, xn_index =>xn_index, xk_re =>Q_out, xn_im =>Data_fft_q, xk_index =>xk_index); end Behavioral; Изменено 6 мая, 2011 пользователем maxics Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 6 мая, 2011 Опубликовано 6 мая, 2011 · Жалоба Вы не забыли что у вас битреверсная адресация включена? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 6 мая, 2011 Опубликовано 6 мая, 2011 · Жалоба Вы не забыли что у вас битреверсная адресация включена? как раз наоборот она - не включена, поэтому на выходе выборки спектра идут в бит-реверсном порядке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 7 мая, 2011 Опубликовано 7 мая, 2011 · Жалоба Да, туплю, но суть ясна) Natural order включить нужно, правда ресурсов корка сожрет больше, блокрамов добавится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SDM_Electronix 0 8 мая, 2011 Опубликовано 8 мая, 2011 (изменено) · Жалоба Output ordering - Natural Order Изменено 8 мая, 2011 пользователем SDM_Electronix Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gutzan 0 8 мая, 2011 Опубликовано 8 мая, 2011 · Жалоба По картинкам с корегена непонятно в каком режиме ваша корка должна работать (Streaming or Burst or ...) ????? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxics 0 10 мая, 2011 Опубликовано 10 мая, 2011 · Жалоба Спасибо! Поставил Natural order. Помогло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться