gem5  v20.1.0.0
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
sc_dt::sc_lv_base Class Reference

#include <sc_lv_base.hh>

Inheritance diagram for sc_dt::sc_lv_base:
sc_dt::sc_proxy< sc_lv_base >

Public Types

typedef sc_proxy< sc_lv_basebase_type
 
typedef base_type::value_type value_type
 
- Public Types inherited from sc_dt::sc_proxy< sc_lv_base >
typedef sc_proxy_traits< sc_lv_base >::traits_type traits_type
 
typedef traits_type::bit_type bit_type
 
typedef traits_type::value_type value_type
 

Public Member Functions

 sc_lv_base (int length_=sc_length_param().len())
 
 sc_lv_base (const sc_logic &a, int length_=sc_length_param().len())
 
 sc_lv_base (const char *a)
 
 sc_lv_base (const char *a, int length_)
 
template<class X >
 sc_lv_base (const sc_proxy< X > &a)
 
 sc_lv_base (const sc_lv_base &a)
 
virtual ~sc_lv_base ()
 
template<class X >
sc_lv_baseoperator= (const sc_proxy< X > &a)
 
sc_lv_baseoperator= (const sc_lv_base &a)
 
sc_lv_baseoperator= (const char *a)
 
sc_lv_baseoperator= (const bool *a)
 
sc_lv_baseoperator= (const sc_logic *a)
 
sc_lv_baseoperator= (const sc_unsigned &a)
 
sc_lv_baseoperator= (const sc_signed &a)
 
sc_lv_baseoperator= (const sc_uint_base &a)
 
sc_lv_baseoperator= (const sc_int_base &a)
 
sc_lv_baseoperator= (unsigned long a)
 
sc_lv_baseoperator= (long a)
 
sc_lv_baseoperator= (unsigned int a)
 
sc_lv_baseoperator= (int a)
 
sc_lv_baseoperator= (uint64 a)
 
sc_lv_baseoperator= (int64 a)
 
int length () const
 
int size () const
 
value_type get_bit (int i) const
 
void set_bit (int i, value_type value)
 
sc_digit get_word (int wi) const
 
void set_word (int wi, sc_digit w)
 
sc_digit get_cword (int wi) const
 
void set_cword (int wi, sc_digit w)
 
void clean_tail ()
 
bool is_01 () const
 
- Public Member Functions inherited from sc_dt::sc_proxy< sc_lv_base >
virtual ~sc_proxy ()
 
sc_lv_baseback_cast ()
 
const sc_lv_baseback_cast () const
 
sc_lv_baseassign_ (const sc_proxy< Y > &a)
 
sc_lv_baseassign_ (const char *a)
 
sc_lv_baseassign_ (const bool *a)
 
sc_lv_baseassign_ (const sc_logic *a)
 
sc_lv_baseassign_ (const sc_unsigned &a)
 
sc_lv_baseassign_ (const sc_signed &a)
 
sc_lv_baseassign_ (const sc_uint_base &a)
 
sc_lv_baseassign_ (const sc_int_base &a)
 
sc_lv_baseassign_ (unsigned int a)
 
sc_lv_baseassign_ (int a)
 
sc_lv_baseassign_ (unsigned long a)
 
sc_lv_baseassign_ (long a)
 
sc_lv_baseassign_ (uint64 a)
 
sc_lv_baseassign_ (int64 a)
 
sc_lv_baseb_not ()
 
const sc_lv_base operator~ () const
 
sc_lv_baseoperator&= (const char *b)
 
sc_lv_baseoperator&= (const bool *b)
 
sc_lv_baseoperator&= (const sc_logic *b)
 
sc_lv_baseoperator&= (const sc_unsigned &b)
 
sc_lv_baseoperator&= (const sc_signed &b)
 
sc_lv_baseoperator&= (const sc_uint_base &b)
 
sc_lv_baseoperator&= (const sc_int_base &b)
 
sc_lv_baseoperator&= (unsigned long b)
 
sc_lv_baseoperator&= (long b)
 
sc_lv_baseoperator&= (unsigned int b)
 
sc_lv_baseoperator&= (int b)
 
sc_lv_baseoperator&= (uint64 b)
 
sc_lv_baseoperator&= (int64 b)
 
const sc_lv_base operator& (const char *b) const
 
const sc_lv_base operator& (const bool *b) const
 
const sc_lv_base operator& (const sc_logic *b) const
 
