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

Subversion Repositories mem_ctrl

[/] [mem_ctrl/] [trunk/] [rtl/] [verilog/] [mc_adr_sel.v] - Diff between revs 8 and 16

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

Rev 8 Rev 16
Line 35... Line 35...
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: mc_adr_sel.v,v 1.2 2001-08-10 08:16:21 rudi Exp $
//  $Id: mc_adr_sel.v,v 1.3 2001-11-29 02:16:28 rudi Exp $
//
//
//  $Date: 2001-08-10 08:16:21 $
//  $Date: 2001-11-29 02:16:28 $
//  $Revision: 1.2 $
//  $Revision: 1.3 $
//  $Author: rudi $
//  $Author: rudi $
//  $Locker:  $
//  $Locker:  $
//  $State: Exp $
//  $State: Exp $
//
//
// Change History:
// Change History:
//               $Log: not supported by cvs2svn $
//               $Log: not supported by cvs2svn $
 
//               Revision 1.2  2001/08/10 08:16:21  rudi
 
//
 
//               - Changed IO names to be more clear.
 
//               - Uniquifyed define names to be core specific.
 
//               - Removed "Refresh Early" configuration
 
//
//               Revision 1.1  2001/07/29 07:34:41  rudi
//               Revision 1.1  2001/07/29 07:34:41  rudi
//
//
//
//
//               1) Changed Directory Structure
//               1) Changed Directory Structure
//               2) Fixed several minor bugs
//               2) Fixed several minor bugs
Line 65... Line 71...
//
//
//
//
 
 
`include "mc_defines.v"
`include "mc_defines.v"
 
 
module mc_adr_sel(clk, csc, tms, wb_ack_o, wb_stb_i, wb_addr_i,
module mc_adr_sel(clk, csc, tms, wb_ack_o, wb_stb_i, wb_addr_i, wb_we_i,
                wb_write_go, wr_hold, cas_,
                wb_write_go, wr_hold, cas_,
                mc_addr, row_adr, bank_adr, rfr_ack,
                mc_addr, row_adr, bank_adr, rfr_ack,
                cs_le, cmd_a10, row_sel, lmr_sel, next_adr, wr_cycle,
                cs_le, cmd_a10, row_sel, lmr_sel, next_adr, wr_cycle,
                page_size);
                page_size);
 
 
input           clk;
input           clk;
input   [31:0]   csc;
input   [31:0]   csc;
input   [31:0]   tms;
input   [31:0]   tms;
input           wb_ack_o, wb_stb_i;
input           wb_ack_o, wb_stb_i;
input   [31:0]   wb_addr_i;
input   [31:0]   wb_addr_i;
 
input           wb_we_i;
input           wb_write_go;
input           wb_write_go;
input           wr_hold;
input           wr_hold;
input           cas_;
input           cas_;
output  [23:0]   mc_addr;
output  [23:0]   mc_addr;
output  [12:0]   row_adr;
output  [12:0]   row_adr;
Line 137... Line 144...
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//
//
// Async Devices Address Latch & Counter
// Async Devices Address Latch & Counter
//
//
 
 
//assign asc_addr_pl1 = asc_addr + 1;
 
mc_incn_r #(24) u0(     .clk(           clk             ),
mc_incn_r #(24) u0(     .clk(           clk             ),
                        .inc_in(        acs_addr        ),
                        .inc_in(        acs_addr        ),
                        .inc_out(       acs_addr_pl1    ) );
                        .inc_out(       acs_addr_pl1    ) );
 
 
always @(posedge clk)
always @(posedge clk)
        if(wb_stb_i)    sram_addr <= #1 wb_addr_i[25:2];
        if(wb_stb_i)    sram_addr <= #1 wb_addr_i[25:2];
 
 
always @(posedge clk)
always @(posedge clk)
        // *** Use same address for write and read ***
        if(cs_le | wb_we_i)
        //if(wb_write_go)               acs_addr <= #1 wb_addr_i[25:2];
 
        //else
 
        if(cs_le)
 
                case(bus_width)         // synopsys full_case parallel_case
                case(bus_width)         // synopsys full_case parallel_case
                   `MC_BW_8:    acs_addr <= #1 wb_addr_i[23:0];
                   `MC_BW_8:    acs_addr <= #1 wb_addr_i[23:0];
                   `MC_BW_16:   acs_addr <= #1 wb_addr_i[24:1];
                   `MC_BW_16:   acs_addr <= #1 wb_addr_i[24:1];
                   `MC_BW_32:   acs_addr <= #1 wb_addr_i[25:2];
                   `MC_BW_32:   acs_addr <= #1 wb_addr_i[25:2];
                endcase
                endcase

powered by: WebSVN 2.1.0

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