mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Updated comments about Interrupt and wfi.
This commit is contained in:
		
							parent
							
								
									4cd0584a11
								
							
						
					
					
						commit
						06b5a92eff
					
				@ -68,7 +68,8 @@ module trap import cvw::*;  #(parameter cvw_t P) (
 | 
			
		||||
  assign Committed     = CommittedM | CommittedF;
 | 
			
		||||
  assign EnabledIntsM  = ({12{MIntGlobalEnM}} & PendingIntsM & ~MIDELEG_REGW | {12{SIntGlobalEnM}} & PendingIntsM & MIDELEG_REGW);
 | 
			
		||||
  assign ValidIntsM    = {12{~Committed}} & EnabledIntsM;
 | 
			
		||||
  assign InterruptM    = (|ValidIntsM) & InstrValidM & (~wfiM | wfiW); // suppress interrupt if the memory system has partially processed a request.
 | 
			
		||||
  assign InterruptM    = (|ValidIntsM) & InstrValidM & (~wfiM | wfiW); // suppress interrupt if the memory system has partially processed a request. Delay interrupt until wfi is in the W stage. 
 | 
			
		||||
  // wfiW is to support possible but unlikely back to back wfi instructions. wfiM would be high in the M stage, while also in the W stage.
 | 
			
		||||
  assign DelegateM     = P.S_SUPPORTED & (InterruptM ? MIDELEG_REGW[CauseM] : MEDELEG_REGW[CauseM]) & 
 | 
			
		||||
                     (PrivilegeModeW == P.U_MODE | PrivilegeModeW == P.S_MODE);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user