Entity: fft_data_handler

Diagram

natural ADDR_SIZE natural DATA_SIZE std_logic clk_i std_logic rst_i std_logic_vector(ADDR_SIZE-1 downto 0) s_of_b_i std_logic fs_data_en_i std_logic_vector(DATA_SIZE-1 downto 0) fs_data_re_i std_logic_vector(DATA_SIZE-1 downto 0) fs_data_im_i std_logic_vector(ADDR_SIZE-1 downto 0) fs_data_addr_i std_logic cmp_start_i std_logic_vector(ADDR_SIZE-1 downto 0) cmp_a_addr_i std_logic_vector(ADDR_SIZE-1 downto 0) cmp_b_addr_i std_logic_vector(DATA_SIZE-1 downto 0) cplx_data_a_re_i std_logic_vector(DATA_SIZE-1 downto 0) cplx_data_a_im_i std_logic_vector(DATA_SIZE-1 downto 0) cplx_data_b_re_i std_logic_vector(DATA_SIZE-1 downto 0) cplx_data_b_im_i std_logic_vector(ADDR_SIZE-1 downto 0) cplx_addr_a_i std_logic_vector(ADDR_SIZE-1 downto 0) cplx_addr_b_i std_logic cplx_data_en_i std_logic_vector(ADDR_SIZE-1 downto 0) res_addr_i std_logic_vector(DATA_SIZE-1 downto 0) cmp_data_a_re_o std_logic_vector(DATA_SIZE-1 downto 0) cmp_data_a_im_o std_logic_vector(DATA_SIZE-1 downto 0) cmp_data_b_re_o std_logic_vector(DATA_SIZE-1 downto 0) cmp_data_b_im_o std_logic cmp_data_en_o std_logic_vector(DATA_SIZE-1 downto 0) res_re_o std_logic_vector(DATA_SIZE-1 downto 0) res_im_o

Generics

Generic name Type Value Description
ADDR_SIZE natural 10
DATA_SIZE natural 16

Ports

Port name Direction Type Description
clk_i in std_logic Syscon signals
rst_i in std_logic
s_of_b_i in std_logic_vector(ADDR_SIZE-1 downto 0) control
fs_data_en_i in std_logic data from first stage
fs_data_re_i in std_logic_vector(DATA_SIZE-1 downto 0)
fs_data_im_i in std_logic_vector(DATA_SIZE-1 downto 0)
fs_data_addr_i in std_logic_vector(ADDR_SIZE-1 downto 0)
cmp_start_i in std_logic data for compute
cmp_data_a_re_o out std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_a_im_o out std_logic_vector(DATA_SIZE-1 downto 0)
cmp_a_addr_i in std_logic_vector(ADDR_SIZE-1 downto 0)
cmp_data_b_re_o out std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_b_im_o out std_logic_vector(DATA_SIZE-1 downto 0)
cmp_b_addr_i in std_logic_vector(ADDR_SIZE-1 downto 0)
cmp_data_en_o out std_logic
cplx_data_a_re_i in std_logic_vector(DATA_SIZE-1 downto 0) data from compute
cplx_data_a_im_i in std_logic_vector(DATA_SIZE-1 downto 0)
cplx_data_b_re_i in std_logic_vector(DATA_SIZE-1 downto 0)
cplx_data_b_im_i in std_logic_vector(DATA_SIZE-1 downto 0)
cplx_addr_a_i in std_logic_vector(ADDR_SIZE-1 downto 0)
cplx_addr_b_i in std_logic_vector(ADDR_SIZE-1 downto 0)
cplx_data_en_i in std_logic
res_re_o out std_logic_vector(DATA_SIZE-1 downto 0) read to regen data flow
res_im_o out std_logic_vector(DATA_SIZE-1 downto 0)
res_addr_i in std_logic_vector(ADDR_SIZE-1 downto 0)

Signals

Name Type Description
state_s state_type
tmp_data_a_re_s std_logic_vector(DATA_SIZE-1 downto 0)
tmp_data_a_im_s std_logic_vector(DATA_SIZE-1 downto 0)
tmp_data_b_re_s std_logic_vector(DATA_SIZE-1 downto 0)
tmp_data_b_im_s std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_a_re_s std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_a_im_s std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_b_re_s std_logic_vector(DATA_SIZE-1 downto 0)
cmp_data_b_im_s std_logic_vector(DATA_SIZE-1 downto 0)
port_b_addr_s std_logic_vector(ADDR_SIZE-1 downto 0) ram mux
port_a_addr_s std_logic_vector(ADDR_SIZE-1 downto 0) ram mux
port_a_data_re_s std_logic_vector(DATA_SIZE-1 downto 0)
port_a_data_re_out_s std_logic_vector(DATA_SIZE-1 downto 0)
port_a_data_im_s std_logic_vector(DATA_SIZE-1 downto 0)
port_a_data_im_out_s std_logic_vector(DATA_SIZE-1 downto 0)
port_b_data_re_s std_logic_vector(DATA_SIZE-1 downto 0)
port_b_data_re_out_s std_logic_vector(DATA_SIZE-1 downto 0)
port_b_data_im_s std_logic_vector(DATA_SIZE-1 downto 0)
port_b_data_im_out_s std_logic_vector(DATA_SIZE-1 downto 0)
we_en_s std_logic
pa_select_s std_logic_vector(1 downto 0)
pb_select_s std_logic_vector(1 downto 0)

Types

Name Type Description
state_type (IDLE,
READ_FIRST)

Processes

Instantiations

State machines

state transitions cluster_state_s state_s IDLE IDLE READ_FIRST READ_FIRST IDLE->READ_FIRST cmp_start_i = '1'    READ_FIRST->IDLE