クラス sc_core::wif_uint64_trace

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

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

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

Protected 変数

const sc_dt::uint64object
sc_dt::uint64 old_value
sc_dt::uint64 mask


説明

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


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

sc_core::wif_uint64_trace::wif_uint64_trace ( const sc_dt::uint64 object_,
const std::string &  name_,
const std::string &  wif_name_,
int  width_ 
)

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

00184 : wif_trace(name_, wif_name_), object(object_)
00185 {
00186     bit_width = width_;
00187     mask = (sc_dt::uint64)-1;
00188     if (bit_width < 32) mask = ~(mask << bit_width);
00189     old_value = object;
00190     wif_type = "BIT";
00191 }


関数

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

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

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

00201 {
00202     char buf[1000];
00203     int bitindex;
00204 
00205     // Check for overflow
00206     if ((object & mask) != object) 
00207     {
00208         for (bitindex = 0; bitindex < bit_width; bitindex++)
00209         {
00210             buf[bitindex]='0';
00211         }
00212     }
00213     else
00214     {
00215         sc_dt::uint64 bit_mask = 1;
00216         bit_mask = bit_mask << (bit_width-1);
00217         for (bitindex = 0; bitindex < bit_width; bitindex++) 
00218         {
00219             buf[bitindex] = (object & bit_mask)? '1' : '0';
00220             bit_mask = bit_mask >> 1;
00221         }
00222     }
00223     buf[bitindex] = '\0';
00224     std::fprintf(f, "assign %s \"%s\" ;\n", wif_name.c_str(), buf); 
00225     old_value = object;
00226 }

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

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

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

00195 {
00196     return object != old_value;
00197 }


変数

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

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

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


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

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