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 55 and 64

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

Rev 55 Rev 64
Line 213... Line 213...
                                b2x_prechg, d_rd_next, dt_next, xfr_end,
                                b2x_prechg, d_rd_next, dt_next, xfr_end,
                                rd_pipe_mt, ld_xfr, rd_last, d_rd_last,
                                rd_pipe_mt, ld_xfr, rd_last, d_rd_last,
                                wr_last, l_xfr_end, rd_start, d_rd_start,
                                wr_last, l_xfr_end, rd_start, d_rd_start,
                                wr_start, page_hit, burst_bdry, xfr_wrap,
                                wr_start, page_hit, burst_bdry, xfr_wrap,
                                b2x_prechg_hit;
                                b2x_prechg_hit;
   reg [4:0]                     l_rd_next, l_rd_start, l_rd_last;
   reg [6:0]                     l_rd_next, l_rd_start, l_rd_last;
 
 
   assign b2x_read = (b2x_cmd == `OP_RD) ? 1'b1 : 1'b0;
   assign b2x_read = (b2x_cmd == `OP_RD) ? 1'b1 : 1'b0;
 
 
   assign b2x_write = (b2x_cmd == `OP_WR) ? 1'b1 : 1'b0;
   assign b2x_write = (b2x_cmd == `OP_WR) ? 1'b1 : 1'b0;
 
 
Line 248... Line 248...
 
 
   //assign next_xfr_len = (l_xfr_end && !ld_xfr) ? l_len : xfr_len - 1;
   //assign next_xfr_len = (l_xfr_end && !ld_xfr) ? l_len : xfr_len - 1;
   assign next_xfr_len = (ld_xfr) ? b2x_len :
   assign next_xfr_len = (ld_xfr) ? b2x_len :
                         (l_xfr_end) ? l_len:  l_len - 1;
                         (l_xfr_end) ? l_len:  l_len - 1;
 
 
   assign d_rd_next = (cas_latency == 2'b01) ? l_rd_next[2] :
   assign d_rd_next = (cas_latency == 3'b001) ? l_rd_next[2] :
                      (cas_latency == 2'b10) ? l_rd_next[3] :
                      (cas_latency == 3'b010) ? l_rd_next[3] :
                      l_rd_next[4];
                      (cas_latency == 3'b011) ? l_rd_next[4] :
 
                      (cas_latency == 3'b100) ? l_rd_next[5] :
   assign d_rd_last = (cas_latency == 2'b01) ? l_rd_last[2] :
                      l_rd_next[6];
                      (cas_latency == 2'b10) ? l_rd_last[3] :
 
                      l_rd_last[4];
   assign d_rd_last = (cas_latency == 3'b001) ? l_rd_last[2] :
 
                      (cas_latency == 3'b010) ? l_rd_last[3] :
   assign d_rd_start = (cas_latency == 2'b01) ? l_rd_start[2] :
                      (cas_latency == 3'b011) ? l_rd_last[4] :
                      (cas_latency == 2'b10) ? l_rd_start[3] :
                      (cas_latency == 3'b100) ? l_rd_last[5] :
                      l_rd_start[4];
                      l_rd_last[6];
 
 
   assign rd_pipe_mt = (cas_latency == 2'b01) ? ~|l_rd_next[1:0] :
   assign d_rd_start = (cas_latency == 3'b001) ? l_rd_start[2] :
                       (cas_latency == 2'b10) ? ~|l_rd_next[2:0] :
                       (cas_latency == 3'b010) ? l_rd_start[3] :
                       ~|l_rd_next[3:0];
                       (cas_latency == 3'b011) ? l_rd_start[4] :
 
                       (cas_latency == 3'b100) ? l_rd_start[5] :
 
                       l_rd_start[6];
 
 
 
   assign rd_pipe_mt = (cas_latency == 3'b001) ? ~|l_rd_next[1:0] :
 
                       (cas_latency == 3'b010) ? ~|l_rd_next[2:0] :
 
                       (cas_latency == 3'b011) ? ~|l_rd_next[3:0] :
 
                       (cas_latency == 3'b100) ? ~|l_rd_next[4:0] :
 
                       ~|l_rd_next[5:0];
 
 
   assign dt_next = wr_next | d_rd_next;
   assign dt_next = wr_next | d_rd_next;
 
 
   assign xfr_end = ~|xfr_len;
   assign xfr_end = ~|xfr_len;
 
 
Line 299... Line 307...
         l_last <= 1'b0;
         l_last <= 1'b0;
         l_wrap <= 1'b0;
         l_wrap <= 1'b0;
         l_id <= 0;
         l_id <= 0;
         l_ba <= 0;
         l_ba <= 0;
         l_len <= 0;
         l_len <= 0;
         l_rd_next <= 5'b0;
         l_rd_next <= 7'b0;
         l_rd_start <= 5'b0;
         l_rd_start <= 7'b0;
         l_rd_last <= 5'b0;
         l_rd_last <= 7'b0;
         act_cmd <= 1'b0;
         act_cmd <= 1'b0;
         d_act_cmd <= 1'b0;
         d_act_cmd <= 1'b0;
         xfr_st <= `XFR_IDLE;
         xfr_st <= `XFR_IDLE;
      end // if (~reset_n)
      end // if (~reset_n)
 
 
Line 317... Line 325...
         l_last <= (ld_xfr) ? b2x_last : l_last;
         l_last <= (ld_xfr) ? b2x_last : l_last;
         l_wrap <= (ld_xfr) ? b2x_wrap : l_wrap;
         l_wrap <= (ld_xfr) ? b2x_wrap : l_wrap;
         l_id <= (ld_xfr) ? b2x_id : l_id;
         l_id <= (ld_xfr) ? b2x_id : l_id;
         l_ba <= (ld_xfr) ? b2x_ba : l_ba;
         l_ba <= (ld_xfr) ? b2x_ba : l_ba;
         l_len <= next_xfr_len;
         l_len <= next_xfr_len;
         l_rd_next <= {l_rd_next[3:0], rd_next};
         l_rd_next <= {l_rd_next[5:0], rd_next};
         l_rd_start <= {l_rd_start[3:0], rd_start};
         l_rd_start <= {l_rd_start[5:0], rd_start};
         l_rd_last <= {l_rd_last[3:0], rd_last};
         l_rd_last <= {l_rd_last[5:0], rd_last};
         act_cmd <= (xfr_cmd == `SDR_ACTIVATE) ? 1'b1 : 1'b0;
         act_cmd <= (xfr_cmd == `SDR_ACTIVATE) ? 1'b1 : 1'b0;
         d_act_cmd <= act_cmd;
         d_act_cmd <= act_cmd;
         xfr_st <= next_xfr_st;
         xfr_st <= next_xfr_st;
      end // else: !if(~reset_n)
      end // else: !if(~reset_n)
 
 

powered by: WebSVN 2.1.0

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