SystemC Simulation INTEGER SIZE = 4 bytes SHORT INTEGER SIZE = 2 bytes LONG INTEGER SIZE = 8 bytes UNSIGNED LONG SIZE = 8 bytes SIGNED LONG SIZE = 8 bytes std_ulogic_vector <= C++ string ------------------------------------------- A = 01XZXXXXX "01XZUWLH-" B = XX0XX1XXX "ZZ1XX0UU1WWW" BIG = 11110000111100001111000011110000111100001111000011110000111100001111 "11110000111100001111000011110000111100001111000011110000111100001111" HUGE = 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111000011110000111100001111000011110000111100001111000011110000 1111 std_ulogic_vector <= std_ulogic_vector -------------------------------------------------- C = XX0XX1XXX ZZ1XX0XX1XXX BIG2 = 11110000111100001111000011110000111100001111000011110000111100001111 "11110000111100001111000011110000111100001111000011110000111100001111" std_ulogic_vector <= C++ array of bool -------------------------------------------------- D = XXXXZX10X -, L, H, W, Z, X, 1, 0, U E = 10011XXXX X, X, 1, 1, 0, 0, 1, 1, X, X, U, U BIG3 = 11110000111100001111000011110000111100001111000011110000111100001111 "11110000111100001111000011110000111100001111000011110000111100001111 000011110000" std_ulogic_vector <= bool_vector -------------------------------------------- F = 1010 "1010" std_ulogic_vector <= unsigned long ---------------------------------------------- H = 1001 ...10001001 (137) I = 00000000000000000000000010001001 ...10001001 (137) J = 0000000000000000000000000000000010001001 ...10001001 (137) std_ulogic_vector <= sc_unsigned -------------------------------------------- K = 0011 11 (3) L = 1101 1101 (13) M = 1001 10001001 (137) std_ulogic_vector <= signed long -------------------------------------------- N = 01001 ...010001001 (137) O = 00000000000000000000000010001001 ...010001001 (137) P = 0000000000000000000000000000000010001001 ...010001001 (137) Q = 10111 ...101110111 (-137) R = 11111111111111111111111101110111 ...101110111 (-137) S = 1111111111111111111111111111111101110111 ...101110111 (-137) std_ulogic_vector <= sc_signed ------------------------------------------ T = 00011 011 (3) U = 01101 01101 (13) V = 01001 010001001 (137) W = 11101 101 (-3) X = 10011 10011 (-13) Y = 10111 101110111 (-137) std_ulogic_vector <= to_uint() ----------------------------------------------------------------- TU1 = 1001 9 TU2 = 10000000000000000000000000000001 2147483649 TU3 = 0000000110000000000000000000000000000001 2147483649 TU4 = 1101 1 (01) TU4 = 1101 13 (1101) TU4 = 1101 13 (00001101) std_ulogic_vector <= to_int() ----------------------------------------------------------------- TS1 = 1001 -7 TS2 = 11111111111111111111101111111001 -1031 TS3 = 0000000111111111111111111111101111111001 -1031 TS4 = 11001 1 (001) TS4 = 11001 -7 (11001) TS4 = 11001 -7 (111111001) std_ulogic_vector <= Typecast sc_unsigned ----------------------------------------------------------------- TCU1 = 1101 1 (01) TCU1 = 1101 13 (1101) TCU1 = 1101 13 (00001101) std_ulogic_vector <= Typecast sc_signed ----------------------------------------------------------------- TCS1 = 11001 1 (001) TCS1 = 11001 -7 (11001) TCS1 = 11001 25 (000011001) std_ulogic_vector <= to_string() -------------------------------------------- TSTR = XXZ01XXXX XXZ01XXXX range() tests ----------------------------------------------------------------- INITIAL 4-BIT 1000 INITIAL 9-BIT XXZ01XXXX LVALUE RISE 1 0 0 0 LVALUE FALL 0 0 0 1 LVALUE SUB RISE 0 1 0 0 LVALUE SUB FALL X X X X 1 0 Z X X LVALUE BIT 1 1 0 1 RVALUE RISE 1 0 0 0 RVALUE FALL 0 0 0 1 RVALUE SUB FALL X X X X 1 0 Z X X RVALUE SUB RISE 1 0 0 0 RVALUE BIT [] 1 0 1 1 RVALUE BIT 0 0 1 0 op1 operator op2 result [All operands are std_ulogic_vector] ---------------------------------------------------------------- 1010 &= 1000 = 1000 1010 ^= 1000 = 0010 1010 |= 1000 = 1010 ~(1010) = 0101 1010 & 1000 = 1000 1010 ^ 1000 = 0010 1010 | 1000 = 1010 1010 &= 111011 = 1010 1010 ^= 111011 = 0001 1010 |= 111011 = 1011 1010 & 111011 = 1010 1010 ^ 111011 = 0001 1010 | 111011 = 1011 1010 and_reduce() = 0 1010 or_reduce() = 1 1010 xor_reduce() = 0 1010 == 1000 -> false 1010 != 1000 -> true 1111 = 1111 +-------------------------+ | AND (&) | X | 0 | 1 | Z | +-------------------------+ | X | X | 0 | X | X | +-------------------------+ | 0 | 0 | 0 | 0 | 0 | +-------------------------+ | 1 | X | 0 | 1 | X | +-------------------------+ | Z | X | 0 | X | X | +-------------------------+ +-------------------------+ | OR (|) | X | 0 | 1 | Z | +-------------------------+ | X | X | X | 1 | X | +-------------------------+ | 0 | X | 0 | 1 | X | +-------------------------+ | 1 | 1 | 1 | 1 | 1 | +-------------------------+ | Z | X | X | 1 | X | +-------------------------+ +-------------------------+ | XOR (^) | X | 0 | 1 | Z | +-------------------------+ | X | X | X | X | X | +-------------------------+ | 0 | X | 0 | 1 | X | +-------------------------+ | 1 | X | 1 | 0 | X | +-------------------------+ | Z | X | X | X | X | +-------------------------+ +-------------------------+ | NOT (~) | X | 0 | 1 | Z | +-------------------------+ | | X | 1 | 0 | X | +-------------------------+