mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Cause simplification
This commit is contained in:
		
							parent
							
								
									2a3f545e0c
								
							
						
					
					
						commit
						581d841653
					
				@ -135,7 +135,7 @@ module csr #(parameter
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if(`VECTORED_INTERRUPTS_SUPPORTED) begin:vec
 | 
					  if(`VECTORED_INTERRUPTS_SUPPORTED) begin:vec
 | 
				
			||||||
      always_comb
 | 
					      always_comb
 | 
				
			||||||
        if (PrivilegedTrapVector[1:0] == 2'b01 & CauseM[`XLEN-1] == 1)
 | 
					        if (PrivilegedTrapVector[1:0] == 2'b01 & InterruptM)
 | 
				
			||||||
          PrivilegedVectoredTrapVector = {PrivilegedTrapVector[`XLEN-1:2] + CauseM[`XLEN-3:0], 2'b00};
 | 
					          PrivilegedVectoredTrapVector = {PrivilegedTrapVector[`XLEN-1:2] + CauseM[`XLEN-3:0], 2'b00};
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
          PrivilegedVectoredTrapVector = {PrivilegedTrapVector[`XLEN-1:2], 2'b00};
 | 
					          PrivilegedVectoredTrapVector = {PrivilegedTrapVector[`XLEN-1:2], 2'b00};
 | 
				
			||||||
@ -178,7 +178,7 @@ module csr #(parameter
 | 
				
			|||||||
  assign CSRAdrM = InstrM[31:20];
 | 
					  assign CSRAdrM = InstrM[31:20];
 | 
				
			||||||
  assign UnalignedNextEPCM = TrapM ? ((wfiM & InterruptM) ? PCM+4 : PCM) : CSRWriteValM;
 | 
					  assign UnalignedNextEPCM = TrapM ? ((wfiM & InterruptM) ? PCM+4 : PCM) : CSRWriteValM;
 | 
				
			||||||
  assign NextEPCM = `C_SUPPORTED ? {UnalignedNextEPCM[`XLEN-1:1], 1'b0} : {UnalignedNextEPCM[`XLEN-1:2], 2'b00}; // 3.1.15 alignment
 | 
					  assign NextEPCM = `C_SUPPORTED ? {UnalignedNextEPCM[`XLEN-1:1], 1'b0} : {UnalignedNextEPCM[`XLEN-1:2], 2'b00}; // 3.1.15 alignment
 | 
				
			||||||
  assign NextCauseM = TrapM ? CauseM : CSRWriteValM;
 | 
					  assign NextCauseM = TrapM ? {InterruptM, CauseM[`XLEN-2:0]}: CSRWriteValM;
 | 
				
			||||||
  assign NextMtvalM = TrapM ? NextFaultMtvalM : CSRWriteValM;
 | 
					  assign NextMtvalM = TrapM ? NextFaultMtvalM : CSRWriteValM;
 | 
				
			||||||
  assign CSRMWriteM = CSRWriteM & (PrivilegeModeW == `M_MODE);
 | 
					  assign CSRMWriteM = CSRWriteM & (PrivilegeModeW == `M_MODE);
 | 
				
			||||||
  assign CSRSWriteM = CSRWriteM & (|PrivilegeModeW);
 | 
					  assign CSRSWriteM = CSRWriteM & (|PrivilegeModeW);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user