Line 81... |
Line 81... |
);
|
);
|
|
|
parameter dw = 32; // data width
|
parameter dw = 32; // data width
|
parameter tw = 8; // tag id width
|
parameter tw = 8; // tag id width
|
parameter bl = 9; // burst_lenght_width
|
parameter bl = 9; // burst_lenght_width
|
|
parameter APP_AW = 26; // Application Address Width
|
//--------------------------------------
|
//--------------------------------------
|
// Wish Bone Interface
|
// Wish Bone Interface
|
// -------------------------------------
|
// -------------------------------------
|
input wb_rst_i ;
|
input wb_rst_i ;
|
input wb_clk_i ;
|
input wb_clk_i ;
|
|
|
input wb_stb_i ;
|
input wb_stb_i ;
|
output wb_ack_o ;
|
output wb_ack_o ;
|
input [24:0] wb_addr_i ;
|
input [APP_AW-1:0] wb_addr_i ;
|
input wb_we_i ; // 1 - Write , 0 - Read
|
input wb_we_i ; // 1 - Write , 0 - Read
|
input [dw-1:0] wb_dat_i ;
|
input [dw-1:0] wb_dat_i ;
|
input [dw/8-1:0] wb_sel_i ; // Byte enable
|
input [dw/8-1:0] wb_sel_i ; // Byte enable
|
output [dw-1:0] wb_dat_o ;
|
output [dw-1:0] wb_dat_o ;
|
input wb_cyc_i ;
|
input wb_cyc_i ;
|
Line 118... |
Line 119... |
// SDRAM controller Interface
|
// SDRAM controller Interface
|
//--------------------------------------------
|
//--------------------------------------------
|
input sdram_clk ; // sdram clock
|
input sdram_clk ; // sdram clock
|
input sdram_resetn ; // sdram reset
|
input sdram_resetn ; // sdram reset
|
output sdr_req ; // SDRAM request
|
output sdr_req ; // SDRAM request
|
output [24:0] sdr_req_addr ; // SDRAM Request Address
|
output [APP_AW-1:0] sdr_req_addr ; // SDRAM Request Address
|
output [bl-1:0] sdr_req_len ;
|
output [bl-1:0] sdr_req_len ;
|
output sdr_req_wr_n ; // 0 - Write, 1 -> Read
|
output sdr_req_wr_n ; // 0 - Write, 1 -> Read
|
input sdr_req_ack ; // SDRAM request Accepted
|
input sdr_req_ack ; // SDRAM request Accepted
|
input sdr_busy_n ; // 0 -> sdr busy
|
input sdr_busy_n ; // 0 -> sdr busy
|
output [dw/8-1:0] sdr_wr_en_n ; // Active low sdr byte-wise write data valid
|
output [dw/8-1:0] sdr_wr_en_n ; // Active low sdr byte-wise write data valid
|
Line 211... |
Line 212... |
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
// Async Command FIFO. This block handle the clock domain change from
|
// Async Command FIFO. This block handle the clock domain change from
|
// Application layer to SDRAM Controller
|
// Application layer to SDRAM Controller
|
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
// Address + Burst Length + W/R Request
|
// Address + Burst Length + W/R Request
|
async_fifo #(.W(25+bl+1),.DP(4),.WR_FAST(1'b0), .RD_FAST(1'b0)) u_cmdfifo (
|
async_fifo #(.W(APP_AW+bl+1),.DP(4),.WR_FAST(1'b0), .RD_FAST(1'b0)) u_cmdfifo (
|
// Write Path Sys CLock Domain
|
// Write Path Sys CLock Domain
|
.wr_clk (wb_clk_i ),
|
.wr_clk (wb_clk_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_en (cmdfifo_wr ),
|
.wr_en (cmdfifo_wr ),
|
.wr_data ({burst_length,
|
.wr_data ({burst_length,
|