mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Addec ZICCLSM to config files and started on lsu instance.
This commit is contained in:
parent
d648e199e1
commit
ff85832454
@ -46,6 +46,7 @@ localparam SSTC_SUPPORTED = 1;
|
|||||||
localparam ZICBOM_SUPPORTED = 1;
|
localparam ZICBOM_SUPPORTED = 1;
|
||||||
localparam ZICBOZ_SUPPORTED = 1;
|
localparam ZICBOZ_SUPPORTED = 1;
|
||||||
localparam ZICBOP_SUPPORTED = 1;
|
localparam ZICBOP_SUPPORTED = 1;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 1;
|
localparam SVPBMT_SUPPORTED = 1;
|
||||||
localparam SVNAPOT_SUPPORTED = 1;
|
localparam SVNAPOT_SUPPORTED = 1;
|
||||||
localparam SVINVAL_SUPPORTED = 1;
|
localparam SVINVAL_SUPPORTED = 1;
|
||||||
|
@ -48,6 +48,7 @@ localparam SSTC_SUPPORTED = 1;
|
|||||||
localparam ZICBOM_SUPPORTED = 1;
|
localparam ZICBOM_SUPPORTED = 1;
|
||||||
localparam ZICBOZ_SUPPORTED = 1;
|
localparam ZICBOZ_SUPPORTED = 1;
|
||||||
localparam ZICBOP_SUPPORTED = 1;
|
localparam ZICBOP_SUPPORTED = 1;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 1;
|
localparam SVPBMT_SUPPORTED = 1;
|
||||||
localparam SVNAPOT_SUPPORTED = 1;
|
localparam SVNAPOT_SUPPORTED = 1;
|
||||||
localparam SVINVAL_SUPPORTED = 1;
|
localparam SVINVAL_SUPPORTED = 1;
|
||||||
|
@ -47,6 +47,7 @@ localparam SSTC_SUPPORTED = 0;
|
|||||||
localparam ZICBOM_SUPPORTED = 0;
|
localparam ZICBOM_SUPPORTED = 0;
|
||||||
localparam ZICBOZ_SUPPORTED = 0;
|
localparam ZICBOZ_SUPPORTED = 0;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 0;
|
localparam SVINVAL_SUPPORTED = 0;
|
||||||
|
@ -48,6 +48,7 @@ localparam SSTC_SUPPORTED = 1;
|
|||||||
localparam ZICBOM_SUPPORTED = 1;
|
localparam ZICBOM_SUPPORTED = 1;
|
||||||
localparam ZICBOZ_SUPPORTED = 1;
|
localparam ZICBOZ_SUPPORTED = 1;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 1;
|
localparam SVINVAL_SUPPORTED = 1;
|
||||||
|
@ -47,6 +47,7 @@ localparam SSTC_SUPPORTED = 0;
|
|||||||
localparam ZICBOM_SUPPORTED = 0;
|
localparam ZICBOM_SUPPORTED = 0;
|
||||||
localparam ZICBOZ_SUPPORTED = 0;
|
localparam ZICBOZ_SUPPORTED = 0;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 0;
|
localparam SVINVAL_SUPPORTED = 0;
|
||||||
|
@ -46,6 +46,7 @@ localparam SSTC_SUPPORTED = 0;
|
|||||||
localparam ZICBOM_SUPPORTED = 0;
|
localparam ZICBOM_SUPPORTED = 0;
|
||||||
localparam ZICBOZ_SUPPORTED = 0;
|
localparam ZICBOZ_SUPPORTED = 0;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 0;
|
localparam SVINVAL_SUPPORTED = 0;
|
||||||
|
@ -47,6 +47,7 @@ localparam SSTC_SUPPORTED = 0;
|
|||||||
localparam ZICBOM_SUPPORTED = 0;
|
localparam ZICBOM_SUPPORTED = 0;
|
||||||
localparam ZICBOZ_SUPPORTED = 0;
|
localparam ZICBOZ_SUPPORTED = 0;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 1;
|
localparam SVINVAL_SUPPORTED = 1;
|
||||||
|
@ -47,6 +47,7 @@ localparam SSTC_SUPPORTED = 1;
|
|||||||
localparam ZICBOM_SUPPORTED = 1;
|
localparam ZICBOM_SUPPORTED = 1;
|
||||||
localparam ZICBOZ_SUPPORTED = 1;
|
localparam ZICBOZ_SUPPORTED = 1;
|
||||||
localparam ZICBOP_SUPPORTED = 1;
|
localparam ZICBOP_SUPPORTED = 1;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 1;
|
localparam SVPBMT_SUPPORTED = 1;
|
||||||
localparam SVNAPOT_SUPPORTED = 1;
|
localparam SVNAPOT_SUPPORTED = 1;
|
||||||
localparam SVINVAL_SUPPORTED = 1;
|
localparam SVINVAL_SUPPORTED = 1;
|
||||||
|
@ -47,6 +47,7 @@ localparam SSTC_SUPPORTED = 0;
|
|||||||
localparam ZICBOM_SUPPORTED = 0;
|
localparam ZICBOM_SUPPORTED = 0;
|
||||||
localparam ZICBOZ_SUPPORTED = 0;
|
localparam ZICBOZ_SUPPORTED = 0;
|
||||||
localparam ZICBOP_SUPPORTED = 0;
|
localparam ZICBOP_SUPPORTED = 0;
|
||||||
|
localparam ZICCLSM_SUPPORTED = 0;
|
||||||
localparam SVPBMT_SUPPORTED = 0;
|
localparam SVPBMT_SUPPORTED = 0;
|
||||||
localparam SVNAPOT_SUPPORTED = 0;
|
localparam SVNAPOT_SUPPORTED = 0;
|
||||||
localparam SVINVAL_SUPPORTED = 0;
|
localparam SVINVAL_SUPPORTED = 0;
|
||||||
|
@ -24,6 +24,7 @@ localparam cvw_t P = '{
|
|||||||
ZICBOM_SUPPORTED : ZICBOM_SUPPORTED,
|
ZICBOM_SUPPORTED : ZICBOM_SUPPORTED,
|
||||||
ZICBOZ_SUPPORTED : ZICBOZ_SUPPORTED,
|
ZICBOZ_SUPPORTED : ZICBOZ_SUPPORTED,
|
||||||
ZICBOP_SUPPORTED : ZICBOP_SUPPORTED,
|
ZICBOP_SUPPORTED : ZICBOP_SUPPORTED,
|
||||||
|
ZICCLSM_SUPPORTED : ZICCLSM_SUPPORTED,
|
||||||
SVPBMT_SUPPORTED : SVPBMT_SUPPORTED,
|
SVPBMT_SUPPORTED : SVPBMT_SUPPORTED,
|
||||||
SVNAPOT_SUPPORTED : SVNAPOT_SUPPORTED,
|
SVNAPOT_SUPPORTED : SVNAPOT_SUPPORTED,
|
||||||
SVINVAL_SUPPORTED : SVINVAL_SUPPORTED,
|
SVINVAL_SUPPORTED : SVINVAL_SUPPORTED,
|
||||||
|
@ -59,6 +59,7 @@ typedef struct packed {
|
|||||||
logic ZICBOM_SUPPORTED;
|
logic ZICBOM_SUPPORTED;
|
||||||
logic ZICBOZ_SUPPORTED;
|
logic ZICBOZ_SUPPORTED;
|
||||||
logic ZICBOP_SUPPORTED;
|
logic ZICBOP_SUPPORTED;
|
||||||
|
logic ZICCLSM_SUPPORTED;
|
||||||
logic SVPBMT_SUPPORTED;
|
logic SVPBMT_SUPPORTED;
|
||||||
logic SVNAPOT_SUPPORTED;
|
logic SVNAPOT_SUPPORTED;
|
||||||
logic SVINVAL_SUPPORTED;
|
logic SVINVAL_SUPPORTED;
|
||||||
|
@ -248,6 +248,7 @@ module lsu import cvw::*; #(parameter cvw_t P) (
|
|||||||
localparam AHBWLOGBWPL = $clog2(BEATSPERLINE); // Log2 of ^
|
localparam AHBWLOGBWPL = $clog2(BEATSPERLINE); // Log2 of ^
|
||||||
localparam LINELEN = P.DCACHE_LINELENINBITS; // Number of bits in cacheline
|
localparam LINELEN = P.DCACHE_LINELENINBITS; // Number of bits in cacheline
|
||||||
localparam LLENPOVERAHBW = P.LLEN / P.AHBW; // Number of AHB beats in a LLEN word. AHBW cannot be larger than LLEN. (implementation limitation)
|
localparam LLENPOVERAHBW = P.LLEN / P.AHBW; // Number of AHB beats in a LLEN word. AHBW cannot be larger than LLEN. (implementation limitation)
|
||||||
|
localparam CACHEWORDLEN = P.ZICCLSM_SUPPORTED ? 2*P.LLEN : P.LLEN; // Width of the cache's input and output data buses. Misaligned doubles width for fast access
|
||||||
|
|
||||||
logic [LINELEN-1:0] FetchBuffer; // Temporary buffer to hold partially fetched cacheline
|
logic [LINELEN-1:0] FetchBuffer; // Temporary buffer to hold partially fetched cacheline
|
||||||
logic [P.PA_BITS-1:0] DCacheBusAdr; // Cacheline address to fetch or writeback.
|
logic [P.PA_BITS-1:0] DCacheBusAdr; // Cacheline address to fetch or writeback.
|
||||||
@ -270,7 +271,7 @@ module lsu import cvw::*; #(parameter cvw_t P) (
|
|||||||
assign FlushDCache = FlushDCacheM & ~(SelHPTW);
|
assign FlushDCache = FlushDCacheM & ~(SelHPTW);
|
||||||
|
|
||||||
cache #(.P(P), .PA_BITS(P.PA_BITS), .XLEN(P.XLEN), .LINELEN(P.DCACHE_LINELENINBITS), .NUMLINES(P.DCACHE_WAYSIZEINBYTES*8/LINELEN),
|
cache #(.P(P), .PA_BITS(P.PA_BITS), .XLEN(P.XLEN), .LINELEN(P.DCACHE_LINELENINBITS), .NUMLINES(P.DCACHE_WAYSIZEINBYTES*8/LINELEN),
|
||||||
.NUMWAYS(P.DCACHE_NUMWAYS), .LOGBWPL(LLENLOGBWPL), .WORDLEN(P.LLEN), .MUXINTERVAL(P.LLEN), .READ_ONLY_CACHE(0)) dcache(
|
.NUMWAYS(P.DCACHE_NUMWAYS), .LOGBWPL(LLENLOGBWPL), .WORDLEN(CACHEWORDLEN), .MUXINTERVAL(P.LLEN), .READ_ONLY_CACHE(0)) dcache(
|
||||||
.clk, .reset, .Stall(GatedStallW), .SelBusBeat, .FlushStage(FlushW | IgnoreRequestTLB), .CacheRW(CacheRWM), .CacheAtomic(CacheAtomicM),
|
.clk, .reset, .Stall(GatedStallW), .SelBusBeat, .FlushStage(FlushW | IgnoreRequestTLB), .CacheRW(CacheRWM), .CacheAtomic(CacheAtomicM),
|
||||||
.FlushCache(FlushDCache), .NextSet(IEUAdrE[11:0]), .PAdr(PAdrM),
|
.FlushCache(FlushDCache), .NextSet(IEUAdrE[11:0]), .PAdr(PAdrM),
|
||||||
.ByteMask(ByteMaskM), .BeatCount(BeatCount[AHBWLOGBWPL-1:AHBWLOGBWPL-LLENLOGBWPL]),
|
.ByteMask(ByteMaskM), .BeatCount(BeatCount[AHBWLOGBWPL-1:AHBWLOGBWPL-LLENLOGBWPL]),
|
||||||
|
Loading…
Reference in New Issue
Block a user