ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Namespaces | Classes | Functions
etiss::interfaces Namespace Reference

Namespaces

 dot
 

Classes

class  Delegate
 
class  SimpleInstructionInjector
 
class  Dot
 
class  VCD
 
struct  dependent_false
 simple helper struct to trigger static_assert only if the template is instantiated More...
 
class  WishboneSignalMap
 
class  WishboneBus
 connects a wishbone bus interface implemented with the variables of WishboneSignalMap to a ETISS_System structure. More...
 

Functions

template<typename T , unsigned align>
CONSTEXPRswapBitOrder (T t)
 
template<>
CONSTEXPR uint32_t swapBitOrder< uint32_t, 4 > (uint32_t t)
 
template<typename T , bool(Delegate::*)(bool ibus, uint64_t &time_ps, uint64_t addr, uint8_t *buf, unsigned len) rwop, unsigned bytewidth, bool swapBitOrder_ = false>
bool sel_rwop (Delegate &delg, bool ibus, uint64_t &time_ps, uint64_t addr, uint8_t *buf, T sel_i)
 this function handles read writes in case of busses that have a fixed output with and a select signal like e.g. More...
 
template<typename BOOLSIG >
bool getBool (etiss::CPUCore &core, BOOLSIG &sig)
 general helper function to read a signal; needs to be implemented as needed More...
 
template<typename BOOLSIG >
void setBool (etiss::CPUCore &core, BOOLSIG &sig, bool val)
 general helper function to set a signal; needs to be implemented as needed More...
 
template<typename VECTORSIG >
uint64_t getAddr (etiss::CPUCore &core, VECTORSIG &sig, bool instrBus)
 general helper function to read an address; needs to be implemented as needed More...
 
template<typename VECTORSIGSTORAGETYPE , typename VECTORSIG >
VECTORSIGSTORAGETYPE getData (etiss::CPUCore &core, VECTORSIG &sig)
 general helper function to read a signal; needs to be implemented as needed More...
 
template<typename VECTORSIGSTORAGETYPE , typename VECTORSIG >
void setData (etiss::CPUCore &core, VECTORSIG &sig, VECTORSIGSTORAGETYPE val)
 general helper function to set a signal; needs to be implemented as needed More...
 
template<typename SELSIG >
uint32_t getSel (etiss::CPUCore &core, SELSIG &sel_i)
 general helper function to read a vector signal; needs to be implemented as needed More...
 
static std::string depth (Dot::Node *node)
 
static std::string graph_getCluster (Dot::Graph *g)
 
static std::string node_getCluster (Dot::Node *n)
 
static bool graph_contains (Dot::Graph *g, Dot::Node *n)
 
static std::string val2str (uint64_t val, unsigned width, uint64_t udef)
 TODO efficient implementation. More...
 
static std::string index2str (int index)
 generated an identifier for the given index More...
 

Function Documentation

◆ depth()

static std::string etiss::interfaces::depth ( Dot::Node node)
static

◆ getAddr()

template<typename VECTORSIG >
uint64_t etiss::interfaces::getAddr ( etiss::CPUCore core,
VECTORSIG &  sig,
bool  instrBus 
)

general helper function to read an address; needs to be implemented as needed

Definition at line 95 of file Wishbone.h.

References static_assert.

Referenced by etiss::interfaces::WishboneBus< BOOLSIG, VECTORSIG, instrBus, flipEndianess, bytewidth, VECTORSIGSTORAGETYPE >::update().

Here is the caller graph for this function:

◆ getBool()

template<typename BOOLSIG >
bool etiss::interfaces::getBool ( etiss::CPUCore core,
BOOLSIG &  sig 
)

general helper function to read a signal; needs to be implemented as needed

Definition at line 76 of file Wishbone.h.

References static_assert.

Referenced by etiss::interfaces::WishboneBus< BOOLSIG, VECTORSIG, instrBus, flipEndianess, bytewidth, VECTORSIGSTORAGETYPE >::update().

Here is the caller graph for this function:

◆ getData()

template<typename VECTORSIGSTORAGETYPE , typename VECTORSIG >
VECTORSIGSTORAGETYPE etiss::interfaces::getData ( etiss::CPUCore core,
VECTORSIG &  sig 
)