const sc_lv_base operator& (const sc_unsigned &b) const
 
const sc_lv_base operator& (const sc_signed &b) const
 
const sc_lv_base operator& (const sc_uint_base &b) const
 
const sc_lv_base operator& (const sc_int_base &b) const
 
const sc_lv_base operator& (unsigned long b) const
 
const sc_lv_base operator& (long b) const
 
const sc_lv_base operator& (unsigned int b) const
 
const sc_lv_base operator& (int b) const
 
const sc_lv_base operator& (uint64 b) const
 
const sc_lv_base operator& (int64 b) const
 
sc_lv_baseoperator|= (const char *b)
 
sc_lv_baseoperator|= (const bool *b)
 
sc_lv_baseoperator|= (const sc_logic *b)
 
sc_lv_baseoperator|= (const sc_unsigned &b)
 
sc_lv_baseoperator|= (const sc_signed &b)
 
sc_lv_baseoperator|= (const sc_uint_base &b)
 
sc_lv_baseoperator|= (const sc_int_base &b)
 
sc_lv_baseoperator|= (unsigned long b)
 
sc_lv_baseoperator|= (long b)
 
sc_lv_baseoperator|= (unsigned int b)
 
sc_lv_baseoperator|= (int b)
 
sc_lv_baseoperator|= (uint64 b)
 
sc_lv_baseoperator|= (int64 b)
 
const sc_lv_base operator| (const char *b) const
 
const sc_lv_base operator| (const bool *b) const
 
const sc_lv_base operator| (const sc_logic *b) const
 
const sc_lv_base operator| (const sc_unsigned &b) const
 
const sc_lv_base operator| (const sc_signed &b) const
 
const sc_lv_base operator| (const sc_uint_base &b) const
 
const sc_lv_base operator| (const sc_int_base &b) const
 
const sc_lv_base operator| (unsigned long b) const
 
const sc_lv_base operator| (long b) const
 
const sc_lv_base operator| (unsigned int b) const
 
const sc_lv_base operator| (int b) const
 
const sc_lv_base operator| (uint64 b) const
 
const sc_lv_base operator| (int64 b) const
 
sc_lv_baseoperator^= (const char *b)
 
sc_lv_baseoperator^= (const bool *b)
 
sc_lv_baseoperator^= (const sc_logic *b)
 
sc_lv_baseoperator^= (const sc_unsigned &b)
 
sc_lv_baseoperator^= (const sc_signed &b)
 
sc_lv_baseoperator^= (const sc_uint_base &b)
 
sc_lv_baseoperator^= (const sc_int_base &b)
 
sc_lv_baseoperator^= (unsigned long b)
 
sc_lv_baseoperator^= (long b)
 
sc_lv_baseoperator^= (unsigned int b)
 
sc_lv_baseoperator^= (int b)
 
sc_lv_baseoperator^= (uint64 b)
 
sc_lv_baseoperator^= (int64 b)
 
const sc_lv_base operator^ (const char *b) const
 
const sc_lv_base operator^ (const bool *b) const
 
const sc_lv_base operator^ (const sc_logic *b) const
 
const sc_lv_base operator^ (const sc_unsigned &b) const
 
const sc_lv_base operator^ (const sc_signed &b) const
 
const sc_lv_base operator^ (const sc_uint_base &b) const
 
const sc_lv_base operator^ (const sc_int_base &b) const
 
const sc_lv_base operator^ (unsigned long b) const
 
const sc_lv_base operator^ (long b) const
 
const sc_lv_base operator^ (unsigned int b) const
 
const sc_lv_base operator^ (int b) const
 
const sc_lv_base operator^ (uint64 b) const
 
const sc_lv_base operator^ (int64 b) const
 
sc_lv_baseoperator<<= (int n)
 
const sc_lv_base operator<< (int n) const
 
sc_lv_baseoperator>>= (int n)
 
const sc_lv_base operator>> (int n) const
 
sc_lv_baselrotate (int n)
 
sc_lv_baserrotate (int n)
 
sc_lv_basereverse ()
 
sc_bitref< sc_lv_baseoperator[] (int i)
 
sc_bitref_r< sc_lv_baseoperator[] (int i) const
 
sc_bitref< sc_lv_basebit (int i)
 
sc_bitref_r< sc_lv_basebit (int i) const
 
sc_subref< sc_lv_baseoperator() (int hi, int lo)
 
