OpenCores
URL https://opencores.org/ocsvn/sdr_ctrl/sdr_ctrl/trunk

Subversion Repositories sdr_ctrl

[/] [sdr_ctrl/] [trunk/] [rtl/] [core/] [sdrc_bank_ctl.v] - Diff between revs 55 and 69

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 55 Rev 69
Line 103... Line 103...
   /* Req from bank_ctl */
   /* Req from bank_ctl */
   input                        r2b_req, r2b_start, r2b_last,
   input                        r2b_req, r2b_start, r2b_last,
                                r2b_write, r2b_wrap;
                                r2b_write, r2b_wrap;
   input [`SDR_REQ_ID_W-1:0]     r2b_req_id;
   input [`SDR_REQ_ID_W-1:0]     r2b_req_id;
   input [1:0]                   r2b_ba;
   input [1:0]                   r2b_ba;
   input [11:0]          r2b_raddr;
   input [12:0]          r2b_raddr;
   input [11:0]          r2b_caddr;
   input [12:0]          r2b_caddr;
   input [`REQ_BW-1:0]           r2b_len;
   input [`REQ_BW-1:0]           r2b_len;
   output                       b2r_arb_ok, b2r_ack;
   output                       b2r_arb_ok, b2r_ack;
   input                        sdr_req_norm_dma_last;
   input                        sdr_req_norm_dma_last;
 
 
   /* Req to xfr_ctl */
   /* Req to xfr_ctl */
   output                       b2x_idle, b2x_req, b2x_start, b2x_last,
   output                       b2x_idle, b2x_req, b2x_start, b2x_last,
                                b2x_tras_ok, b2x_wrap;
                                b2x_tras_ok, b2x_wrap;
   output [`SDR_REQ_ID_W-1:0]    b2x_id;
   output [`SDR_REQ_ID_W-1:0]    b2x_id;
   output [1:0]          b2x_ba;
   output [1:0]          b2x_ba;
   output [11:0]                 b2x_addr;
   output [12:0]                 b2x_addr;
   output [`REQ_BW-1:0]  b2x_len;
   output [`REQ_BW-1:0]  b2x_len;
   output [1:0]          b2x_cmd;
   output [1:0]          b2x_cmd;
   input                        x2b_ack;
   input                        x2b_ack;
 
 
   /* Status from xfr_ctl */
   /* Status from xfr_ctl */
Line 133... Line 133...
   /****************************************************************************/
   /****************************************************************************/
   // Internal Nets
   // Internal Nets
 
 
   wire [3:0]                    r2i_req, i2r_ack, i2x_req,
   wire [3:0]                    r2i_req, i2r_ack, i2x_req,
                                i2x_start, i2x_last, i2x_wrap, tras_ok;
                                i2x_start, i2x_last, i2x_wrap, tras_ok;
   wire [11:0]                   i2x_addr0, i2x_addr1, i2x_addr2, i2x_addr3;
   wire [12:0]                   i2x_addr0, i2x_addr1, i2x_addr2, i2x_addr3;
   wire [`REQ_BW-1:0]    i2x_len0, i2x_len1, i2x_len2, i2x_len3;
   wire [`REQ_BW-1:0]    i2x_len0, i2x_len1, i2x_len2, i2x_len3;
   wire [1:0]                    i2x_cmd0, i2x_cmd1, i2x_cmd2, i2x_cmd3;
   wire [1:0]                    i2x_cmd0, i2x_cmd1, i2x_cmd2, i2x_cmd3;
   wire [`SDR_REQ_ID_W-1:0]      i2x_id0, i2x_id1, i2x_id2, i2x_id3;
   wire [`SDR_REQ_ID_W-1:0]      i2x_id0, i2x_id1, i2x_id2, i2x_id3;
 
 
   reg                          b2x_req;
   reg                          b2x_req;
   wire                         b2x_idle, b2x_start, b2x_last, b2x_wrap;
   wire                         b2x_idle, b2x_start, b2x_last, b2x_wrap;
   wire [`SDR_REQ_ID_W-1:0]      b2x_id;
   wire [`SDR_REQ_ID_W-1:0]      b2x_id;
   wire [11:0]                   b2x_addr;
   wire [12:0]                   b2x_addr;
   wire [`REQ_BW-1:0]    b2x_len;
   wire [`REQ_BW-1:0]    b2x_len;
   wire [1:0]                    b2x_cmd;
   wire [1:0]                    b2x_cmd;
   wire [3:0]                    x2i_ack;
   wire [3:0]                    x2i_ack;
   reg [1:0]                     b2x_ba;
   reg [1:0]                     b2x_ba;
 
 
Line 163... Line 163...
   reg [2:0]                     rank_cnt;
   reg [2:0]                     rank_cnt;
   wire [3:0]                    rank_req, rank_wr_sel;
   wire [3:0]                    rank_req, rank_wr_sel;
   wire                         rank_fifo_wr, rank_fifo_rd;
   wire                         rank_fifo_wr, rank_fifo_rd;
   wire                         rank_fifo_full, rank_fifo_mt;
   wire                         rank_fifo_full, rank_fifo_mt;
 
 
   wire [11:0] bank0_row, bank1_row, bank2_row, bank3_row;
   wire [12:0] bank0_row, bank1_row, bank2_row, bank3_row;
 
 
   assign  b2x_tras_ok        = &tras_ok;
   assign  b2x_tras_ok        = &tras_ok;
 
 
 
 
   // Distribute the request from req_gen
   // Distribute the request from req_gen
Line 560... Line 560...
                           .trp_delay (trp_delay),
                           .trp_delay (trp_delay),
                           .trcd_delay (trcd_delay));
                           .trcd_delay (trcd_delay));
 
 
 
 
/* address for current xfr, debug only */
/* address for current xfr, debug only */
wire [11:0] cur_row = (xfr_bank_sel==3) ? bank3_row:
wire [12:0] cur_row = (xfr_bank_sel==3) ? bank3_row:
                        (xfr_bank_sel==2) ? bank2_row:
                        (xfr_bank_sel==2) ? bank2_row:
                        (xfr_bank_sel==1) ? bank1_row: bank0_row;
                        (xfr_bank_sel==1) ? bank1_row: bank0_row;
 
 
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.