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

Subversion Repositories m32632

[/] [m32632/] [trunk/] [rtl/] [ICACHE.v] - Diff between revs 48 and 49

Show entire file | Details | Blame | View Log

Rev 48 Rev 49
Line 2... Line 2...
//
//
// This file is part of the M32632 project
// This file is part of the M32632 project
// http://opencores.org/project,m32632
// http://opencores.org/project,m32632
//
//
//      Filename:       ICACHE.v
//      Filename:       ICACHE.v
//      Project:        M32632
//      Version:        3.2 bug fix     
//      Version:        3.1 bug fix of 25 February 2019
//      History:        3.1 bug fix of 25 February 2019
//      History:        3.0 Cache Interface reworked
//                              3.0 Cache Interface reworked
//                              2.0 50 MHz release of 14 August 2016
//                              2.0 50 MHz release of 14 August 2016
//                              1.0 first release of 30 Mai 2015
//                              1.0 first release of 30 Mai 2015
//      Author:         Udo Moeller
//      Date:           17 January 2021
//      Date:           8 July 2017
 
//
//
// Copyright (C) 2019 Udo Moeller
// Copyright (C) 2021 Udo Moeller
// 
// 
// This source file may be used and distributed without 
// This source file may be used and distributed without 
// restriction provided that this copyright statement is not 
// restriction provided that this copyright statement is not 
// removed from the file and that any derivative work contains 
// removed from the file and that any derivative work contains 
// the original copyright notice and the associated disclaimer.
// the original copyright notice and the associated disclaimer.
Line 147... Line 146...
wire    [23:0]   NEWCVAL;
wire    [23:0]   NEWCVAL;
wire                    KILL_C,KILL_K;
wire                    KILL_C,KILL_K;
wire                    RMW;
wire                    RMW;
wire    [31:0]   CAP_Q;
wire    [31:0]   CAP_Q;
wire   [28:12]  TAGDAT;
wire   [28:12]  TAGDAT;
 
wire                    clr_up;
 
 
// +++++++++++++++++++ Memories ++++++++++++++++++++
// +++++++++++++++++++ Memories ++++++++++++++++++++
 
 
reg        [127:0]       DATA0 [0:255];           // Data Set 0 : 4 kBytes
reg        [127:0]       DATA0 [0:255];           // Data Set 0 : 4 kBytes
reg        [127:0]       RDDATA0;
reg        [127:0]       RDDATA0;
Line 219... Line 219...
assign  ICTODC[3] = USER;
assign  ICTODC[3] = USER;
 
 
assign  VADR[31:12] = IVAR_MUX ? VADR_D : VADR_I[31:12];
assign  VADR[31:12] = IVAR_MUX ? VADR_D : VADR_I[31:12];
assign  VADR[11:0]  = VADR_I[11:0];
assign  VADR[11:0]  = VADR_I[11:0];
 
 
always @(posedge BCLK) VADR_R <= VADR;
always @(posedge BCLK) VADR_R[23:0] <= VADR[23:0];
 
 
 
assign clr_up = ~(DRAMSZ == 3'd0);
 
always @(posedge BCLK or negedge clr_up)
 
        if (!clr_up) VADR_R[31:24] <= 8'd0;
 
                else VADR_R[31:24] <= VADR[31:24];
 
 
always @(posedge BCLK) DFF_IRD_REG <= IO_RD;
always @(posedge BCLK) DFF_IRD_REG <= IO_RD;
 
 
always @(posedge BCLK) DFF_HDFF1 <= IO_READY;
always @(posedge BCLK) DFF_HDFF1 <= IO_READY;
 
 

powered by: WebSVN 2.1.0

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