diff --git a/piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v.pyv b/piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v similarity index 89% rename from piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v.pyv rename to piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v index b0b32e38c..27bba0acd 100644 --- a/piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v.pyv +++ b/piton/design/chip/tile/l15/rtl/rf_l15_lrsc_flag.v @@ -46,14 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. `include "l15.tmp.h" -<% - import pyhplib - from pyhplib import * -%> module rf_l15_lrsc_flag #( parameter L15_L1D_LINE_SIZE = 64, localparam L15_NUM_ENTRIES = `CONFIG_L15_SIZE/L15_L1D_LINE_SIZE, - localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2 + localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2, + localparam L15_SET_COUNT = L15_NUM_ENTRIES / `CONFIG_L15_ASSOCIATIVITY ) ( input wire clk, input wire rst_n, @@ -69,14 +66,6 @@ module rf_l15_lrsc_flag #( output wire [3:0] read_data ); -<% - linesize = 16 - numset = int(int(CONFIG_L15_SIZE)/int(CONFIG_L15_ASSOCIATIVITY)/linesize) -%> - -localparam L15_CACHE_INDEX_VECTOR_WIDTH = L15_NUM_ENTRIES/4; - - // reg read_valid_f; reg [L15_CACHE_INDEX_WIDTH-1:0] read_index_f; reg [L15_CACHE_INDEX_WIDTH-1:0] write_index_f; @@ -84,7 +73,7 @@ reg [3:0] write_data_f; reg [3:0] write_mask_f; reg write_valid_f; -reg [3:0] regfile [0:L15_CACHE_INDEX_VECTOR_WIDTH-1]; +reg [3:0] regfile [0:L15_SET_COUNT-1]; always @ (posedge clk) begin @@ -113,16 +102,14 @@ begin write_mask_f <= write_mask; end end - +integer numset; always @ (posedge clk) begin if (!rst_n) begin - <% - for i in range (numset): - print("regfile[%d] <= 4'b0;" % (i)) - %> - // regfile <= 1024'b0; + for (numset=0;numset + //`timescale 1 ns / 10 ps //`default_nettype none module rf_l15_lruarray #( parameter L15_L1D_LINE_SIZE = 64, localparam L15_NUM_ENTRIES = `CONFIG_L15_SIZE/L15_L1D_LINE_SIZE, - localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2 + localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2, + localparam L15_SET_COUNT = L15_NUM_ENTRIES / `CONFIG_L15_ASSOCIATIVITY ) ( input wire clk, @@ -69,18 +67,10 @@ module rf_l15_lruarray #( output wire [5:0] read_data ); -<% - linesize = 16 - numset = int(int(CONFIG_L15_SIZE)/int(CONFIG_L15_ASSOCIATIVITY)/linesize) -%> - -localparam L15_CACHE_INDEX_VECTOR_WIDTH = L15_NUM_ENTRIES/4; - - // reg read_valid_f; reg [L15_CACHE_INDEX_WIDTH-1:0] read_index_f; -reg [5:0] regfile [0:L15_CACHE_INDEX_VECTOR_WIDTH-1]; +reg [5:0] regfile [0:L15_SET_COUNT-1]; always @ (posedge clk) begin @@ -99,15 +89,14 @@ end assign read_data = regfile[read_index_f]; // Write port +integer numset; always @ (posedge clk) begin if (!rst_n) begin - <% - for i in range (numset): - print("regfile[%d] <= 6'b0;" % (i)) - %> - // regfile <= 1024'b0; + for (numset=0;numset + module rf_l15_mesi #( parameter L15_L1D_LINE_SIZE = 64, localparam L15_NUM_ENTRIES = `CONFIG_L15_SIZE/L15_L1D_LINE_SIZE, - localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2 + localparam L15_CACHE_INDEX_WIDTH = $clog2(L15_NUM_ENTRIES) - 2, + localparam L15_SET_COUNT = L15_NUM_ENTRIES / `CONFIG_L15_ASSOCIATIVITY )( input wire clk, @@ -72,12 +70,9 @@ module rf_l15_mesi #( output wire [7:0] read_data ); -<% - linesize = 16 - numset = int(int(CONFIG_L15_SIZE)/int(CONFIG_L15_ASSOCIATIVITY)/linesize) -%> -localparam L15_CACHE_INDEX_VECTOR_WIDTH = L15_NUM_ENTRIES/4; + + // reg read_valid_f; reg [L15_CACHE_INDEX_WIDTH-1:0] read_index_f; @@ -86,7 +81,7 @@ reg [7:0] write_data_f; reg [7:0] write_mask_f; reg write_valid_f; -reg [7:0] regfile [0:L15_CACHE_INDEX_VECTOR_WIDTH-1]; +reg [7:0] regfile [0:L15_SET_COUNT-1]; always @ (posedge clk) begin @@ -116,15 +111,14 @@ begin end end +integer numset; always @ (posedge clk) begin if (!rst_n) begin - <% - for i in range (numset): - print("regfile[%d] <= 8'b0;" % (i)) - %> - // regfile <= 1024'b0; + for (numset=0;numset