sc_subref_r< sc_lv_baseoperator() (int hi, int lo) const
 
sc_subref< sc_lv_baserange (int hi, int lo)
 
sc_subref_r< sc_lv_baserange (int hi, int lo) const
 
value_type and_reduce () const
 
value_type nand_reduce () const
 
value_type or_reduce () const
 
value_type nor_reduce () const
 
value_type xor_reduce () const
 
value_type xnor_reduce () const
 
bool operator== (const char *b) const
 
bool operator== (const bool *b) const
 
bool operator== (const sc_logic *b) const
 
bool operator== (const sc_unsigned &b) const
 
bool operator== (const sc_signed &b) const
 
bool operator== (const sc_uint_base &b) const
 
bool operator== (const sc_int_base &b) const
 
bool operator== (unsigned long b) const
 
bool operator== (long b) const
 
bool operator== (unsigned int b) const
 
bool operator== (int b) const
 
bool operator== (uint64 b) const
 
bool operator== (int64 b) const
 
const std::string to_string () const
 
const std::string to_string (sc_numrep) const
 
const std::string to_string (sc_numrep, bool) const
 
int64 to_int64 () const
 
uint64 to_uint64 () const
 
int to_int () const
 
unsigned int to_uint () const
 
long to_long () const
 
unsigned long to_ulong () const
 
void print (::std::ostream &os=::std::cout) const
 
void scan (::std::istream &is=::std::cin)
 

Protected Attributes

int m_len
 
int m_size
 
sc_digitm_data
 
sc_digitm_ctrl
 

Private Member Functions

void init (int length_, const sc_logic &init_value=SC_LOGIC_X)
 
void assign_from_string (const std::string &)
 

Friends

class sc_bv_base
 

Additional Inherited Members

- Protected Member Functions inherited from sc_dt::sc_proxy< sc_lv_base >
void check_bounds (int n) const
 
void check_wbounds (int n) const
 
sc_digit to_anything_unsigned () const
 
int64 to_anything_signed () const
 

Detailed Description

Definition at line 118 of file sc_lv_base.hh.

Member Typedef Documentation

◆ base_type

Definition at line 127 of file sc_lv_base.hh.

◆ value_type

Definition at line 128 of file sc_lv_base.hh.

Constructor & Destructor Documentation

◆ sc_lv_base() [1/6]

sc_dt::sc_lv_base::sc_lv_base ( int  length_ = sc_length_param().len())
inlineexplicit

Definition at line 131 of file sc_lv_base.hh.

◆ sc_lv_base() [2/6]

sc_dt::sc_lv_base::sc_lv_base ( const sc_logic a,
int  length_ = sc_length_param().len() 
)
inlineexplicit

Definition at line 137 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::assign_p_().

◆ sc_lv_base() [3/6]

sc_dt::sc_lv_base::sc_lv_base ( const char *  a)

Definition at line 165 of file sc_lv_base.cc.

◆ sc_lv_base() [4/6]

sc_dt::sc_lv_base::sc_lv_base ( const char *  a,
int  length_ 
)

Definition at line 173 of file sc_lv_base.cc.

References ArmISA::i, and m_ctrl.

◆ sc_lv_base() [5/6]

template<class X >
sc_dt::sc_lv_base::sc_lv_base ( const sc_proxy< X > &  a)
inline

Definition at line 148 of file sc_lv_base.hh.

◆ sc_lv_base() [6/6]

sc_dt::sc_lv_base::sc_lv_base ( const sc_lv_base a)

Definition at line 180 of file sc_lv_base.cc.

◆ ~sc_lv_base()

virtual sc_dt::sc_lv_base::~sc_lv_base ( )
inlinevirtual

Definition at line 158 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

Member Function Documentation

◆ assign_from_string()

void sc_dt::sc_lv_base::assign_from_string ( const std::string &  s)
private

Definition at line 145 of file sc_lv_base.cc.

◆ clean_tail()

void sc_dt::sc_lv_base::clean_tail ( )
inline

◆ get_bit()

sc_lv_base::value_type sc_dt::sc_lv_base::get_bit ( int  i) const
inline

Definition at line 305 of file sc_lv_base.hh.

◆ get_cword()

sc_digit sc_dt::sc_lv_base::get_cword ( int  wi) const
inline

Definition at line 282 of file sc_lv_base.hh.

◆ get_word()

