mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Changed GatedStallF to GatedStallD.
This commit is contained in:
		
							parent
							
								
									c3b43b2fac
								
							
						
					
					
						commit
						e7a44d8975
					
				@ -114,7 +114,7 @@ module ifu (
 | 
			
		||||
  logic 					   ICacheFetchLine;
 | 
			
		||||
  logic 					   BusStall;
 | 
			
		||||
  logic 					   ICacheStallF, IFUCacheBusStallF;
 | 
			
		||||
  logic 					   GatedStallF;
 | 
			
		||||
  logic 					   GatedStallD;
 | 
			
		||||
(* mark_debug = "true" *)  logic [31:0] 				   PostSpillInstrRawF;
 | 
			
		||||
  // branch predictor signal
 | 
			
		||||
  logic [`XLEN-1:0]            PCNext1F, PCNext0F;
 | 
			
		||||
@ -200,7 +200,7 @@ module ifu (
 | 
			
		||||
  // The IROM uses untranslated addresses, so it is not compatible with virtual memory.
 | 
			
		||||
  if (`IROM_SUPPORTED) begin : irom 
 | 
			
		||||
    assign IFURWF = 2'b10;
 | 
			
		||||
    irom irom(.clk, .reset, .ce(~GatedStallF | reset), .Adr(PCNextFSpill[`XLEN-1:0]), .ReadData(IROMInstrF));
 | 
			
		||||
    irom irom(.clk, .reset, .ce(~GatedStallD | reset), .Adr(PCNextFSpill[`XLEN-1:0]), .ReadData(IROMInstrF));
 | 
			
		||||
 
 | 
			
		||||
  end else begin
 | 
			
		||||
    assign IFURWF = 2'b10;
 | 
			
		||||
@ -222,7 +222,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), .Stall(GatedStallF),
 | 
			
		||||
      icache(.clk, .reset, .FlushStage(TrapM), .Stall(GatedStallD),
 | 
			
		||||
             .FetchBuffer, .CacheBusAck(ICacheBusAck),
 | 
			
		||||
             .CacheBusAdr(ICacheBusAdr), .CacheStall(ICacheStallF), 
 | 
			
		||||
             .CacheBusRW,
 | 
			
		||||
@ -244,7 +244,7 @@ module ifu (
 | 
			
		||||
            .BeatCount(), .Cacheable(CacheableF), .SelBusBeat(), .WriteDataM('0),
 | 
			
		||||
             .CacheBusAck(ICacheBusAck), .HWDATA(), .CacheableOrFlushCacheM(1'b0), .CacheReadDataWordM('0),
 | 
			
		||||
            .FetchBuffer, .PAdr(PCPF),
 | 
			
		||||
            .BusRW, .Stall(GatedStallF),
 | 
			
		||||
            .BusRW, .Stall(GatedStallD),
 | 
			
		||||
            .BusStall, .BusCommitted(BusCommittedF));
 | 
			
		||||
 | 
			
		||||
      mux3 #(32) UnCachedDataMux(.d0(ICacheInstrF), .d1(FetchBuffer[32-1:0]), .d2(IROMInstrF),
 | 
			
		||||
@ -261,7 +261,7 @@ module ifu (
 | 
			
		||||
      ahbinterface #(0) ahbinterface(.HCLK(clk), .Flush(TrapM), .HRESETn(~reset), .HREADY(IFUHREADY), 
 | 
			
		||||
        .HRDATA(HRDATA), .HTRANS(IFUHTRANS), .HWRITE(IFUHWRITE), .HWDATA(),
 | 
			
		||||
        .HWSTRB(), .BusRW, .ByteMask(), .WriteData('0),
 | 
			
		||||
        .Stall(GatedStallF), .BusStall, .BusCommitted(BusCommittedF), .FetchBuffer(FetchBuffer));
 | 
			
		||||
        .Stall(GatedStallD), .BusStall, .BusCommitted(BusCommittedF), .FetchBuffer(FetchBuffer));
 | 
			
		||||
 | 
			
		||||
      assign CacheCommittedF = '0;
 | 
			
		||||
      if(`IROM_SUPPORTED) mux2 #(32) UnCachedDataMux2(FetchBuffer, IROMInstrF, SelIROM, InstrRawF);
 | 
			
		||||
@ -278,7 +278,7 @@ module ifu (
 | 
			
		||||
  
 | 
			
		||||
  assign IFUCacheBusStallF = ICacheStallF | BusStall;
 | 
			
		||||
  assign IFUStallF = IFUCacheBusStallF | SelNextSpillF;
 | 
			
		||||
  assign GatedStallF = StallF & ~SelNextSpillF;
 | 
			
		||||
  assign GatedStallD = StallD & ~SelNextSpillF;
 | 
			
		||||
  
 | 
			
		||||
  flopenl #(32) AlignedInstrRawDFlop(clk, reset | FlushD, ~StallD, PostSpillInstrRawF, nop, InstrRawD);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user