クラス sc_core::wif_int64_trace

sc_core::wif_int64_traceに対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

 wif_int64_trace (const sc_dt::int64 &object_, const std::string &name_, const std::string &wif_name_, int width_)
void write (FILE *f)
bool changed ()

Protected 変数

const sc_dt::int64object
sc_dt::int64 old_value
sc_dt::uint64 mask


説明

sc_wif_trace.cpp230 行で定義されています。


コンストラクタとデストラクタ

sc_core::wif_int64_trace::wif_int64_trace ( const sc_dt::int64 object_,
const std::string &  name_,
const std::string &  wif_name_,
int  width_ 
)

sc_wif_trace.cpp246 行で定義されています。

00250 : wif_trace(name_, wif_name_), object(object_)
00251 {
00252     bit_width = width_;
00253     mask = (sc_dt::uint64)-1;
00254     if (bit_width < 32) mask = ~(mask << bit_width);
00255     old_value = object;
00256     wif_type = "BIT";
00257 }


関数

void sc_core::wif_int64_trace::write ( FILE *  f  )  [virtual]

sc_core::wif_traceを実装しています。

sc_wif_trace.cpp266 行で定義されています。

00267 {
00268     char buf[1000];
00269     int bitindex;
00270 
00271     // Check for overflow
00272     if ((object & mask) != (sc_dt::uint64)object) 
00273     {
00274         for (bitindex = 0; bitindex < bit_width; bitindex++)
00275         {
00276             buf[bitindex]='0';
00277         }
00278     }
00279     else
00280     {
00281         sc_dt::uint64 bit_mask = 1;
00282         bit_mask = bit_mask << (bit_width-1);
00283         for (bitindex = 0; bitindex < bit_width; bitindex++) 
00284         {
00285             buf[bitindex] = (object & bit_mask)? '1' : '0';
00286             bit_mask = bit_mask >> 1;
00287         }
00288     }
00289     buf[bitindex] = '\0';
00290     std::fprintf(f, "assign %s \"%s\" ;\n", wif_name.c_str(), buf); 
00291     old_value = object;
00292 }

bool sc_core::wif_int64_trace::changed (  )  [virtual]

sc_core::wif_traceを実装しています。

sc_wif_trace.cpp260 行で定義されています。

00261 {
00262     return object != old_value;
00263 }


変数

sc_wif_trace.cpp240 行で定義されています。

sc_wif_trace.cpp241 行で定義されています。

sc_wif_trace.cpp242 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:12:13 2008に生成されました。  doxygen 1.5.6