general helper function to read a signal; needs to be implemented as needed

Definition at line 105 of file Wishbone.h.

References static_assert.

◆ getSel()

template<typename SELSIG >
uint32_t etiss::interfaces::getSel ( etiss::CPUCore core,
SELSIG &  sel_i 
)

general helper function to read a vector signal; needs to be implemented as needed

Definition at line 124 of file Wishbone.h.

References static_assert.

Referenced by etiss::interfaces::WishboneBus< BOOLSIG, VECTORSIG, instrBus, flipEndianess, bytewidth, VECTORSIGSTORAGETYPE >::update().

Here is the caller graph for this function:

◆ graph_contains()

static bool etiss::interfaces::graph_contains ( Dot::Graph g,
Dot::Node n 
)
static

Definition at line 923 of file Dot.cpp.

References etiss::interfaces::Dot::Node::parent_.

Referenced by etiss::interfaces::Dot::Graph::print().

Here is the caller graph for this function:

◆ graph_getCluster()

static std::string etiss::interfaces::graph_getCluster ( Dot::Graph g)
static

Definition at line 883 of file Dot.cpp.

References etiss::interfaces::Dot::AttrList::label_, and etiss::interfaces::Dot::Node::parent_.

Referenced by node_getCluster().

Here is the caller graph for this function:

◆ index2str()

static std::string etiss::interfaces::index2str ( int  index)
static

generated an identifier for the given index

Definition at line 78 of file VCD.cpp.

Referenced by etiss::interfaces::VCD::declare().

Here is the caller graph for this function:

◆ node_getCluster()

static std::string etiss::interfaces::node_getCluster ( Dot::Node n)
static

Definition at line 893 of file Dot.cpp.

References graph_getCluster(), and etiss::interfaces::Dot::Node::parent_.

Referenced by etiss::interfaces::Dot::Node::print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sel_rwop()

template<typename T , bool(Delegate::*)(bool ibus, uint64_t &time_ps, uint64_t addr, uint8_t *buf, unsigned len) rwop, unsigned bytewidth, bool swapBitOrder_ = false>
bool etiss::interfaces::sel_rwop ( Delegate delg,
bool  ibus,
uint64_t time_ps,
uint64_t  addr,
uint8_t buf,
sel_i 
)

this function handles read writes in case of busses that have a fixed output with and a select signal like e.g.

a wishbone bus

Definition at line 117 of file Delegate.h.

References ETISS_SRCLOC, etiss::FATALERROR, likely, etiss::log(), static_assert, and unlikely.

Here is the call graph for this function:

◆ setBool()

template<typename BOOLSIG >
void etiss::interfaces::setBool ( etiss::CPUCore core,
BOOLSIG &  sig,
bool  val 
)

general helper function to set a signal; needs to be implemented as needed

Definition at line 86 of file Wishbone.h.

References static_assert.

Referenced by etiss::interfaces::WishboneBus< BOOLSIG, VECTORSIG, instrBus, flipEndianess, bytewidth, VECTORSIGSTORAGETYPE >::update().

Here is the caller graph for this function:

◆ setData()

template<typename VECTORSIGSTORAGETYPE , typename VECTORSIG >
void etiss::interfaces::setData ( etiss::CPUCore core,
VECTORSIG &  sig,
VECTORSIGSTORAGETYPE  val 
)

general helper function to set a signal; needs to be implemented as needed

Definition at line 115 of file Wishbone.h.

References static_assert.

◆ swapBitOrder()

template<typename T , unsigned align>
CONSTEXPR T etiss::interfaces::swapBitOrder ( t)

◆ swapBitOrder< uint32_t, 4 >()

Definition at line 68 of file Delegate.h.

◆ val2str()

static std::string etiss::interfaces::val2str ( uint64_t  val,
unsigned  width,
uint64_t  udef 
)
static

TODO efficient implementation.

Definition at line 51 of file VCD.cpp.

Referenced by etiss::interfaces::VCD::declare(), and etiss::interfaces::VCD::flush().

Here is the caller graph for this function: