scc 2025.09
SystemC components library
scc::dt::sc_logic_7 Class Reference

Public Member Functions

 sc_logic_7 (const sc_logic_7 &a)=default
 sc_logic_7 (sc_logic_7_value_t v)
 sc_logic_7 (bool a)
 sc_logic_7 (char a)
 sc_logic_7 (int a)
 sc_logic_7 (const ::sc_dt::sc_bit &a)
sc_logic_7 & operator= (const sc_logic_7 &a)=default
sc_logic_7 & operator&= (const sc_logic_7 &b)
sc_logic_7 & operator|= (const sc_logic_7 &b)
sc_logic_7 & operator^= (const sc_logic_7 &b)
const sc_logic_7 operator~ () const
sc_logic_7 & b_not ()
sc_logic_7_value_t value () const
bool is_01 () const
bool to_bool () const
char to_char () const
void print (::std::ostream &os=::std::cout) const
void scan (::std::istream &is=::std::cin)

Static Public Member Functions

static void * operator new (std::size_t, void *p)
static void * operator new (std::size_t sz)
static void operator delete (void *p, std::size_t sz)
static void * operator new[] (std::size_t sz)
static void operator delete[] (void *p, std::size_t sz)

Static Public Attributes

static std::array< const sc_logic_7_value_t, 128 > char_to_logic
static std::array< const char, 7 > logic_to_char = {{'0', '1', 'L', 'H', 'Z', 'X', 'U'}}
static std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > and_table
static std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > or_table
static std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > xor_table
static std::array< const sc_logic_7_value_t, 7 > not_table = {{Log_1, Log_0, Log_H, Log_L, Log_X, Log_X, Log_X}}

Friends

const sc_logic_7 operator& (const sc_logic_7 &a, const sc_logic_7 &b)
const sc_logic_7 operator| (const sc_logic_7 &a, const sc_logic_7 &b)
const sc_logic_7 operator^ (const sc_logic_7 &a, const sc_logic_7 &b)
bool operator== (const sc_logic_7 &a, const sc_logic_7 &b)
bool operator!= (const sc_logic_7 &a, const sc_logic_7 &b)

Detailed Description

Definition at line 51 of file sc_logic_7.h.

Constructor & Destructor Documentation

◆ sc_logic_7() [1/5]

scc::dt::sc_logic_7::sc_logic_7 ( sc_logic_7_value_t v)
inline

Definition at line 108 of file sc_logic_7.h.

◆ sc_logic_7() [2/5]

scc::dt::sc_logic_7::sc_logic_7 ( bool a)
inlineexplicit

Definition at line 111 of file sc_logic_7.h.

◆ sc_logic_7() [3/5]

scc::dt::sc_logic_7::sc_logic_7 ( char a)
inlineexplicit

Definition at line 114 of file sc_logic_7.h.

◆ sc_logic_7() [4/5]

scc::dt::sc_logic_7::sc_logic_7 ( int a)
inlineexplicit

Definition at line 117 of file sc_logic_7.h.

◆ sc_logic_7() [5/5]

scc::dt::sc_logic_7::sc_logic_7 ( const ::sc_dt::sc_bit & a)
inlineexplicit

Definition at line 120 of file sc_logic_7.h.

Member Function Documentation

◆ b_not()

sc_logic_7 & scc::dt::sc_logic_7::b_not ( )
inline

Definition at line 182 of file sc_logic_7.h.

◆ is_01()

bool scc::dt::sc_logic_7::is_01 ( ) const
inline

Definition at line 191 of file sc_logic_7.h.

◆ operator delete()

void scc::dt::sc_logic_7::operator delete ( void * p,
std::size_t sz )
inlinestatic

Definition at line 217 of file sc_logic_7.h.

◆ operator delete[]()

void scc::dt::sc_logic_7::operator delete[] ( void * p,
std::size_t sz )
inlinestatic

Definition at line 221 of file sc_logic_7.h.

◆ operator new() [1/2]

void * scc::dt::sc_logic_7::operator new ( std::size_t sz)
inlinestatic

Definition at line 215 of file sc_logic_7.h.

◆ operator new() [2/2]

void * scc::dt::sc_logic_7::operator new ( std::size_t ,
void * p )
inlinestatic

Definition at line 210 of file sc_logic_7.h.

◆ operator new[]()

void * scc::dt::sc_logic_7::operator new[] ( std::size_t sz)
inlinestatic

Definition at line 219 of file sc_logic_7.h.

◆ operator&=()

sc_logic_7 & scc::dt::sc_logic_7::operator&= ( const sc_logic_7 & b)
inline

Definition at line 144 of file sc_logic_7.h.

◆ operator^=()

sc_logic_7 & scc::dt::sc_logic_7::operator^= ( const sc_logic_7 & b)
inline

Definition at line 154 of file sc_logic_7.h.

◆ operator|=()

sc_logic_7 & scc::dt::sc_logic_7::operator|= ( const sc_logic_7 & b)
inline

Definition at line 149 of file sc_logic_7.h.

◆ operator~()

const sc_logic_7 scc::dt::sc_logic_7::operator~ ( ) const
inline

Definition at line 180 of file sc_logic_7.h.

◆ print()

void scc::dt::sc_logic_7::print ( ::std::ostream & os = ::std::cout) const
inline

