blob: d168d15ca7e8722b9600b741aeeb9d2f27544459 [file] [log] [blame]
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 |
+-------------------------+