@ -13,14 +13,14 @@ Utility functions defined here follow these conventions.
				@@ -13,14 +13,14 @@ Utility functions defined here follow these conventions.
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					In  general ,  the  bits  in  these  constants  have  the  following  meaning :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					   *  bit0 :  Final / settled  binary  value  of  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					   *  bit1 :  Initial  binary  value  of  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					   *  bit2 :  Activity  or  transitions  are  present  on  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  bit0 :  Final / settled  binary  value  of  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  bit1 :  Initial  binary  value  of  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  bit2 :  Activity  or  transitions  are  present  on  a  signal  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					Except  when  bit0  differs  from  bit1 ,  but  bit2  ( activity )  is  0 :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					   *  bit0  =  1 ,  bit1  =  0 ,  bit2  =  0  means  ` ` UNKNOWN ` `  in  4 - valued  and  8 - valued  logic .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					   *  bit0  =  0 ,  bit1  =  1 ,  bit2  =  0  means  ` ` UNASSIGNED ` `  in  4 - valued  and  8 - valued  logic .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  bit0  =  1 ,  bit1  =  0 ,  bit2  =  0  means  ` ` UNKNOWN ` `  in  4 - valued  and  8 - valued  logic .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  bit0  =  0 ,  bit1  =  1 ,  bit2  =  0  means  ` ` UNASSIGNED ` `  in  4 - valued  and  8 - valued  logic .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					2 - valued  logic  only  considers  bit0 ,  but  should  store  logic  one  as  ` ` ONE = 0b011 ` `  for  interoperability .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					4 - valued  logic  only  considers  bit0  and  bit1 .  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -28,12 +28,14 @@ Except when bit0 differs from bit1, but bit2 (activity) is 0:
				@@ -28,12 +28,14 @@ Except when bit0 differs from bit1, but bit2 (activity) is 0:
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					Logic  values  are  stored  in  numpy  arrays  of  data  type  ` ` np . uint8 ` ` .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					The  axis  convention  is  as  follows :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  The  * * last * *  axis  goes  along  patterns / vectors .  I . e .  ` ` values [ . . . , 0 ] ` `  is  pattern  0 ,  ` ` values [ . . . , 1 ] ` `  is  pattern  1 ,  etc .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  The  * * second - to - last * *  axis  goes  along  the  I / O  and  flip - flops  of  circuits .  For  a  circuit  ` ` c ` ` ,  this  axis  is  usually  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					` ` len ( c . s_nodes ) ` `  long .  The  values  of  all  inputs ,  outputs  and  flip - flops  are  stored  within  the  same  array  and  the  location  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					along  the  second - to - last  axis  is  determined  by  the  order  in  ` ` c . s_nodes ` ` .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					Two  storage  formats  are  used  in  KyuPy :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  ` ` mv . . . ` `  ( for  " multi-valued " ) :  Each  logic  value  is  stored  in  the  least  significant  3  bits  of  ` ` np . uint8 ` ` .  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*  ` ` bp . . . ` `  ( for  " bit-parallel " ) :  Groups  of  8  logic  values  are  stored  as  three  ` ` np . uint8 ` ` .  This  format  is  used  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					for  bit - parallel  logic  simulations .  It  is  also  more  memory - efficient .