void uvm_packer_rep::unpack_sc_uint_base(sc_uint_base& a) { int n = a.length(); for (int i = 0; i < n; i++) { sc_dt::sc_logic_value_t val = (*m_bits).get_bit(unpack_index); if (int(val) == int(sc_dt::Log_1)) { a.set(i, true); } else { a.set(i, false); } unpack_index++; } }
void uvm_packer_rep::pack_sc_uint_base(const sc_uint_base& a) { int n = a.length(); check_size(n); for (int i = 0; i < n; i++) { bool val = a.test(i); if (val) { (*m_bits).set_bit(pack_index, sc_dt::Log_1); } else { (*m_bits).set_bit(pack_index, sc_dt::Log_0); } pack_index++; } }
void binary_ostream::print(const sc_uint_base& x) { for(int i = x.length()-1; i >= 0; i--) { _os << (x[i] ? '1' : '0'); } }