Hi,
to save more than the default numbers of words (BURST_LENGTH == 2) i did the following modification @ process "latch_sdram_data"
signal word_cnt_int : natural range 0 to BURST_LENGTH-1;
if first_word = '1' then
q_reg(DATA_WIDTH-1 downto DATA_WIDTH-SDRAM_DATA_WIDTH) <= sdram_dq;
word_cnt_int <= 1; --initwert
elsif read_done = '1' then
q_reg(SDRAM_DATA_WIDTH-1 downto 0) <= sdram_dq;
valid <= '1';
elsif word_cnt_int > 0 then -- 2. Word....
q_reg(DATA_WIDTH-1 - word_cnt_intSDRAM_DATA_WIDTH downto DATA_WIDTH - word_cnt_intSDRAM_DATA_WIDTH -SDRAM_DATA_WIDTH) <= sdram_dq;
word_cnt_int <= word_cnt_int+1;
end if;
-- if first_word = '1' then
-- q_reg(31 downto 16) <= sdram_dq;
-- elsif read_done = '1' then
-- q_reg(15 downto 0) <= sdram_dq;
-- valid <= '1';
-- end if;
Hi,
to save more than the default numbers of words (BURST_LENGTH == 2) i did the following modification @ process "latch_sdram_data"
signal word_cnt_int : natural range 0 to BURST_LENGTH-1;
if first_word = '1' then
q_reg(DATA_WIDTH-1 downto DATA_WIDTH-SDRAM_DATA_WIDTH) <= sdram_dq;
word_cnt_int <= 1; --initwert
elsif read_done = '1' then
q_reg(SDRAM_DATA_WIDTH-1 downto 0) <= sdram_dq;
valid <= '1';
elsif word_cnt_int > 0 then -- 2. Word....
q_reg(DATA_WIDTH-1 - word_cnt_intSDRAM_DATA_WIDTH downto DATA_WIDTH - word_cnt_intSDRAM_DATA_WIDTH -SDRAM_DATA_WIDTH) <= sdram_dq;
word_cnt_int <= word_cnt_int+1;
end if;
-- if first_word = '1' then
-- q_reg(31 downto 16) <= sdram_dq;
-- elsif read_done = '1' then
-- q_reg(15 downto 0) <= sdram_dq;
-- valid <= '1';
-- end if;