std_ulogic_vector_datatype.log.cygwin64 revision 12855:588919e0e4aa
1SystemC Simulation
2
3INTEGER SIZE 		= 4 bytes
4SHORT INTEGER SIZE 	= 2 bytes
5LONG INTEGER SIZE 	= 8 bytes
6UNSIGNED LONG SIZE 	= 8 bytes
7SIGNED LONG SIZE 	= 8 bytes
8
9std_ulogic_vector 	<=	 C++ string
10-------------------------------------------
11A = 01XZXXXXX		 "01XZUWLH-" 
12B = XX0XX1XXX		 "ZZ1XX0UU1WWW" 
13BIG  = 11110000111100001111000011110000111100001111000011110000111100001111
14      "11110000111100001111000011110000111100001111000011110000111100001111"
15HUGE = 1111000011110000111100001111000011110000111100001111000011110000
16       1111000011110000111100001111000011110000111100001111000011110000
17       1111000011110000111100001111000011110000111100001111000011110000
18       1111000011110000111100001111000011110000111100001111000011110000
19       1111000011110000111100001111000011110000111100001111000011110000
20       1111000011110000111100001111000011110000111100001111000011110000
21       1111000011110000111100001111000011110000111100001111000011110000
22       1111000011110000111100001111000011110000111100001111000011110000
23       1111000011110000111100001111000011110000111100001111000011110000
24       1111000011110000111100001111000011110000111100001111000011110000
25       1111000011110000111100001111000011110000111100001111000011110000
26       1111000011110000111100001111000011110000111100001111000011110000
27       1111000011110000111100001111000011110000111100001111000011110000
28       1111000011110000111100001111000011110000111100001111000011110000
29       1111000011110000111100001111000011110000111100001111000011110000
30       1111000011110000111100001111000011110000111100001111000011110000
31       1111000011110000111100001111000011110000111100001111000011110000
32       1111000011110000111100001111000011110000111100001111000011110000
33       1111000011110000111100001111000011110000111100001111000011110000
34       1111000011110000111100001111000011110000111100001111000011110000
35       1111
36
37std_ulogic_vector 	<=	 std_ulogic_vector
38--------------------------------------------------
39C = XX0XX1XXX		 ZZ1XX0XX1XXX
40BIG2 = 11110000111100001111000011110000111100001111000011110000111100001111
41      "11110000111100001111000011110000111100001111000011110000111100001111"
42
43std_ulogic_vector 	<=	 C++ array of bool
44--------------------------------------------------
45D = XXXXZX10X		 -, L, H, W, Z, X, 1, 0, U
46E = 10011XXXX		 X, X, 1, 1, 0, 0, 1, 1, X, X, U, U
47BIG3 = 11110000111100001111000011110000111100001111000011110000111100001111
48      "11110000111100001111000011110000111100001111000011110000111100001111
49       000011110000"
50
51std_ulogic_vector 	<=	 bool_vector
52--------------------------------------------
53F = 1010		 "1010" 
54
55std_ulogic_vector 	<=	 unsigned long
56----------------------------------------------
57H = 1001					 ...10001001 (137)
58I = 00000000000000000000000010001001		 ...10001001 (137)
59J = 0000000000000000000000000000000010001001	 ...10001001 (137)
60
61std_ulogic_vector 	<=	 sc_unsigned
62--------------------------------------------
63K = 0011		       11 (3)
64L = 1101		     1101 (13)
65M = 1001		 10001001 (137)
66
67std_ulogic_vector 	<=	 signed long
68--------------------------------------------
69N = 01001					 ...010001001 (137)
70O = 00000000000000000000000010001001		 ...010001001 (137)
71P = 0000000000000000000000000000000010001001	 ...010001001 (137)
72Q = 10111					 ...101110111 (-137)
73R = 11111111111111111111111101110111		 ...101110111 (-137)
74S = 1111111111111111111111111111111101110111	 ...101110111 (-137)
75
76std_ulogic_vector 	<=	 sc_signed
77------------------------------------------
78T = 00011		       011 (3)
79U = 01101		     01101 (13)
80V = 01001		 010001001 (137)
81W = 11101		       101 (-3)
82X = 10011		     10011 (-13)
83Y = 10111		 101110111 (-137)
84
85std_ulogic_vector 		<=		 to_uint()
86-----------------------------------------------------------------
87TU1 = 				          1001	 9
88TU2 =         10000000000000000000000000000001	 2147483649
89TU3 = 0000000110000000000000000000000000000001	 2147483649
90TU4 = 1101 					 1	      (01)
91TU4 = 1101 					 13	    (1101)
92TU4 = 1101 					 13	(00001101)
93
94std_ulogic_vector 		<=		 to_int()
95-----------------------------------------------------------------
96TS1 = 				          1001	 -7
97TS2 =         11111111111111111111101111111001	 -1031
98TS3 = 0000000111111111111111111111101111111001	 -1031
99TS4 = 11001 					 1	      (001)
100TS4 = 11001 					 -7	    (11001)
101TS4 = 11001 					 -7	(111111001)
102
103std_ulogic_vector 		<=		 Typecast sc_unsigned
104-----------------------------------------------------------------
105TCU1 = 1101 					 1	      (01)
106TCU1 = 1101 					 13	    (1101)
107TCU1 = 1101 					 13	(00001101)
108
109std_ulogic_vector 		<=		 Typecast sc_signed
110-----------------------------------------------------------------
111TCS1 = 11001 					 1	      (001)
112TCS1 = 11001 					 -7	    (11001)
113TCS1 = 11001 					 25	(000011001)
114
115std_ulogic_vector 	<=	 to_string()
116--------------------------------------------
117TSTR = XXZ01XXXX 		 XXZ01XXXX
118
119range() tests
120-----------------------------------------------------------------
121INITIAL 4-BIT 	1000
122INITIAL 9-BIT 	XXZ01XXXX
123
124LVALUE RISE 	1	0	0	0
125LVALUE FALL 	0	0	0	1
126LVALUE SUB RISE 0	1	0	0
127LVALUE SUB FALL X	X	X	X	1	0	Z	X	X
128LVALUE BIT 	1	1	0	1
129
130RVALUE RISE 	1	0	0	0
131RVALUE FALL 	0	0	0	1
132RVALUE SUB FALL X	X	X	X	1	0	Z	X	X
133RVALUE SUB RISE 1	0	0	0
134RVALUE BIT [] 	1	0	1	1
135RVALUE BIT 	0	0	1	0
136
137op1	 operator	 op2	 result  [All operands are std_ulogic_vector]
138----------------------------------------------------------------
1391010	    &= 		 1000	 = 1000
1401010	    ^= 		 1000	 = 0010
1411010	    |= 		 1000	 = 1010
142~(1010) 			 = 0101
1431010	    & 		 1000	 = 1000
1441010	    ^ 		 1000	 = 0010
1451010	    | 		 1000	 = 1010
146
1471010	    &= 		 111011	 = 1010
1481010	    ^= 		 111011	 = 0001
1491010	    |= 		 111011	 = 1011
1501010	    & 		 111011	 = 1010
1511010	    ^ 		 111011	 = 0001
1521010	    | 		 111011	 = 1011
153
1541010	    and_reduce() 	 = 0
1551010	    or_reduce() 	 = 1
1561010	    xor_reduce() 	 = 0
157
1581010	    == 		 1000	 -> false
1591010	    != 		 1000	 -> true
160
1611111	    = 		 1111
162
163+-------------------------+
164| AND (&) | X | 0 | 1 | Z |
165+-------------------------+
166|    X    | X | 0 | X | X | 
167+-------------------------+
168|    0    | 0 | 0 | 0 | 0 | 
169+-------------------------+
170|    1    | X | 0 | 1 | X | 
171+-------------------------+
172|    Z    | X | 0 | X | X | 
173+-------------------------+
174
175+-------------------------+
176| OR  (|) | X | 0 | 1 | Z |
177+-------------------------+
178|    X    | X | X | 1 | X | 
179+-------------------------+
180|    0    | X | 0 | 1 | X | 
181+-------------------------+
182|    1    | 1 | 1 | 1 | 1 | 
183+-------------------------+
184|    Z    | X | X | 1 | X | 
185+-------------------------+
186
187+-------------------------+
188| XOR (^) | X | 0 | 1 | Z |
189+-------------------------+
190|    X    | X | X | X | X | 
191+-------------------------+
192|    0    | X | 0 | 1 | X | 
193+-------------------------+
194|    1    | X | 1 | 0 | X | 
195+-------------------------+
196|    Z    | X | X | X | X | 
197+-------------------------+
198
199+-------------------------+
200| NOT (~) | X | 0 | 1 | Z |
201+-------------------------+
202|         | X | 1 | 0 | X | 
203+-------------------------+
204