scc  2024.06
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_7operator= (const sc_logic_7 &a)=default
 
sc_logic_7operator&= (const sc_logic_7 &b)
 
sc_logic_7operator|= (const sc_logic_7 &b)
 
sc_logic_7operator^= (const sc_logic_7 &b)
 
const sc_logic_7 operator~ () const
 
sc_logic_7b_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 &, const sc_logic_7 &)
 
const sc_logic_7 operator| (const sc_logic_7 &, const sc_logic_7 &)
 
const sc_logic_7 operator^ (const sc_logic_7 &, const sc_logic_7 &)
 
bool operator== (const sc_logic_7 &, const sc_logic_7 &)
 
bool operator!= (const sc_logic_7 &, const sc_logic_7 &)
 

Detailed Description

Definition at line 51 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.

◆ 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: