gem5  v22.0.0.1
Classes | Namespaces | Macros | Functions
sc_lv_base.hh File Reference
#include "../int/sc_length_param.hh"
#include "sc_bv_base.hh"
#include "sc_logic.hh"

Go to the source code of this file.

Classes

class  sc_dt::sc_lv_base
 

Namespaces

 sc_dt
 

Macros

#define DEFN_BITWISE_AND_ASN_OP_T(tp)
 
#define DEFN_BITWISE_AND_OP_T_A(tp)
 
#define DEFN_BITWISE_AND_OP_T_B(tp)
 
#define DEFN_BITWISE_OR_ASN_OP_T(tp)
 
#define DEFN_BITWISE_OR_OP_T_A(tp)
 
#define DEFN_BITWISE_OR_OP_T_B(tp)
 
#define DEFN_BITWISE_XOR_ASN_OP_T(tp)
 
#define DEFN_BITWISE_XOR_OP_T_A(tp)
 
#define DEFN_BITWISE_XOR_OP_T_B(tp)
 
#define DEFN_REL_OP_T(tp)
 

Functions

template<class X , class Y >
X & sc_dt::operator&= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
const sc_lv_base sc_dt::operator& (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::operator|= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
const sc_lv_base sc_dt::operator| (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::operator^= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
const sc_lv_base sc_dt::operator^ (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X >
const sc_lv_base sc_dt::lrotate (const sc_proxy< X > &x, int n)
 
template<class X >
const sc_lv_base sc_dt::rrotate (const sc_proxy< X > &x, int n)
 
template<class X >
const sc_lv_base sc_dt::reverse (const sc_proxy< X > &x)
 
template<class X , class Y >
bool sc_dt::operator== (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::operator, (sc_bitref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::operator, (const char *, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::operator, (sc_bitref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::operator, (const sc_logic &, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_bv_base > sc_dt::operator, (sc_bitref_r< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base, sc_bitref_r< T > > sc_dt::operator, (bool a, sc_bitref_r< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::concat (sc_bitref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::concat (const char *, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::concat (sc_bitref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::concat (const sc_logic &, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_bv_base > sc_dt::concat (sc_bitref_r< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base, sc_bitref_r< T > > sc_dt::concat (bool a, sc_bitref_r< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::operator, (sc_bitref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::operator, (const char *, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::operator, (sc_bitref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::operator, (const sc_logic &, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_bv_base > sc_dt::operator, (sc_bitref< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base, sc_bitref_r< T > > sc_dt::operator, (bool a, sc_bitref< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::concat (sc_bitref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::concat (const char *, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_lv_base > sc_dt::concat (sc_bitref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_bitref_r< T > > sc_dt::concat (const sc_logic &, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >, sc_bv_base > sc_dt::concat (sc_bitref< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base, sc_bitref_r< T > > sc_dt::concat (bool a, sc_bitref< T > b)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::operator, (sc_subref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::operator, (const char *, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::operator, (sc_subref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::operator, (const sc_logic &, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_bv_base > sc_dt::operator, (sc_subref_r< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base, sc_subref_r< T > > sc_dt::operator, (bool, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::concat (sc_subref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::concat (const char *, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::concat (sc_subref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::concat (const sc_logic &, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_bv_base > sc_dt::concat (sc_subref_r< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base, sc_subref_r< T > > sc_dt::concat (bool, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::operator, (sc_subref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::operator, (const char *, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::operator, (sc_subref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::operator, (const sc_logic &, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_bv_base > sc_dt::operator, (sc_subref< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base, sc_subref_r< T > > sc_dt::operator, (bool, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::concat (sc_subref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::concat (const char *, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_lv_base > sc_dt::concat (sc_subref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, sc_subref_r< T > > sc_dt::concat (const sc_logic &, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >, sc_bv_base > sc_dt::concat (sc_subref< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base, sc_subref_r< T > > sc_dt::concat (bool, sc_subref< T >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::operator, (sc_concref_r< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (const char *, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::operator, (sc_concref_r< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (const sc_logic &, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_bv_base > sc_dt::operator, (sc_concref_r< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (bool, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::concat (sc_concref_r< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::concat (const char *, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::concat (sc_concref_r< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::concat (const sc_logic &, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_bv_base > sc_dt::concat (sc_concref_r< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base, sc_concref_r< T1, T2 > > sc_dt::concat (bool, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::operator, (sc_concref< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (const char *, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::operator, (sc_concref< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (const sc_logic &, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_bv_base > sc_dt::operator, (sc_concref< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base, sc_concref_r< T1, T2 > > sc_dt::operator, (bool, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::concat (sc_concref< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::concat (const char *, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_lv_base > sc_dt::concat (sc_concref< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base, sc_concref_r< T1, T2 > > sc_dt::concat (const sc_logic &, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1, T2 >, sc_bv_base > sc_dt::concat (sc_concref< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base, sc_concref_r< T1, T2 > > sc_dt::concat (bool, sc_concref< T1, T2 >)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (const sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const char *, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (const sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const sc_logic &, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::operator, (const sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::operator, (bool, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (const sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const char *, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (const sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const sc_logic &, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::concat (const sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::concat (bool, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const char *, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const sc_logic &, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::operator, (sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::operator, (bool, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const char *, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const sc_logic &, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::concat (sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::concat (bool, sc_proxy< T > &)
 

Macro Definition Documentation

◆ DEFN_BITWISE_AND_ASN_OP_T

#define DEFN_BITWISE_AND_ASN_OP_T (   tp)
Value:
template <class X> \
inline X & \
sc_proxy<X>::operator &= (tp b) \
{ \
X &x = back_cast(); \
sc_lv_base a(x.length()); \
a = b; \
return b_and_assign_(x, a); \
}

Definition at line 367 of file sc_lv_base.hh.

◆ DEFN_BITWISE_AND_OP_T_A

#define DEFN_BITWISE_AND_OP_T_A (   tp)
Value:
template <class X> \
inline const sc_lv_base \
{ \
sc_lv_base a(back_cast()); \
return (a &= b); \
}

Definition at line 398 of file sc_lv_base.hh.

◆ DEFN_BITWISE_AND_OP_T_B

#define DEFN_BITWISE_AND_OP_T_B (   tp)
Value:
template <class X> \
inline const sc_lv_base \
operator & (tp b, const sc_proxy<X> &px) \
{ \
return (px & b); \
}

Definition at line 423 of file sc_lv_base.hh.

◆ DEFN_BITWISE_OR_ASN_OP_T

#define DEFN_BITWISE_OR_ASN_OP_T (   tp)
Value:
template <class X> \
inline X & \
sc_proxy<X>::operator |= (tp b) \
{ \
X &x = back_cast(); \
sc_lv_base a(x.length()); \
a = b; \
return b_or_assign_(x, a); \
}

Definition at line 458 of file sc_lv_base.hh.

◆ DEFN_BITWISE_OR_OP_T_A

#define DEFN_BITWISE_OR_OP_T_A (   tp)
Value:
template <class X> \
inline const sc_lv_base \
{ \
sc_lv_base a(back_cast()); \
return (a |= b); \
}

Definition at line 489 of file sc_lv_base.hh.

◆ DEFN_BITWISE_OR_OP_T_B

#define DEFN_BITWISE_OR_OP_T_B (   tp)
Value:
template <class X> \
inline const sc_lv_base \
operator | (tp b, const sc_proxy<X> &px) \
{ \
return (px | b); \
}

Definition at line 514 of file sc_lv_base.hh.

◆ DEFN_BITWISE_XOR_ASN_OP_T

#define DEFN_BITWISE_XOR_ASN_OP_T (   tp)
Value:
template <class X> \
inline X & \
sc_proxy<X>::operator ^= (tp b) \
{ \
X &x = back_cast(); \
sc_lv_base a(x.length()); \
a = b; \
return b_xor_assign_(x, a); \
}

Definition at line 549 of file sc_lv_base.hh.

◆ DEFN_BITWISE_XOR_OP_T_A

#define DEFN_BITWISE_XOR_OP_T_A (   tp)
Value:
template <class X> \
inline const sc_lv_base \
{ \
sc_lv_base a(back_cast()); \
return (a ^= b); \
}

Definition at line 580 of file sc_lv_base.hh.

◆ DEFN_BITWISE_XOR_OP_T_B

#define DEFN_BITWISE_XOR_OP_T_B (   tp)
Value:
template <class X> \
inline const sc_lv_base \
operator ^ (tp b, const sc_proxy<X> &px) \
{ \
return (px ^ b); \
}

Definition at line 605 of file sc_lv_base.hh.

◆ DEFN_REL_OP_T

#define DEFN_REL_OP_T (   tp)
Value:
template <class X> \
inline bool \
{ \
const X &x = back_cast(); \
sc_lv_base y(x.length()); \
y = b; \
return (x == y); \
}

Definition at line 745 of file sc_lv_base.hh.

sc_dt::b_and_assign_
X & b_and_assign_(sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_proxy.hh:975
sc_dt::b_xor_assign_
X & b_xor_assign_(sc_proxy< X > &a, const sc_proxy< Y > &b)
Definition: sc_proxy.hh:1017
gem5::ArmISA::a
Bitfield< 8 > a
Definition: misc_types.hh:66
sc_dt::operator&
const sc_lv_base operator&(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.hh:392
sc_dt::operator^
const sc_lv_base operator^(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.hh:574
gem5::ArmISA::b
Bitfield< 7 > b
Definition: misc_types.hh:382
sc_dt::operator==
bool operator==(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.hh:726
sc_dt::b_or_assign_
X & b_or_assign_(sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_proxy.hh:996
gem5::VegaISA::x
Bitfield< 4 > x
Definition: pagetable.hh:61
sc_dt::operator|
const sc_lv_base operator|(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.hh:483
gem5::MipsISA::px
Bitfield< 23 > px
Definition: pra_constants.hh:116
gem5::X86ISA::X
Bitfield< 15, 0 > X
Definition: int.hh:57

Generated on Sat Jun 18 2022 08:12:54 for gem5 by doxygen 1.8.17