Line 105... |
Line 105... |
x2a_rdstart,
|
x2a_rdstart,
|
x2a_wrstart,
|
x2a_wrstart,
|
x2a_rdlast,
|
x2a_rdlast,
|
x2a_wrlast,
|
x2a_wrlast,
|
x2a_id,
|
x2a_id,
|
app_wrdt,
|
a2x_wrdt,
|
app_wren_n,
|
a2x_wren_n,
|
x2a_wrnext,
|
x2a_wrnext,
|
x2a_rddt,
|
x2a_rddt,
|
x2a_rdok,
|
x2a_rdok,
|
sdr_init_done,
|
sdr_init_done,
|
|
|
Line 156... |
Line 156... |
x2b_wrok;
|
x2b_wrok;
|
/* Data Flow to the app */
|
/* Data Flow to the app */
|
output x2a_rdstart, x2a_wrstart, x2a_rdlast, x2a_wrlast;
|
output x2a_rdstart, x2a_wrstart, x2a_rdlast, x2a_wrlast;
|
output [`SDR_REQ_ID_W-1:0] x2a_id;
|
output [`SDR_REQ_ID_W-1:0] x2a_id;
|
|
|
input [SDR_DW-1:0] app_wrdt;
|
input [SDR_DW-1:0] a2x_wrdt;
|
input [SDR_BW-1:0] app_wren_n;
|
input [SDR_BW-1:0] a2x_wren_n;
|
output [SDR_DW-1:0] x2a_rddt;
|
output [SDR_DW-1:0] x2a_rddt;
|
output x2a_wrnext, x2a_rdok, sdr_init_done;
|
output x2a_wrnext, x2a_rdok, sdr_init_done;
|
|
|
/* Interface to SDRAMs */
|
/* Interface to SDRAMs */
|
output sdr_cs_n, sdr_cke, sdr_ras_n, sdr_cas_n,
|
output sdr_cs_n, sdr_cke, sdr_ras_n, sdr_cas_n,
|
Line 554... |
Line 554... |
sdr_ras_n <= xfr_cmd[2];
|
sdr_ras_n <= xfr_cmd[2];
|
sdr_cas_n <= xfr_cmd[1];
|
sdr_cas_n <= xfr_cmd[1];
|
sdr_we_n <= xfr_cmd[0];
|
sdr_we_n <= xfr_cmd[0];
|
sdr_cke <= (xfr_st != `XFR_IDLE) ? 1'b1 :
|
sdr_cke <= (xfr_st != `XFR_IDLE) ? 1'b1 :
|
~(mgmt_idle & b2x_idle & r2x_idle);
|
~(mgmt_idle & b2x_idle & r2x_idle);
|
sdr_dqm <= (wr_next) ? app_wren_n : {SDR_BW{1'b0}};
|
sdr_dqm <= (wr_next) ? a2x_wren_n : {SDR_BW{1'b0}};
|
sdr_den_n <= (wr_next) ? {SDR_BW{1'b0}} : {SDR_BW{1'b1}};
|
sdr_den_n <= (wr_next) ? {SDR_BW{1'b0}} : {SDR_BW{1'b1}};
|
end // else: !if(~reset_n)
|
end // else: !if(~reset_n)
|
|
|
always @ (posedge clk) begin
|
always @ (posedge clk) begin
|
|
|
if (~xfr_cmd[3]) begin
|
if (~xfr_cmd[3]) begin
|
sdr_addr <= xfr_addr;
|
sdr_addr <= xfr_addr;
|
sdr_ba <= xfr_ba;
|
sdr_ba <= xfr_ba;
|
end // if (~xfr_cmd[3])
|
end // if (~xfr_cmd[3])
|
|
|
sdr_dout <= (wr_next) ? app_wrdt : sdr_dout;
|
sdr_dout <= (wr_next) ? a2x_wrdt : sdr_dout;
|
|
|
end // always @ (posedge clk)
|
end // always @ (posedge clk)
|
|
|
/************************************************************************/
|
/************************************************************************/
|
// Refresh and Initialization
|
// Refresh and Initialization
|