forked from Github_Repos/cvw
		
	Renamed CPUBusy to Stall in cache.
This commit is contained in:
		
							parent
							
								
									4aadd87679
								
							
						
					
					
						commit
						3ddf509f28
					
				
							
								
								
									
										6
									
								
								pipelined/src/cache/cachefsm.sv
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								pipelined/src/cache/cachefsm.sv
									
									
									
									
										vendored
									
									
								
							@ -40,7 +40,7 @@ module cachefsm
 | 
			
		||||
   input logic        FlushCache,
 | 
			
		||||
   input logic        InvalidateCache,
 | 
			
		||||
   // hazard inputs
 | 
			
		||||
   input logic        CPUBusy,
 | 
			
		||||
   input logic        Stall,
 | 
			
		||||
   // Bus inputs
 | 
			
		||||
   input logic        CacheBusAck,
 | 
			
		||||
   // dcache internals
 | 
			
		||||
@ -130,7 +130,7 @@ module cachefsm
 | 
			
		||||
      //STATE_MISS_WRITE_CACHE_LINE:                             NextState = STATE_READY;
 | 
			
		||||
      STATE_MISS_WRITE_CACHE_LINE:                             NextState = STATE_MISS_READ_DELAY;
 | 
			
		||||
                                   //else                        NextState = STATE_READY;
 | 
			
		||||
      STATE_MISS_READ_DELAY: if(CPUBusy)                       NextState = STATE_MISS_READ_DELAY;
 | 
			
		||||
      STATE_MISS_READ_DELAY: if(Stall)                       NextState = STATE_MISS_READ_DELAY;
 | 
			
		||||
                             else                              NextState = STATE_READY;
 | 
			
		||||
      STATE_MISS_EVICT_DIRTY: if(CacheBusAck)                  NextState = STATE_MISS_FETCH_WDV;
 | 
			
		||||
                              else                             NextState = STATE_MISS_EVICT_DIRTY;
 | 
			
		||||
@ -201,6 +201,6 @@ module cachefsm
 | 
			
		||||
                  resetDelay;
 | 
			
		||||
 | 
			
		||||
  assign SelFetchBuffer = CurrState == STATE_MISS_WRITE_CACHE_LINE | CurrState == STATE_MISS_READ_DELAY;
 | 
			
		||||
  assign ce = (CurrState == STATE_READY & ~CPUBusy | CacheStall) | (CurrState != STATE_READY) | reset;
 | 
			
		||||
  assign ce = (CurrState == STATE_READY & ~Stall | CacheStall) | (CurrState != STATE_READY) | reset;
 | 
			
		||||
                       
 | 
			
		||||
endmodule // cachefsm
 | 
			
		||||
 | 
			
		||||
@ -221,7 +221,7 @@ module ifu (
 | 
			
		||||
      cache #(.LINELEN(`ICACHE_LINELENINBITS),
 | 
			
		||||
              .NUMLINES(`ICACHE_WAYSIZEINBYTES*8/`ICACHE_LINELENINBITS),
 | 
			
		||||
              .NUMWAYS(`ICACHE_NUMWAYS), .LOGBWPL(LOGBWPL), .WORDLEN(32), .MUXINTERVAL(16), .DCACHE(0))
 | 
			
		||||
      icache(.clk, .reset, .FlushStage(TrapM), .CPUBusy,
 | 
			
		||||
      icache(.clk, .reset, .FlushStage(TrapM), .Stall(CPUBusy),
 | 
			
		||||
             .FetchBuffer, .CacheBusAck(ICacheBusAck),
 | 
			
		||||
             .CacheBusAdr(ICacheBusAdr), .CacheStall(ICacheStallF), 
 | 
			
		||||
             .CacheBusRW,
 | 
			
		||||
 | 
			
		||||
@ -254,7 +254,7 @@ module lsu (
 | 
			
		||||
      
 | 
			
		||||
      cache #(.LINELEN(`DCACHE_LINELENINBITS), .NUMLINES(`DCACHE_WAYSIZEINBYTES*8/LINELEN),
 | 
			
		||||
              .NUMWAYS(`DCACHE_NUMWAYS), .LOGBWPL(LLENLOGBWPL), .WORDLEN(`LLEN), .MUXINTERVAL(`LLEN), .DCACHE(1)) dcache(
 | 
			
		||||
        .clk, .reset, .CPUBusy, .SelBusBeat, .FlushStage(FlushW), .CacheRW(CacheRWM), .CacheAtomic(CacheAtomicM),
 | 
			
		||||
        .clk, .reset, .Stall(CPUBusy), .SelBusBeat, .FlushStage(FlushW), .CacheRW(CacheRWM), .CacheAtomic(CacheAtomicM),
 | 
			
		||||
        .FlushCache(CacheFlushM), .NextAdr(IEUAdrE[11:0]), .PAdr(PAdrM), 
 | 
			
		||||
        .ByteMask(ByteMaskM), .BeatCount(BeatCount[AHBWLOGBWPL-1:AHBWLOGBWPL-LLENLOGBWPL]),
 | 
			
		||||
        .CacheWriteData(LSUWriteDataM), .SelHPTW,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user