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

Subversion Repositories altor32

[/] [altor32/] [trunk/] [rtl/] [cpu/] [altor32_dcache_mem_if.v] - Diff between revs 27 and 30

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

Rev 27 Rev 30
Line 44... Line 44...
    input           rst_i /*verilator public*/,
    input           rst_i /*verilator public*/,
 
 
    // Cache interface
    // Cache interface
    input [31:0]    address_i /*verilator public*/,
    input [31:0]    address_i /*verilator public*/,
    input [31:0]    data_i /*verilator public*/,
    input [31:0]    data_i /*verilator public*/,
    output [31:0]   data_o /*verilator public*/,
    output reg [31:0]   data_o /*verilator public*/,
    input           fill_i /*verilator public*/,
    input           fill_i /*verilator public*/,
    input           evict_i /*verilator public*/,
    input           evict_i /*verilator public*/,
    input  [31:0]   evict_addr_i /*verilator public*/,
    input  [31:0]   evict_addr_i /*verilator public*/,
    input           rd_single_i /*verilator public*/,
    input           rd_single_i /*verilator public*/,
    input [3:0]     wr_single_i /*verilator public*/,
    input [3:0]     wr_single_i /*verilator public*/,
    output          done_o /*verilator public*/,
    output reg          done_o /*verilator public*/,
 
 
    // Cache memory (fill/evict)
    // Cache memory (fill/evict)
    output [31:2]   cache_addr_o /*verilator public*/,
    output reg [31:2]   cache_addr_o /*verilator public*/,
    output [31:0]   cache_data_o /*verilator public*/,
    output reg [31:0]   cache_data_o /*verilator public*/,
    input  [31:0]   cache_data_i /*verilator public*/,
    input  [31:0]   cache_data_i /*verilator public*/,
    output          cache_wr_o /*verilator public*/,
    output reg          cache_wr_o /*verilator public*/,
 
 
    // Memory interface (slave)
    // Memory interface (slave)
    output [31:0]   mem_addr_o /*verilator public*/,
    output reg [31:0]   mem_addr_o /*verilator public*/,
    input  [31:0]   mem_data_i /*verilator public*/,
    input  [31:0]   mem_data_i /*verilator public*/,
    output [31:0]   mem_data_o /*verilator public*/,
    output reg [31:0]   mem_data_o /*verilator public*/,
    output          mem_burst_o /*verilator public*/,
    output reg          mem_burst_o /*verilator public*/,
    output          mem_rd_o /*verilator public*/,
    output reg          mem_rd_o /*verilator public*/,
    output [3:0]    mem_wr_o /*verilator public*/,
    output reg [3:0]    mem_wr_o /*verilator public*/,
    input           mem_accept_i/*verilator public*/,
    input           mem_accept_i/*verilator public*/,
    input           mem_ack_i/*verilator public*/
    input           mem_ack_i/*verilator public*/
);
);
 
 
//-----------------------------------------------------------------
//-----------------------------------------------------------------
Line 79... Line 79...
 
 
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// Registers / Wires
// Registers / Wires
//-----------------------------------------------------------------
//-----------------------------------------------------------------
 
 
reg [31:2]                      cache_addr_o;
 
reg [31:0]                      cache_data_o;
 
reg                             cache_wr_o;
 
 
 
reg [31:CACHE_LINE_SIZE_WIDTH]  line_address;
reg [31:CACHE_LINE_SIZE_WIDTH]  line_address;
reg [CACHE_LINE_SIZE_WIDTH-3:0] line_word;
reg [CACHE_LINE_SIZE_WIDTH-3:0] line_word;
 
 
reg [31:0]                      data_o;
 
reg                             done_o;
 
 
 
reg [31:0]                      mem_addr_o;
 
reg [31:0]                      mem_data_o;
 
reg                             mem_rd_o;
 
reg [3:0]                       mem_wr_o;
 
reg                             mem_burst_o;
 
 
 
// Current state
// Current state
parameter STATE_IDLE        = 0;
parameter STATE_IDLE        = 0;
parameter STATE_FETCH       = 1;
parameter STATE_FETCH       = 1;
parameter STATE_READ_WAIT   = 2;
parameter STATE_READ_WAIT   = 2;
parameter STATE_WRITE       = 3;
parameter STATE_WRITE       = 3;

powered by: WebSVN 2.1.0

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