mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Changed FDivBusyE to stall the whole pipeline. Any instruction in the Executation which depended on the output of an instruction in the writeback stage would be lost if the back end of the pipelined advanced. The solution is to stall the whole pipeline.
This commit is contained in:
		
							parent
							
								
									a45e612008
								
							
						
					
					
						commit
						611ea6882d
					
				| @ -69,8 +69,8 @@ module hazard( | ||||
|   assign StallECause = (DivBusyE) & ~(TrapM);  // *** can we move to decode stage (KP?)
 | ||||
|   // WFI terminates if any enabled interrupt is pending, even if global interrupts are disabled.  It could also terminate with TW trap
 | ||||
| //  assign StallMCause = (wfiM & (~TrapM & ~IntPendingM)); // | FDivBusyE;  
 | ||||
|   assign StallMCause = ((wfiM | FDivBusyE) & (~TrapM & ~IntPendingM));  //*** Ross: should FDivBusyE trigger StallECause rather than StallMCause similar to DivBusyE?
 | ||||
|   assign StallWCause = LSUStallM | IFUStallF; | ||||
|   assign StallMCause = ((wfiM) & (~TrapM & ~IntPendingM));  //*** Ross: should FDivBusyE trigger StallECause rather than StallMCause similar to DivBusyE?
 | ||||
|   assign StallWCause = LSUStallM | IFUStallF  | (FDivBusyE & ~TrapM & ~IntPendingM); | ||||
| 
 | ||||
|   assign #1 StallF = StallFCause | StallD; | ||||
|   assign #1 StallD = StallDCause | StallE; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user