mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Fixed some of the uncached ifu bugs.
This commit is contained in:
		
							parent
							
								
									b701cbf823
								
							
						
					
					
						commit
						482529394a
					
				| @ -223,6 +223,7 @@ module ifu import cvw::*;  #(parameter cvw_t P) ( | ||||
|     // **** must fix words per line vs beats per line as in lsu.
 | ||||
|     localparam   WORDSPERLINE = P.ICACHE_SUPPORTED ? P.ICACHE_LINELENINBITS/P.XLEN : 1; | ||||
|     localparam   LOGBWPL = P.ICACHE_SUPPORTED ? $clog2(WORDSPERLINE) : 1; | ||||
|      | ||||
|     if(P.ICACHE_SUPPORTED) begin : icache | ||||
|       localparam            LINELEN = P.ICACHE_SUPPORTED ? P.ICACHE_LINELENINBITS : P.XLEN; | ||||
|       localparam            LLENPOVERAHBW = P.LLEN / P.AHBW; // Number of AHB beats in a LLEN word. AHBW cannot be larger than LLEN. (implementation limitation)
 | ||||
| @ -263,7 +264,12 @@ module ifu import cvw::*;  #(parameter cvw_t P) ( | ||||
|             .BusRW, .Stall(GatedStallD), | ||||
|             .BusStall, .BusCommitted(BusCommittedF)); | ||||
| 
 | ||||
|       mux3 #(32) UnCachedDataMux(.d0(ICacheInstrF), .d1(FetchBuffer[32-1:0]), .d2(IROMInstrF), | ||||
|     logic [31:0]          ShiftUncachedInstr; | ||||
| 
 | ||||
|     if(P.XLEN == 64) mux4 #(32) UncachedShiftInstrMux(FetchBuffer[32-1:0], FetchBuffer[48-1:16], FetchBuffer[64-1:32], {16'b0, FetchBuffer[64-1:48]}, | ||||
|                                                       PCSpillF[2:1], ShiftUncachedInstr); | ||||
|     else mux2 #(32) UncachedShiftInstrMux(FetchBuffer[32-1:0], {16'b0, FetchBuffer[32-1:16]}, PCSpillF[1], ShiftUncachedInstr); | ||||
|       mux3 #(32) UnCachedDataMux(.d0(ICacheInstrF), .d1(ShiftUncachedInstr), .d2(IROMInstrF), | ||||
|                                  .s({SelIROM, ~CacheableF}), .y(InstrRawF[31:0])); | ||||
|     end else begin : passthrough | ||||
|       assign IFUHADDR = PCPF; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user