pdb matrices spectrales.vhd~
52 lines
| 2.7 KiB
| text/plain
|
TextLexer
/ test_fft / pdb matrices spectrales.vhd~
paul
|
r7 | IF apbi.psel(pindex) = '1' THEN | ||
-- APB DMA READ -- | ||||
CASE paddr(7 DOWNTO 2) IS | ||||
--0 | ||||
WHEN "000000" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f0(31 DOWNTO 0); | ||||
WHEN "000001" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f0(63 DOWNTO 32); | ||||
WHEN "000010" => prdata(15 DOWNTO 0) <= reg_ftt.in_data_f0(79 DOWNTO 64); | ||||
WHEN "000011" => prdata(4 DOWNTO 0) <= reg_ftt.in_wen_f0; | ||||
WHEN "000100" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f1(31 DOWNTO 0); | ||||
WHEN "000101" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f1(63 DOWNTO 32); | ||||
WHEN "000110" => prdata(15 DOWNTO 0) <= reg_ftt.in_data_f1(79 DOWNTO 64); | ||||
WHEN "000111" => prdata(4 DOWNTO 0) <= reg_ftt.in_wen_f1; | ||||
WHEN "001000" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f2(31 DOWNTO 0); | ||||
WHEN "001001" => prdata(31 DOWNTO 0) <= reg_ftt.in_data_f2(63 DOWNTO 32); | ||||
WHEN "001010" => prdata(15 DOWNTO 0) <= reg_ftt.in_data_f2(79 DOWNTO 64); | ||||
WHEN "001011" => prdata(4 DOWNTO 0) <= reg_ftt.in_wen_f2; | ||||
WHEN "001100" => prdata(31 DOWNTO 0) <= MEM_OUT_SM_Data_out(32*1-1 DOWNTO 32*0); | ||||
WHEN "001101" => prdata(31 DOWNTO 0) <= MEM_OUT_SM_Data_out(32*2-1 DOWNTO 32*1); | ||||
WHEN "001110" => prdata(1 DOWNTO 0) <= reg_ftt.out_ren; | ||||
prdata(3 DOWNTO 2) <= MEM_OUT_SM_Full; | ||||
prdata(5 DOWNTO 4) <= MEM_OUT_SM_Empty; | ||||
WHEN OTHERS => NULL; | ||||
END CASE; | ||||
IF (apbi.pwrite AND apbi.penable) = '1' THEN | ||||
-- APB DMA WRITE -- | ||||
CASE paddr(7 DOWNTO 2) IS | ||||
WHEN "000000" => reg_ftt.in_data_f0(31 DOWNTO 0) <= apbi.pwdata; | ||||
WHEN "000001" => reg_ftt.in_data_f0(63 DOWNTO 32) <= apbi.pwdata; | ||||
WHEN "000010" => reg_ftt.in_data_f0(79 DOWNTO 64) <= apbi.pwdata(15 DOWNTO 0); | ||||
WHEN "000011" => reg_ftt.in_wen_f0 <= apbi.pwdata(4 DOWNTO 0); | ||||
WHEN "000100" => reg_ftt.in_data_f1(31 DOWNTO 0) <= apbi.pwdata; | ||||
WHEN "000101" => reg_ftt.in_data_f1(63 DOWNTO 32) <= apbi.pwdata; | ||||
WHEN "000110" => reg_ftt.in_data_f1(79 DOWNTO 64) <= apbi.pwdata(15 DOWNTO 0); | ||||
WHEN "000111" => reg_ftt.in_wen_f1 <= apbi.pwdata(4 DOWNTO 0); | ||||
WHEN "001000" => reg_ftt.in_data_f2(31 DOWNTO 0) <= apbi.pwdata; | ||||
WHEN "001001" => reg_ftt.in_data_f2(63 DOWNTO 32) <= apbi.pwdata; | ||||
WHEN "001010" => reg_ftt.in_data_f2(79 DOWNTO 64) <= apbi.pwdata(15 DOWNTO 0); | ||||
WHEN "001011" => reg_ftt.in_wen_f2 <= apbi.pwdata(4 DOWNTO 0); | ||||
WHEN "001110" => reg_ftt.out_ren <= apbi.pwdata(1 DOWNTO 0); | ||||
WHEN OTHERS => NULL; | ||||
END CASE; | ||||
END IF; | ||||
END IF; | ||||