#include <L1Trigger/CSCCommonTrigger/interface/vlib.h>
Definition at line 42 of file vlib.h.
Signal::Signal | ( | ) |
Signal::Signal | ( | rval | n | ) |
Definition at line 183 of file vlib.cc.
References create(), init(), inited, mnum, mode, r, rc, and Sizeofrval.
00184 { 00185 create(); 00186 mode = mnum; 00187 #ifdef VGEN 00188 ostringstream ln; 00189 ln << dec << n; 00190 init (8*Sizeofrval - 1, 0, ln.str().c_str()); 00191 #else 00192 init (8*Sizeofrval - 1, 0, ""); 00193 #endif 00194 inited = 0; 00195 rc = n; 00196 r = n; 00197 }
Signal::Signal | ( | int | n | ) |
Definition at line 199 of file vlib.cc.
References create(), init(), inited, mnum, mode, r, rc, and Sizeofrval.
00200 { 00201 create(); 00202 mode = mnum; 00203 #ifdef VGEN 00204 ostringstream ln; 00205 ln << dec << n; 00206 init (Sizeofrval * 8 - 1, 0, ln.str().c_str()); 00207 #else 00208 init (Sizeofrval * 8 - 1, 0, ""); 00209 #endif 00210 inited = 0; 00211 r = (rval)n; 00212 rc = r; 00213 }
Signal::Signal | ( | unsigned int | n | ) |
Definition at line 215 of file vlib.cc.
References create(), init(), inited, mnum, mode, r, rc, and Sizeofrval.
00216 { 00217 create(); 00218 mode = mnum; 00219 #ifdef VGEN 00220 ostringstream ln; 00221 ln << dec << n; 00222 init (Sizeofrval * 8 - 1, 0, ln.str().c_str()); 00223 #else 00224 init (Sizeofrval * 8 - 1, 0, ""); 00225 #endif 00226 inited = 0; 00227 r = (rval)n; 00228 rc = r; 00229 }
Signal::Signal | ( | const char * | sval | ) |
Definition at line 61 of file vlib.cc.
References bits, create(), i, init(), mask, mnum, mode, r, rc, and value.
00062 { 00063 create(); 00064 mode = mnum; 00065 string val = sval; 00066 int bits, i; 00067 char radix; 00068 rval value = 0; 00069 int dig; 00070 00071 sscanf(val.c_str(), "%d'%c", &bits, &radix); 00072 switch (radix) 00073 { 00074 case 'h': 00075 case 'H': 00076 // sscanf (val.c_str(), "%d'%c%x", &bits, &radix, &value); 00077 for (i = 0; val[i] != 'h' && val[i] != 'H'; i++); 00078 for (; i < val.length(); i++) 00079 { 00080 switch (val[i]) 00081 { 00082 case '0': 00083 case '1': 00084 case '2': 00085 case '3': 00086 case '4': 00087 case '5': 00088 case '6': 00089 case '7': 00090 case '8': 00091 case '9': 00092 dig = val[i] - '0'; 00093 break; 00094 case 'a': 00095 case 'b': 00096 case 'c': 00097 case 'd': 00098 case 'e': 00099 case 'f': 00100 dig = val[i] - 'a' + 10; 00101 break; 00102 case 'A': 00103 case 'B': 00104 case 'C': 00105 case 'D': 00106 case 'E': 00107 case 'F': 00108 dig = val[i] - 'A' + 10; 00109 break; 00110 default: 00111 dig = -1; 00112 break; 00113 } 00114 if (dig >= 0) 00115 { 00116 value = value << 4; 00117 value = value | dig; 00118 } 00119 } 00120 00121 00122 break; 00123 case 'd': 00124 case 'D': 00125 sscanf (val.c_str(), "%d'%c%d", &bits, &radix, &value); 00126 break; 00127 case 'o': 00128 case 'O': 00129 // sscanf (val.c_str(), "%d'%c%o", &bits, &radix, &value); 00130 for (i = 0; val[i] != 'o' && val[i] != 'O'; i++); 00131 for (; i < val.length(); i++) 00132 { 00133 switch (val[i]) 00134 { 00135 case '0': 00136 case '1': 00137 case '2': 00138 case '3': 00139 case '4': 00140 case '5': 00141 case '6': 00142 case '7': 00143 dig = val[i] - '0'; 00144 break; 00145 default: 00146 dig = -1; 00147 break; 00148 } 00149 if (dig >= 0) 00150 { 00151 value = value << 3; 00152 value = value | dig; 00153 } 00154 } 00155 00156 break; 00157 00158 case 'b': 00159 case 'B': 00160 00161 for (i = 0; val[i] != 'b' && val[i] != 'B'; i++); 00162 for (; i < val.length(); i++) 00163 { 00164 switch (val[i]) 00165 { 00166 case '0': 00167 value = value << 1; 00168 break; 00169 case '1': 00170 value = value << 1; 00171 value = value | 1; 00172 break; 00173 } 00174 } 00175 break; 00176 } 00177 Signal::init(bits - 1, 0, val.c_str()); 00178 rc = value & mask; 00179 r = rc; 00180 00181 }
Definition at line 48 of file vlib.cc.
References create(), init(), mask, r, and rc.
00049 { 00050 create(); 00051 #ifdef VGEN 00052 ostringstream sval; 00053 sval << dec << bits << "'d" << value; 00054 Signal::init(bits - 1, 0, sval.str().c_str()); 00055 #else 00056 Signal::init(bits - 1, 0, ""); 00057 #endif 00058 r = rc = value & mask; 00059 }
void Signal::clock | ( | const char * | rname | ) |
Definition at line 25 of file vlib.cc.
References alwaysn, ca1, ca2, change, h, host, hostl, inited, l, mask, mode, name, nedge, NULL, outhost, outreg, pedge, printable, r, rb, rc, and Sizeofrval.
Referenced by Signal().
00026 { 00027 #ifdef VGEN 00028 name = ""; 00029 orname = ""; 00030 obname = ""; 00031 lb = "("; 00032 rb = ")"; 00033 #endif 00034 00035 outhost = host = outreg = ca1 = ca2 = NULL; 00036 inited = printable = r = rc = l = pedge = nedge = change = alwaysn = mode = 0; 00037 h = 8*Sizeofrval - 1; 00038 mask = (rval)(- 1); 00039 hostl = -1; 00040 00041 }
int Signal::getalwaysn | ( | ) | [inline] |
bool Signal::getbool | ( | ) | [inline] |
int Signal::getchange | ( | ) | [inline] |
int Signal::geth | ( | ) | [inline] |
int Signal::getint | ( | ) | [inline] |
int Signal::getl | ( | ) | [inline] |
rval Signal::getmask | ( | ) | [inline] |
int Signal::getnegedge | ( | ) | [inline] |
int Signal::getposedge | ( | ) | [inline] |
rval Signal::getr | ( | ) | [inline] |
rval Signal::getval | ( | ) |
Referenced by binop(), getbool(), and operator,().
Definition at line 257 of file vlib.cc.
References change, getl(), getr(), h, host, l, makemask(), mask, name, nedge, pedge, r, rb, rc, and source.
00258 { 00259 host = shost; 00260 #ifdef VGEN 00261 name = rname; 00262 orname = rname; 00263 lb = ""; 00264 rb = ""; 00265 #endif 00266 h = high; 00267 l = low; 00268 makemask(); 00269 source = this; 00270 if (host) 00271 { 00272 rc = (host->getr() >> (l - host->getl())) & mask; 00273 r = rc; 00274 } 00275 change = pedge = nedge = 0; 00276 }
void Signal::init | ( | const char * | rname | ) | [inline] |
Reimplemented in parameter.
Definition at line 238 of file vlib.cc.
References h, inited, l, makemask(), name, rb, and source.
Referenced by binop(), init(), operator,(), and Signal().
00239 { 00240 00241 #ifdef VGEN 00242 name = rname; 00243 orname = rname; 00244 lb = ""; 00245 rb = ""; 00246 #endif 00247 if (!inited) 00248 { 00249 h = high; 00250 l = low; 00251 makemask(); 00252 inited = 1; 00253 } 00254 source = this; 00255 }
void Signal::inout | ( | const char * | rname | ) | [inline] |
void Signal::input | ( | const char * | rname | ) | [inline] |
void Signal::makemask | ( | ) |
Signal * Signal::operator & | ( | ) |
Signal Signal::operator! | ( | ) |
Definition at line 378 of file vlib.cc.
References ca1, ca2, getval(), h, init(), l, mask, name, printable, r, source, and t.
00379 { 00380 Signal t; 00381 #ifdef VGEN 00382 t.name = name + ", " + arg.name; 00383 t.lb = "{"; 00384 t.rb = "}"; 00385 printable = arg.printable = 0; 00386 #else 00387 t.ca1 = this; 00388 t.ca2 = arg.source; 00389 t.init(h - l + arg.h - arg.l + 1, 0, ""); 00390 #endif 00391 t.r = (((getval() << (arg.h - arg.l + 1)) & (~(arg.mask))) | arg.getval()) & t.mask; 00392 return t; 00393 }
Signal Signal::operator~ | ( | ) |
void Signal::output | ( | const char * | rname | ) | [inline] |
void Signal::reg | ( | const char * | rname | ) | [inline] |
void Signal::wire | ( | const char * | rname | ) | [inline] |
ostream& operator<< | ( | ostream & | stream, | |
Signal | s | |||
) | [friend] |
int Signal::alwaysn [protected] |
Signal* Signal::ca1 [protected] |
Signal* Signal::ca2 [protected] |
int Signal::change [protected] |
Definition at line 166 of file vlib.h.
Referenced by binop(), create(), getchange(), init(), and setchange().
Definition at line 153 of file vlib.h.
Referenced by binop(), create(), geth(), init(), makemask(), operator,(), and sethlmask().
Signal* Signal::host [protected] |
int Signal::hostl [protected] |
int Signal::inited [protected] |
Definition at line 153 of file vlib.h.
Referenced by binop(), create(), getl(), init(), makemask(), operator,(), and sethlmask().
rval Signal::mask [protected] |
Definition at line 155 of file vlib.h.
Referenced by binop(), create(), getmask(), init(), makemask(), operator,(), sethlmask(), setr(), setrc(), and Signal().
int Signal::mode [protected] |
int Signal::nedge [protected] |
Definition at line 166 of file vlib.h.
Referenced by create(), getnegedge(), init(), and setnegedge().
Signal* Signal::outhost [protected] |
Signal* Signal::outreg [protected] |
int Signal::pedge [protected] |
Definition at line 166 of file vlib.h.
Referenced by create(), getposedge(), init(), and setposedge().
int Signal::printable [protected] |
Definition at line 172 of file vlib.h.
Referenced by binop(), create(), operator &(), operator,(), and setprintable().
rval Signal::rc [protected] |
Signal* Signal::source [protected] |