| 
						
						
						
					 | 
				
				 | 
				
					@ -1,5 +1,6 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					library ieee; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  use ieee.std_logic_1164.all; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  use ieee.numeric_std.all; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -87,4 +88,45 @@ begin | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  WbErr_o <= '0'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					end architecture rtl; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl default clock is rising_edge(WbClk_i); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl LOCAL_WRITE : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   ((WbCyc_i and WbStb_i and WbWe_i) -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --    (LocalWen_o = '1' and WbAck_o = '1' and LocalAdress_o = WbAdr_i and LocalData_o = WbDat_i)) abort WbRst_i | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: Local write error"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl LOCAL_READ : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   ({not(WbCyc_i) and not(WbStb_i); WbCyc_i and WbStb_i and not(WbWe_i)} |-> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --    {LocalRen_o = '1' and LocalAdress_o = WbAdr_i and WbAck_o = '0'; LocalRen_o = '0' and WbDat_o = LocalData_i and WbAck_o = '1'}) abort WbRst_i | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: Local read error"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl WB_ACK : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   WbAck_o -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   (WbCyc_i and WbStb_i) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: WbAck invalid"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --  psl WB_ERR : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   WbErr_o -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   (WbCyc_i and WbStb_i) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: WbErr invalid"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl LOCAL_WE : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   LocalWen_o -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   (WbCyc_i and WbStb_i and WbWe_i and not(LocalRen_o)) -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   next not(LocalWen_o) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: LocalWen invalid"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --  psl LOCAL_RE : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   LocalRen_o -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   (WbCyc_i and WbStb_i and not(WbWe_i) and not(LocalWen_o)) -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   next not(LocalRen_o) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: LocalRen invalid"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  -- psl RESET : assert always | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   WbRst_i -> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   (to_integer(unsigned(WbDat_o)) = 0 and WbAck_o = '0' and WbErr_o = '0' and | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --    LocalWen_o = '0' and LocalRen_o = '0' and to_integer(unsigned(LocalAdress_o)) = 0 and to_integer(unsigned(LocalData_o)) = 0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  --   report "PSL ERROR: Reset error"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					end architecture rtl; |