112855Sgabeblack@google.comSystemC Simulation
212855Sgabeblack@google.com
312855Sgabeblack@google.comINTEGER SIZE 		= 4 bytes
412855Sgabeblack@google.comSHORT INTEGER SIZE 	= 2 bytes
512855Sgabeblack@google.comLONG INTEGER SIZE 	= 8 bytes
612855Sgabeblack@google.comUNSIGNED LONG SIZE 	= 8 bytes
712855Sgabeblack@google.comSIGNED LONG SIZE 	= 8 bytes
812855Sgabeblack@google.com
912855Sgabeblack@google.comstd_ulogic_vector 	<=	 C++ string
1012855Sgabeblack@google.com-------------------------------------------
1112855Sgabeblack@google.comA = 01XZXXXXX		 "01XZUWLH-" 
1212855Sgabeblack@google.comB = XX0XX1XXX		 "ZZ1XX0UU1WWW" 
1312855Sgabeblack@google.comBIG  = 11110000111100001111000011110000111100001111000011110000111100001111
1412855Sgabeblack@google.com      "11110000111100001111000011110000111100001111000011110000111100001111"
1512855Sgabeblack@google.comHUGE = 1111000011110000111100001111000011110000111100001111000011110000
1612855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
1712855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
1812855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
1912855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2012855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2112855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2212855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2312855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2412855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2512855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2612855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2712855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2812855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
2912855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3012855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3112855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3212855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3312855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3412855Sgabeblack@google.com       1111000011110000111100001111000011110000111100001111000011110000
3512855Sgabeblack@google.com       1111
3612855Sgabeblack@google.com
3712855Sgabeblack@google.comstd_ulogic_vector 	<=	 std_ulogic_vector
3812855Sgabeblack@google.com--------------------------------------------------
3912855Sgabeblack@google.comC = XX0XX1XXX		 ZZ1XX0XX1XXX
4012855Sgabeblack@google.comBIG2 = 11110000111100001111000011110000111100001111000011110000111100001111
4112855Sgabeblack@google.com      "11110000111100001111000011110000111100001111000011110000111100001111"
4212855Sgabeblack@google.com
4312855Sgabeblack@google.comstd_ulogic_vector 	<=	 C++ array of bool
4412855Sgabeblack@google.com--------------------------------------------------
4512855Sgabeblack@google.comD = XXXXZX10X		 -, L, H, W, Z, X, 1, 0, U
4612855Sgabeblack@google.comE = 10011XXXX		 X, X, 1, 1, 0, 0, 1, 1, X, X, U, U
4712855Sgabeblack@google.comBIG3 = 11110000111100001111000011110000111100001111000011110000111100001111
4812855Sgabeblack@google.com      "11110000111100001111000011110000111100001111000011110000111100001111
4912855Sgabeblack@google.com       000011110000"
5012855Sgabeblack@google.com
5112855Sgabeblack@google.comstd_ulogic_vector 	<=	 bool_vector
5212855Sgabeblack@google.com--------------------------------------------
5312855Sgabeblack@google.comF = 1010		 "1010" 
5412855Sgabeblack@google.com
5512855Sgabeblack@google.comstd_ulogic_vector 	<=	 unsigned long
5612855Sgabeblack@google.com----------------------------------------------
5712855Sgabeblack@google.comH = 1001					 ...10001001 (137)
5812855Sgabeblack@google.comI = 00000000000000000000000010001001		 ...10001001 (137)
5912855Sgabeblack@google.comJ = 0000000000000000000000000000000010001001	 ...10001001 (137)
6012855Sgabeblack@google.com
6112855Sgabeblack@google.comstd_ulogic_vector 	<=	 sc_unsigned
6212855Sgabeblack@google.com--------------------------------------------
6312855Sgabeblack@google.comK = 0011		       11 (3)
6412855Sgabeblack@google.comL = 1101		     1101 (13)
6512855Sgabeblack@google.comM = 1001		 10001001 (137)
6612855Sgabeblack@google.com
6712855Sgabeblack@google.comstd_ulogic_vector 	<=	 signed long
6812855Sgabeblack@google.com--------------------------------------------
6912855Sgabeblack@google.comN = 01001					 ...010001001 (137)
7012855Sgabeblack@google.comO = 00000000000000000000000010001001		 ...010001001 (137)
7112855Sgabeblack@google.comP = 0000000000000000000000000000000010001001	 ...010001001 (137)
7212855Sgabeblack@google.comQ = 10111					 ...101110111 (-137)
7312855Sgabeblack@google.comR = 11111111111111111111111101110111		 ...101110111 (-137)
7412855Sgabeblack@google.comS = 1111111111111111111111111111111101110111	 ...101110111 (-137)
7512855Sgabeblack@google.com
7612855Sgabeblack@google.comstd_ulogic_vector 	<=	 sc_signed
7712855Sgabeblack@google.com------------------------------------------
7812855Sgabeblack@google.comT = 00011		       011 (3)
7912855Sgabeblack@google.comU = 01101		     01101 (13)
8012855Sgabeblack@google.comV = 01001		 010001001 (137)
8112855Sgabeblack@google.comW = 11101		       101 (-3)
8212855Sgabeblack@google.comX = 10011		     10011 (-13)
8312855Sgabeblack@google.comY = 10111		 101110111 (-137)
8412855Sgabeblack@google.com
8512855Sgabeblack@google.comstd_ulogic_vector 		<=		 to_uint()
8612855Sgabeblack@google.com-----------------------------------------------------------------
8712855Sgabeblack@google.comTU1 = 				          1001	 9
8812855Sgabeblack@google.comTU2 =         10000000000000000000000000000001	 2147483649
8912855Sgabeblack@google.comTU3 = 0000000110000000000000000000000000000001	 2147483649
9012855Sgabeblack@google.comTU4 = 1101 					 1	      (01)
9112855Sgabeblack@google.comTU4 = 1101 					 13	    (1101)
9212855Sgabeblack@google.comTU4 = 1101 					 13	(00001101)
9312855Sgabeblack@google.com
9412855Sgabeblack@google.comstd_ulogic_vector 		<=		 to_int()
9512855Sgabeblack@google.com-----------------------------------------------------------------
9612855Sgabeblack@google.comTS1 = 				          1001	 -7
9712855Sgabeblack@google.comTS2 =         11111111111111111111101111111001	 -1031
9812855Sgabeblack@google.comTS3 = 0000000111111111111111111111101111111001	 -1031
9912855Sgabeblack@google.comTS4 = 11001 					 1	      (001)
10012855Sgabeblack@google.comTS4 = 11001 					 -7	    (11001)
10112855Sgabeblack@google.comTS4 = 11001 					 -7	(111111001)
10212855Sgabeblack@google.com
10312855Sgabeblack@google.comstd_ulogic_vector 		<=		 Typecast sc_unsigned
10412855Sgabeblack@google.com-----------------------------------------------------------------
10512855Sgabeblack@google.comTCU1 = 1101 					 1	      (01)
10612855Sgabeblack@google.comTCU1 = 1101 					 13	    (1101)
10712855Sgabeblack@google.comTCU1 = 1101 					 13	(00001101)
10812855Sgabeblack@google.com
10912855Sgabeblack@google.comstd_ulogic_vector 		<=		 Typecast sc_signed
11012855Sgabeblack@google.com-----------------------------------------------------------------
11112855Sgabeblack@google.comTCS1 = 11001 					 1	      (001)
11212855Sgabeblack@google.comTCS1 = 11001 					 -7	    (11001)
11312855Sgabeblack@google.comTCS1 = 11001 					 25	(000011001)
11412855Sgabeblack@google.com
11512855Sgabeblack@google.comstd_ulogic_vector 	<=	 to_string()
11612855Sgabeblack@google.com--------------------------------------------
11712855Sgabeblack@google.comTSTR = XXZ01XXXX 		 XXZ01XXXX
11812855Sgabeblack@google.com
11912855Sgabeblack@google.comrange() tests
12012855Sgabeblack@google.com-----------------------------------------------------------------
12112855Sgabeblack@google.comINITIAL 4-BIT 	1000
12212855Sgabeblack@google.comINITIAL 9-BIT 	XXZ01XXXX
12312855Sgabeblack@google.com
12412855Sgabeblack@google.comLVALUE RISE 	1	0	0	0
12512855Sgabeblack@google.comLVALUE FALL 	0	0	0	1
12612855Sgabeblack@google.comLVALUE SUB RISE 0	1	0	0
12712855Sgabeblack@google.comLVALUE SUB FALL X	X	X	X	1	0	Z	X	X
12812855Sgabeblack@google.comLVALUE BIT 	1	1	0	1
12912855Sgabeblack@google.com
13012855Sgabeblack@google.comRVALUE RISE 	1	0	0	0
13112855Sgabeblack@google.comRVALUE FALL 	0	0	0	1
13212855Sgabeblack@google.comRVALUE SUB FALL X	X	X	X	1	0	Z	X	X
13312855Sgabeblack@google.comRVALUE SUB RISE 1	0	0	0
13412855Sgabeblack@google.comRVALUE BIT [] 	1	0	1	1
13512855Sgabeblack@google.comRVALUE BIT 	0	0	1	0
13612855Sgabeblack@google.com
13712855Sgabeblack@google.comop1	 operator	 op2	 result  [All operands are std_ulogic_vector]
13812855Sgabeblack@google.com----------------------------------------------------------------
13912855Sgabeblack@google.com1010	    &= 		 1000	 = 1000
14012855Sgabeblack@google.com1010	    ^= 		 1000	 = 0010
14112855Sgabeblack@google.com1010	    |= 		 1000	 = 1010
14212855Sgabeblack@google.com~(1010) 			 = 0101
14312855Sgabeblack@google.com1010	    & 		 1000	 = 1000
14412855Sgabeblack@google.com1010	    ^ 		 1000	 = 0010
14512855Sgabeblack@google.com1010	    | 		 1000	 = 1010
14612855Sgabeblack@google.com
14712855Sgabeblack@google.com1010	    &= 		 111011	 = 1010
14812855Sgabeblack@google.com1010	    ^= 		 111011	 = 0001
14912855Sgabeblack@google.com1010	    |= 		 111011	 = 1011
15012855Sgabeblack@google.com1010	    & 		 111011	 = 1010
15112855Sgabeblack@google.com1010	    ^ 		 111011	 = 0001
15212855Sgabeblack@google.com1010	    | 		 111011	 = 1011
15312855Sgabeblack@google.com
15412855Sgabeblack@google.com1010	    and_reduce() 	 = 0
15512855Sgabeblack@google.com1010	    or_reduce() 	 = 1
15612855Sgabeblack@google.com1010	    xor_reduce() 	 = 0
15712855Sgabeblack@google.com
15812855Sgabeblack@google.com1010	    == 		 1000	 -> false
15912855Sgabeblack@google.com1010	    != 		 1000	 -> true
16012855Sgabeblack@google.com
16112855Sgabeblack@google.com1111	    = 		 1111
16212855Sgabeblack@google.com
16312855Sgabeblack@google.com+-------------------------+
16412855Sgabeblack@google.com| AND (&) | X | 0 | 1 | Z |
16512855Sgabeblack@google.com+-------------------------+
16612855Sgabeblack@google.com|    X    | X | 0 | X | X | 
16712855Sgabeblack@google.com+-------------------------+
16812855Sgabeblack@google.com|    0    | 0 | 0 | 0 | 0 | 
16912855Sgabeblack@google.com+-------------------------+
17012855Sgabeblack@google.com|    1    | X | 0 | 1 | X | 
17112855Sgabeblack@google.com+-------------------------+
17212855Sgabeblack@google.com|    Z    | X | 0 | X | X | 
17312855Sgabeblack@google.com+-------------------------+
17412855Sgabeblack@google.com
17512855Sgabeblack@google.com+-------------------------+
17612855Sgabeblack@google.com| OR  (|) | X | 0 | 1 | Z |
17712855Sgabeblack@google.com+-------------------------+
17812855Sgabeblack@google.com|    X    | X | X | 1 | X | 
17912855Sgabeblack@google.com+-------------------------+
18012855Sgabeblack@google.com|    0    | X | 0 | 1 | X | 
18112855Sgabeblack@google.com+-------------------------+
18212855Sgabeblack@google.com|    1    | 1 | 1 | 1 | 1 | 
18312855Sgabeblack@google.com+-------------------------+
18412855Sgabeblack@google.com|    Z    | X | X | 1 | X | 
18512855Sgabeblack@google.com+-------------------------+
18612855Sgabeblack@google.com
18712855Sgabeblack@google.com+-------------------------+
18812855Sgabeblack@google.com| XOR (^) | X | 0 | 1 | Z |
18912855Sgabeblack@google.com+-------------------------+
19012855Sgabeblack@google.com|    X    | X | X | X | X | 
19112855Sgabeblack@google.com+-------------------------+
19212855Sgabeblack@google.com|    0    | X | 0 | 1 | X | 
19312855Sgabeblack@google.com+-------------------------+
19412855Sgabeblack@google.com|    1    | X | 1 | 0 | X | 
19512855Sgabeblack@google.com+-------------------------+
19612855Sgabeblack@google.com|    Z    | X | X | X | X | 
19712855Sgabeblack@google.com+-------------------------+
19812855Sgabeblack@google.com
19912855Sgabeblack@google.com+-------------------------+
20012855Sgabeblack@google.com| NOT (~) | X | 0 | 1 | Z |
20112855Sgabeblack@google.com+-------------------------+
20212855Sgabeblack@google.com|         | X | 1 | 0 | X | 
20312855Sgabeblack@google.com+-------------------------+
204