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

Subversion Repositories s1_core

[/] [s1_core/] [trunk/] [hdl/] [rtl/] [sparc_core/] [sparc_ifu_lru4.v] - Diff between revs 105 and 113

Show entire file | Details | Blame | View Log

Rev 105 Rev 113
Line 16... Line 16...
// You should have received a copy of the GNU General Public
// You should have received a copy of the GNU General Public
// License along with this work; if not, write to the Free Software
// License along with this work; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
// 
// 
// ========== Copyright Header End ============================================
// ========== Copyright Header End ============================================
 
`ifdef SIMPLY_RISC_TWEAKS
 
`define SIMPLY_RISC_SCANIN .si(0)
 
`else
 
`define SIMPLY_RISC_SCANIN .si()
 
`endif
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/*
/*
//  Module Name: sparc_ifu_lru4
//  Module Name: sparc_ifu_lru4
//  Description:
//  Description:
//  LRU scheduler.  Least priority to the last granted
//  LRU scheduler.  Least priority to the last granted
Line 148... Line 153...
   assign  used1_nxt = reset ? 4'b0010 : used1_calc;
   assign  used1_nxt = reset ? 4'b0010 : used1_calc;
   assign  used2_nxt = reset ? 4'b0100 : used2_calc;
   assign  used2_nxt = reset ? 4'b0100 : used2_calc;
   assign  used3_nxt = reset ? 4'b1000 : used3_calc;
   assign  used3_nxt = reset ? 4'b1000 : used3_calc;
 
 
   // use 4X4 matrix to hold lru info
   // use 4X4 matrix to hold lru info
   dff #(4) use0_reg(.din (used0_nxt),
   dff_s #(4) use0_reg(.din (used0_nxt),
                                 .q   (used0),
                                 .q   (used0),
                                 .clk (clk), .se(se), .si(), .so());
                                 .clk (clk), .se(se), `SIMPLY_RISC_SCANIN, .so());
 
 
   dff #(4) use1_reg(.din (used1_nxt),
   dff_s #(4) use1_reg(.din (used1_nxt),
                                 .q   (used1),
                                 .q   (used1),
                                 .clk (clk), .se(se), .si(), .so());
                                 .clk (clk), .se(se), `SIMPLY_RISC_SCANIN, .so());
 
 
   dff #(4) use2_reg(.din (used2_nxt),
   dff_s #(4) use2_reg(.din (used2_nxt),
                                 .q   (used2),
                                 .q   (used2),
                                 .clk (clk), .se(se), .si(), .so());
                                 .clk (clk), .se(se), `SIMPLY_RISC_SCANIN, .so());
 
 
   // used3 is lru
   // used3 is lru
   dff #(4) use3_reg(.din (used3_nxt),
   dff_s #(4) use3_reg(.din (used3_nxt),
                                 .q   (used3),
                                 .q   (used3),
                                 .clk (clk), .se(se), .si(), .so());
                                 .clk (clk), .se(se), `SIMPLY_RISC_SCANIN, .so());
 
 
   assign  used23_nxt = used2_nxt | used3_nxt;
   assign  used23_nxt = used2_nxt | used3_nxt;
 
 
   dff #(4) use23_reg(.din (used23_nxt),
   dff_s #(4) use23_reg(.din (used23_nxt),
                                 .q   (used23),
                                 .q   (used23),
                                 .clk (clk), .se(se), .si(), .so());
                                 .clk (clk), .se(se), `SIMPLY_RISC_SCANIN, .so());
 
 
 
 
   // grant request based on lru
   // grant request based on lru
 
 
// save some loading on req_vec by not doing this   
// save some loading on req_vec by not doing this   

powered by: WebSVN 2.1.0

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