Skip to content

Class simtix::uvm::FrontendGolden

ClassList > simtix > uvm > FrontendGolden

Inherits the following classes: simtix::sim::Clocked

Classes

Type Name
class Impl
struct Input
struct Output

Public Types

Type Name
typedef PipelinedSM::Param Param

Public Functions

Type Name
void AttachIMem (mem::MemoryInterface * imem)
FrontendGolden (const std::string & name, uint32_t cid, const ArchParam & p=kDefaultArchParam, const Param & pp=PipelinedSM::kDefaultParam)
std::optional< Output > Get ()
void Put (Input input)
~FrontendGolden () override

Public Functions inherited from simtix::sim::Clocked

See simtix::sim::Clocked

Type Name
Clocked (const std::string & name, TickPri pri=kDefaultPri)
Constructor for clocled.
const std::string & name () const
Get the name of the clocked object.
virtual ~Clocked ()

Protected Attributes

Type Name
std::unique_ptr< Impl > impl_

Protected Attributes inherited from simtix::sim::Clocked

See simtix::sim::Clocked

Type Name
std::string name_
TickPri pri_

Protected Static Attributes inherited from simtix::sim::Clocked

See simtix::sim::Clocked

Type Name
bool busy_ = true
std::map< TickPri, std::vector< Clocked * > > clocked_objs_map_
uint64_t cur_tick_ = 0

Protected Functions

Type Name
virtual bool HasPendingTasks () override
Checks if any registered clocked objects have pending tasks at the current tick.
virtual void Tick () override
Global tick function that advances the simulation by one cycle.

Protected Functions inherited from simtix::sim::Clocked

See simtix::sim::Clocked

Type Name
virtual bool HasPendingTasks () = 0
Checks if any registered clocked objects have pending tasks at the current tick.
virtual void Tick () = 0
Global tick function that advances the simulation by one cycle.

Protected Static Functions inherited from simtix::sim::Clocked

See simtix::sim::Clocked

Type Name
void Register (Clocked * c)
Register a clocked object to participate in tick-driven simulation.
void Unregister (Clocked * c)
Unregister a clocked object from tick-driven simulation.

Public Types Documentation

typedef Param

using simtix::uvm::FrontendGolden::Param =  PipelinedSM::Param;

Public Functions Documentation

function AttachIMem

void simtix::uvm::FrontendGolden::AttachIMem (
    mem::MemoryInterface * imem
) 

function FrontendGolden

explicit simtix::uvm::FrontendGolden::FrontendGolden (
    const std::string & name,
    uint32_t cid,
    const ArchParam & p=kDefaultArchParam,
    const Param & pp=PipelinedSM::kDefaultParam
) 

function Get

std::optional< Output > simtix::uvm::FrontendGolden::Get () 

function Put

void simtix::uvm::FrontendGolden::Put (
    Input input
) 

function ~FrontendGolden

simtix::uvm::FrontendGolden::~FrontendGolden () override

Protected Attributes Documentation

variable impl_

std::unique_ptr<Impl> simtix::uvm::FrontendGolden::impl_;

Protected Functions Documentation

function HasPendingTasks

Checks if any registered clocked objects have pending tasks at the current tick.

virtual bool simtix::uvm::FrontendGolden::HasPendingTasks () override

Returns:

True if there are pending tasks, false otherwise.

Implements simtix::sim::Clocked::HasPendingTasks


function Tick

Global tick function that advances the simulation by one cycle.

virtual void simtix::uvm::FrontendGolden::Tick () override

Call this function to drive all registered tick-driven objects.

Implements simtix::sim::Clocked::Tick



The documentation for this class was generated from the following file projects/simtix/include/simtix/uvm.h