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