Public メソッド | |
wif_unsigned_short_trace (const unsigned short &object_, const std::string &name_, const std::string &wif_name_, int width_) | |
void | write (FILE *f) |
bool | changed () |
Protected 変数 | |
const unsigned short & | object |
unsigned short | old_value |
unsigned short | mask |
sc_wif_trace.cpp の 907 行で定義されています。
sc_core::wif_unsigned_short_trace::wif_unsigned_short_trace | ( | const unsigned short & | object_, | |
const std::string & | name_, | |||
const std::string & | wif_name_, | |||
int | width_ | |||
) |
void sc_core::wif_unsigned_short_trace::write | ( | FILE * | f | ) | [virtual] |
sc_core::wif_traceを実装しています。
sc_wif_trace.cpp の 948 行で定義されています。
00949 { 00950 char buf[1000]; 00951 int bitindex; 00952 00953 // Check for overflow 00954 if ((object & mask) != object) { 00955 for (bitindex = 0; bitindex < bit_width; bitindex++){ 00956 buf[bitindex]='0'; 00957 } 00958 } 00959 else{ 00960 unsigned bit_mask = 1 << (bit_width-1); 00961 for (bitindex = 0; bitindex < bit_width; bitindex++) { 00962 buf[bitindex] = (object & bit_mask)? '1' : '0'; 00963 bit_mask = bit_mask >> 1; 00964 } 00965 } 00966 buf[bitindex] = '\0'; 00967 std::fprintf(f, "assign %s \"%s\" ;\n", wif_name.c_str(), buf); 00968 old_value = object; 00969 }
bool sc_core::wif_unsigned_short_trace::changed | ( | ) | [virtual] |
sc_core::wif_traceを実装しています。
sc_wif_trace.cpp の 942 行で定義されています。
00943 { 00944 return object != old_value; 00945 }
const unsigned short& sc_core::wif_unsigned_short_trace::object [protected] |
sc_wif_trace.cpp の 917 行で定義されています。
unsigned short sc_core::wif_unsigned_short_trace::old_value [protected] |
sc_wif_trace.cpp の 918 行で定義されています。
unsigned short sc_core::wif_unsigned_short_trace::mask [protected] |
sc_wif_trace.cpp の 919 行で定義されています。