Remove conditioning of uop_atomic flag on non-invalid instructions,
which is unnecessary and came up on a Verilator UNOPTFLAT report. Add assertion to make sure this case is unreachable.
This commit is contained in:
		
							parent
							
								
									6da0e12bbd
								
							
						
					
					
						commit
						0b027390fa
					
				| 
						 | 
				
			
			@ -110,7 +110,14 @@ wire   uop_seq           = uop_seq_raw && !d_starved;
 | 
			
		|||
wire   uop_nonfinal      = uop_seq && !uop_final;
 | 
			
		||||
assign uop_stall         = x_stall || d_starved;
 | 
			
		||||
 | 
			
		||||
assign d_uninterruptible = uop_atomic && !d_invalid;
 | 
			
		||||
assign d_uninterruptible = uop_atomic;
 | 
			
		||||
 | 
			
		||||
`ifdef HAZARD3_ASSERTIONS
 | 
			
		||||
always @ (posedge clk) if (rst_n) begin
 | 
			
		||||
	assert(!(d_invalid && uop_seq_raw));
 | 
			
		||||
	assert(!(d_invalid && uop_atomic));
 | 
			
		||||
end
 | 
			
		||||
`endif
 | 
			
		||||
 | 
			
		||||
// Signal to null the mepc offset when taking an exception on this
 | 
			
		||||
// instruction (because uops in a sequence *which can except*, so excluding
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue