diff --git a/lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_frontend_wb.vhd b/lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_frontend_wb.vhd index 3ae2ab3..77bf0bc 100644 --- a/lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_frontend_wb.vhd +++ b/lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_frontend_wb.vhd @@ -88,7 +88,7 @@ architecture struct of sdram_ctrl_frontend_wb is signal u_req_wr : std_logic; signal rdy : std_logic; - constant CAT_FIFO_WIDTH : integer := user_cmd_t'length + user_tag_t'length + DDR_ROW_ADDR_WIDTH + DDR_BANK_WIDTH + DDR_COL_ADDR_WIDTH + 4; + constant CAT_FIFO_WIDTH : integer := user_cmd_t'length + user_tag_t'length + DDR_ROW_ADDR_WIDTH + DDR_BANK_WIDTH + DDR_COL_ADDR_WIDTH; signal cat_fifo_din : unsigned(CAT_FIFO_WIDTH-1 downto 0); signal cat_fifo_dout : unsigned(CAT_FIFO_WIDTH-1 downto 0); signal cat_fifo_re : std_logic; @@ -98,8 +98,8 @@ architecture struct of sdram_ctrl_frontend_wb is -- signal cat_fifo_almost_full : std_logic; -- signal cat_fifo_almost_empty : std_logic; - signal write_fifo_din : unsigned(36 downto 0); - signal write_fifo_dout : unsigned(36 downto 0); + signal write_fifo_din : unsigned(35 downto 0); + signal write_fifo_dout : unsigned(35 downto 0); signal write_fifo_re : std_logic; signal write_fifo_we : std_logic; signal write_fifo_full : std_logic; @@ -118,19 +118,15 @@ architecture struct of sdram_ctrl_frontend_wb is alias cmd_fifo_in is cat_fifo_din(CAT_FIFO_WIDTH-1 downto CAT_FIFO_WIDTH-user_cmd_t'length); alias tag_fifo_in is cat_fifo_din(CAT_FIFO_WIDTH-user_cmd_t'length-1 downto CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length); - alias addr_fifo_in is cat_fifo_din(CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length-1 downto 4); - alias dm_rd_fifo_in is cat_fifo_din(4-1 downto 0); + alias addr_fifo_in is cat_fifo_din(CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length-1 downto 0); alias cmd_fifo_out is cat_fifo_dout(CAT_FIFO_WIDTH-1 downto CAT_FIFO_WIDTH-user_cmd_t'length); alias tag_fifo_out is cat_fifo_dout(CAT_FIFO_WIDTH-user_cmd_t'length-1 downto CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length); - alias addr_fifo_out is cat_fifo_dout(CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length-1 downto 4); - alias dm_rd_fifo_out is cat_fifo_dout(4-1 downto 0); + alias addr_fifo_out is cat_fifo_dout(CAT_FIFO_WIDTH-user_cmd_t'length-user_tag_t'length-1 downto 0); - alias write_fifo_dm_in is write_fifo_din(write_fifo_din'length-1 downto write_fifo_din'length-4); - alias write_fifo_data_in is write_fifo_din(write_fifo_din'length-4-1 downto 1); - alias write_fifo_a25_in is write_fifo_din(0); - alias write_fifo_dm_out is write_fifo_dout(write_fifo_dout'length-1 downto write_fifo_dout'length-4); - alias write_fifo_data_out is write_fifo_dout(write_fifo_dout'length-4-1 downto 1); - alias write_fifo_a25_out is write_fifo_dout(0); + alias write_fifo_data_in is write_fifo_din(write_fifo_din'length-1 downto 4); + alias write_fifo_dm_in is write_fifo_din(3 downto 0); + alias write_fifo_data_out is write_fifo_dout(write_fifo_dout'length-1 downto 4); + alias write_fifo_dm_out is write_fifo_dout(3 downto 0); alias read_fifo_data_in is read_fifo_din(read_fifo_din'length-1 downto 0); alias read_fifo_data_out is read_fifo_dout(read_fifo_dout'length-1 downto 0); @@ -255,7 +251,6 @@ begin write_fifo_we <= STB_I and WE_I and rdy; write_fifo_data_in <= DAT_I; write_fifo_dm_in <= not SEL_I; - write_fifo_a25_in <= ADDR_I(25); cat_fifo_we <= STB_I and rdy; cmd_fifo_in <= UCMD_WRITE when WE_I = '1' else UCMD_READ; addr_fifo_in <= ADDR_I(24 downto 2) & "0"; @@ -264,7 +259,7 @@ begin u_cmd_we <= (not cat_fifo_empty) and (not u_busy); u_cmd <= cmd_fifo_out; u_addr <= addr_fifo_out; - u_dm_wr_in <= ("1111" & write_fifo_dm_out) when write_fifo_a25_out = '0' else (write_fifo_dm_out & "1111"); + u_dm_wr_in <= ("1111" & write_fifo_dm_out) when u_tag_wr(0) = '0' else (write_fifo_dm_out & "1111"); u_tag_in <= tag_fifo_out; u_data_w <= write_fifo_data_out & write_fifo_data_out;