sc_digit sc_dt::sc_lv_base::get_word ( int  wi) const
inline

Definition at line 269 of file sc_lv_base.hh.

References PowerISA::bi, ArmISA::i, m_data, sc_dt::SC_DIGIT_ONE, and sc_dt::SC_DIGIT_SIZE.

◆ init()

void sc_dt::sc_lv_base::init ( int  length_,
const sc_logic init_value = SC_LOGIC_X 
)
private

Definition at line 121 of file sc_lv_base.cc.

References ArmISA::c, sc_dt::sc_logic::char_to_logic, ArmISA::i, ArmISA::s, and set_bit().

◆ is_01()

bool sc_dt::sc_lv_base::is_01 ( ) const

Definition at line 202 of file sc_lv_base.cc.

◆ length()

int sc_dt::sc_lv_base::length ( ) const
inline

◆ operator=() [1/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const bool *  a)
inline

Definition at line 179 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [2/15]

sc_lv_base & sc_dt::sc_lv_base::operator= ( const char *  a)

Definition at line 194 of file sc_lv_base.cc.

◆ operator=() [3/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_int_base a)
inline

Definition at line 214 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [4/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_logic a)
inline

Definition at line 186 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [5/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_lv_base a)
inline

Definition at line 170 of file sc_lv_base.hh.

◆ operator=() [6/15]

template<class X >
sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_proxy< X > &  a)
inline

Definition at line 163 of file sc_lv_base.hh.

Referenced by sc_dt::sc_lv< W >::sc_lv().

◆ operator=() [7/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_signed a)
inline

Definition at line 200 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [8/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_uint_base a)
inline

Definition at line 207 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [9/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( const sc_unsigned a)
inline

Definition at line 193 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ operator=() [10/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( int  a)
inline

Definition at line 242 of file sc_lv_base.hh.

References m_data, m_size, sc_assert, and MipsISA::w.

◆ operator=() [11/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( int64  a)
inline

Definition at line 256 of file sc_lv_base.hh.

◆ operator=() [12/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( long  a)
inline

Definition at line 228 of file sc_lv_base.hh.

References m_len.

◆ operator=() [13/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( uint64  a)
inline

Definition at line 249 of file sc_lv_base.hh.

References m_ctrl, m_size, sc_assert, and MipsISA::w.

◆ operator=() [14/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( unsigned int  a)
inline

Definition at line 235 of file sc_lv_base.hh.

References m_data.

◆ operator=() [15/15]

sc_lv_base& sc_dt::sc_lv_base::operator= ( unsigned long  a)
inline

Definition at line 221 of file sc_lv_base.hh.

References ArmISA::a, and sc_dt::sc_proxy< sc_lv_base >::assign_().

◆ set_bit()

void sc_dt::sc_lv_base::set_bit ( int  i,
value_type  value 
)
inline

Definition at line 314 of file sc_lv_base.hh.

References ArmISA::a.

Referenced by init().

◆ set_cword()

void sc_dt::sc_lv_base::set_cword ( int  wi,
sc_digit  w 
)
inline

Definition at line 285 of file sc_lv_base.hh.

◆ set_word()

void sc_dt::sc_lv_base::set_word ( int  wi,
sc_digit  w 
)
inline

Definition at line 276 of file sc_lv_base.hh.

◆ size()

int sc_dt::sc_lv_base::size ( ) const
inline

Definition at line 264 of file sc_lv_base.hh.

Friends And Related Function Documentation

◆ sc_bv_base

friend class sc_bv_base
friend

Definition at line 120 of file sc_lv_base.hh.

Member Data Documentation

◆ m_ctrl

sc_digit* sc_dt::sc_lv_base::m_ctrl
protected

Definition at line 299 of file sc_lv_base.hh.

Referenced by operator=(), and sc_lv_base().

◆ m_data

sc_digit* sc_dt::sc_lv_base::m_data
protected

Definition at line 298 of file sc_lv_base.hh.

Referenced by get_word(), and operator=().

◆ m_len

int sc_dt::sc_lv_base::m_len
protected

Definition at line 296 of file sc_lv_base.hh.

Referenced by operator=().

◆ m_size

int sc_dt::sc_lv_base::m_size
protected

Definition at line 297 of file sc_lv_base.hh.

Referenced by operator=().


The documentation for this class was generated from the following files:

Generated on Wed Sep 30 2020 14:03:10 for gem5 by doxygen 1.8.17