mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Commented WFI non-flush in writeback stage of hazard unit
This commit is contained in:
		
							parent
							
								
									a9b7bd101e
								
							
						
					
					
						commit
						5119222c2f
					
				@ -71,6 +71,7 @@ module hazard (
 | 
				
			|||||||
  // Similarly, CSR writes and fences flush all subsequent instructions and refetch them in light of the new operating modes and cache/TLB contents
 | 
					  // Similarly, CSR writes and fences flush all subsequent instructions and refetch them in light of the new operating modes and cache/TLB contents
 | 
				
			||||||
  // Branch misprediction is found in the Execute stage and must flush the next two instructions.
 | 
					  // Branch misprediction is found in the Execute stage and must flush the next two instructions.
 | 
				
			||||||
  //   However, an active division operation resides in the Execute stage, and when the BP incorrectly mispredicts the divide as a taken branch, the divde must still complete
 | 
					  //   However, an active division operation resides in the Execute stage, and when the BP incorrectly mispredicts the divide as a taken branch, the divde must still complete
 | 
				
			||||||
 | 
					  // When a WFI is interrupted and causes a trap, it flushes the rest of the pipeline but not the W stage, because the WFI needs to commit
 | 
				
			||||||
  assign FlushDCause = TrapM | RetM | CSRWriteFenceM | BPWrongE;
 | 
					  assign FlushDCause = TrapM | RetM | CSRWriteFenceM | BPWrongE;
 | 
				
			||||||
  assign FlushECause = TrapM | RetM | CSRWriteFenceM |(BPWrongE & ~(DivBusyE | FDivBusyE));
 | 
					  assign FlushECause = TrapM | RetM | CSRWriteFenceM |(BPWrongE & ~(DivBusyE | FDivBusyE));
 | 
				
			||||||
  assign FlushMCause = TrapM | RetM | CSRWriteFenceM;
 | 
					  assign FlushMCause = TrapM | RetM | CSRWriteFenceM;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user