Definition at line 204 of file sc_logic_7.h.

◆ scan()

void scc::dt::sc_logic_7::scan ( ::std::istream & is = ::std::cin)

Definition at line 96 of file sc_logic_7.cpp.

◆ to_bool()

bool scc::dt::sc_logic_7::to_bool ( ) const
inline

Definition at line 193 of file sc_logic_7.h.

◆ to_char()

char scc::dt::sc_logic_7::to_char ( ) const
inline

Definition at line 200 of file sc_logic_7.h.

◆ value()

sc_logic_7_value_t scc::dt::sc_logic_7::value ( ) const
inline

Definition at line 189 of file sc_logic_7.h.

◆ operator!=

bool operator!= ( const sc_logic_7 & a,
const sc_logic_7 & b )
friend

Definition at line 260 of file sc_logic_7.h.

◆ operator&

const sc_logic_7 operator& ( const sc_logic_7 & a,
const sc_logic_7 & b )
friend

Definition at line 236 of file sc_logic_7.h.

◆ operator==

bool operator== ( const sc_logic_7 & a,
const sc_logic_7 & b )
friend

Definition at line 258 of file sc_logic_7.h.

◆ operator^

const sc_logic_7 operator^ ( const sc_logic_7 & a,
const sc_logic_7 & b )
friend

Definition at line 240 of file sc_logic_7.h.

◆ operator|

const sc_logic_7 operator| ( const sc_logic_7 & a,
const sc_logic_7 & b )
friend

Definition at line 238 of file sc_logic_7.h.

Member Data Documentation

◆ and_table

std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > scc::dt::sc_logic_7::and_table
static
Initial value:
= {{
{Log_0, Log_0, Log_0, Log_0, Log_0, Log_0, Log_0},
{Log_0, Log_1, Log_L, Log_1, Log_X, Log_X, Log_X},
{Log_0, Log_L, Log_L, Log_L, Log_L, Log_L, Log_L},
{Log_0, Log_1, Log_L, Log_H, Log_X, Log_X, Log_X},
{Log_0, Log_X, Log_L, Log_X, Log_X, Log_X, Log_X},
{Log_0, Log_X, Log_L, Log_X, Log_X, Log_X, Log_X},
{Log_0, Log_X, Log_L, Log_X, Log_X, Log_X, Log_X}}}

Definition at line 97 of file sc_logic_7.h.

◆ char_to_logic

std::array< const sc_logic_7_value_t, 128 > scc::dt::sc_logic_7::char_to_logic
static
Initial value:
= {
{Log_0, Log_1, Log_L, Log_H, Log_Z, Log_X, Log_U, Log_X,
Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_0, Log_1, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_H, Log_X, Log_X, Log_X, Log_L, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_U, Log_X, Log_X,
Log_X, Log_X, Log_Z, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X,
Log_X, Log_X, Log_Z, Log_X, Log_X, Log_X, Log_X, Log_X}}

Definition at line 95 of file sc_logic_7.h.

◆ logic_to_char

std::array< const char, 7 > scc::dt::sc_logic_7::logic_to_char = {{'0', '1', 'L', 'H', 'Z', 'X', 'U'}}
static

Definition at line 96 of file sc_logic_7.h.

◆ not_table

std::array< const sc_logic_7_value_t, 7 > scc::dt::sc_logic_7::not_table = {{Log_1, Log_0, Log_H, Log_L, Log_X, Log_X, Log_X}}
static

Definition at line 100 of file sc_logic_7.h.

◆ or_table

std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > scc::dt::sc_logic_7::or_table
static
Initial value:
= {{
{Log_0, Log_1, Log_L, Log_H, Log_Z, Log_X, Log_U},
{Log_1, Log_1, Log_1, Log_1, Log_1, Log_1, Log_1},
{Log_L, Log_1, Log_L, Log_H, Log_Z, Log_X, Log_U},
{Log_H, Log_1, Log_H, Log_H, Log_H, Log_H, Log_H},
{Log_Z, Log_1, Log_Z, Log_H, Log_X, Log_X, Log_X},
{Log_X, Log_1, Log_X, Log_H, Log_X, Log_X, Log_X},
{Log_U, Log_1, Log_U, Log_H, Log_X, Log_X, Log_X}}}

Definition at line 98 of file sc_logic_7.h.

◆ xor_table

std::array< std::array< const sc_logic_7_value_t, 7 >, 7 > scc::dt::sc_logic_7::xor_table
static
Initial value:
= {{
{Log_0, Log_1, Log_0, Log_1, Log_X, Log_X, Log_X},
{Log_1, Log_0, Log_1, Log_0, Log_X, Log_X, Log_X},
{Log_0, Log_1, Log_H, Log_L, Log_X, Log_X, Log_X},
{Log_1, Log_0, Log_L, Log_H, Log_X, Log_X, Log_X},
{Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X},
{Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X},
{Log_X, Log_X, Log_X, Log_X, Log_X, Log_X, Log_X}}}

Definition at line 99 of file sc_logic_7.h.


The documentation for this class was generated from the following files:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/sysc/scc/sc_logic_7.h
  • /home/eyck/Projects/MINRES/SystemC-Components/src/sysc/scc/sc_logic_7.cpp