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

Subversion Repositories sdr_ctrl

[/] [sdr_ctrl/] [trunk/] [rtl/] [core/] [sdrc_xfr_ctl.v] - Diff between revs 51 and 54

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

Rev 51 Rev 54
Line 133... Line 133...
parameter  APP_DW   = 32;  // Application Data Width 
parameter  APP_DW   = 32;  // Application Data Width 
parameter  APP_BW   = 4;   // Application Byte Width
parameter  APP_BW   = 4;   // Application Byte Width
 
 
parameter  SDR_DW   = 16;  // SDR Data Width 
parameter  SDR_DW   = 16;  // SDR Data Width 
parameter  SDR_BW   = 2;   // SDR Byte Width
parameter  SDR_BW   = 2;   // SDR Byte Width
// 12 bit subtractor is not feasibile for FPGA, so changed to 8 bits
 
parameter  REQ_BW   = (`TARGET_DESIGN == `FPGA) ? 8 : 12;   //  Request Width
 
 
 
 
 
input            clk, reset_n;
input            clk, reset_n;
 
 
   /* Req from bank_ctl */
   /* Req from bank_ctl */
input                   b2x_req, b2x_start, b2x_last, b2x_tras_ok,
input                   b2x_req, b2x_start, b2x_last, b2x_tras_ok,
                                b2x_wrap, r2x_idle, b2x_idle;
                                b2x_wrap, r2x_idle, b2x_idle;
input [`SDR_REQ_ID_W-1:0]        b2x_id;
input [`SDR_REQ_ID_W-1:0]        b2x_id;
input [1:0]                      b2x_ba;
input [1:0]                      b2x_ba;
input [11:0]             b2x_addr;
input [11:0]             b2x_addr;
input [REQ_BW-1:0]       b2x_len;
input [`REQ_BW-1:0]      b2x_len;
input [1:0]                      b2x_cmd;
input [1:0]                      b2x_cmd;
output                  x2b_ack;
output                  x2b_ack;
 
 
/* Status to bank_ctl */
/* Status to bank_ctl */
output [3:0]             x2b_pre_ok;
output [3:0]             x2b_pre_ok;
Line 200... Line 198...
   wire [`SDR_REQ_ID_W-1:0]      x2a_id;
   wire [`SDR_REQ_ID_W-1:0]      x2a_id;
   reg [`SDR_REQ_ID_W-1:0]       l_id;
   reg [`SDR_REQ_ID_W-1:0]       l_id;
   wire [1:0]                    xfr_ba;
   wire [1:0]                    xfr_ba;
   reg [1:0]                     l_ba;
   reg [1:0]                     l_ba;
   wire [11:0]                   xfr_addr;
   wire [11:0]                   xfr_addr;
   wire [REQ_BW-1:0]     xfr_len, next_xfr_len;
   wire [`REQ_BW-1:0]    xfr_len, next_xfr_len;
   reg [REQ_BW-1:0]      l_len;
   reg [`REQ_BW-1:0]     l_len;
 
 
   reg                          mgmt_idle, mgmt_req;
   reg                          mgmt_idle, mgmt_req;
   reg [3:0]                     mgmt_cmd;
   reg [3:0]                     mgmt_cmd;
   reg [11:0]                    mgmt_addr;
   reg [11:0]                    mgmt_addr;
   reg [1:0]                     mgmt_ba;
   reg [1:0]                     mgmt_ba;
Line 280... Line 278...
 
 
   assign rd_start = ld_xfr & b2x_read & b2x_start;
   assign rd_start = ld_xfr & b2x_read & b2x_start;
 
 
   assign wr_start = ld_xfr & b2x_write & b2x_start;
   assign wr_start = ld_xfr & b2x_write & b2x_start;
 
 
   assign rd_last = rd_next & last_burst & ~|xfr_len[REQ_BW-1:1];
   assign rd_last = rd_next & last_burst & ~|xfr_len[`REQ_BW-1:1];
 
 
   //assign wr_last = wr_next & last_burst & ~|xfr_len[APP_RW-1:1];
   //assign wr_last = wr_next & last_burst & ~|xfr_len[APP_RW-1:1];
 
 
   assign wr_last = last_burst & ~|xfr_len[REQ_BW-1:1];
   assign wr_last = last_burst & ~|xfr_len[`REQ_BW-1:1];
 
 
   //assign xfr_ba = (ld_xfr) ? b2x_ba : l_ba;
   //assign xfr_ba = (ld_xfr) ? b2x_ba : l_ba;
   assign xfr_ba = (sel_mgmt) ? mgmt_ba :
   assign xfr_ba = (sel_mgmt) ? mgmt_ba :
                   (sel_b2x) ? b2x_ba : l_ba;
                   (sel_b2x) ? b2x_ba : l_ba;
 
 

powered by: WebSVN 2.1.0

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