Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Public Attributes | Protected Attributes | List of all members
CLKDevice Class Reference

#include <clkdevice.h>

Inheritance diagram for CLKDevice:
Collaboration diagram for CLKDevice:

Public Member Functions

 SR_HAS_SIGNALS (CLKDevice)
 
 CLKDevice ()
 
virtual ~CLKDevice ()
 
virtual void onrst (const bool &value, const sc_core::sc_time &time)
 
virtual void onclk (const sc_core::sc_time &value, const sc_core::sc_time &time)
 
void set_clk (sc_core::sc_clock &clk)
 
void set_clk (sc_core::sc_time period)
 
void set_clk (double period, sc_core::sc_time_unit base)
 
virtual void dorst ()
 
virtual void clkcng ()
 

Public Attributes

signal< bool >::in rst
 Reset input signal. More...
 
signal< sc_core::sc_time >::in clk
 Clock input signal. More...
 

Protected Attributes

sc_core::sc_time clock_cycle
 

Detailed Description

The class CLKDevice is used to consistently distribute clock/timing and reset amongst all IPs of the library. Devices that inherit from CLKDevice receive two SignalKit inputs: clk and rst. If the child requires reset behavior, it may implement the virtual function dorst(), which is triggered by the rst input. Moreover, CLKDevice provides a data member „clock_cycle“, which can be used by the child to determine the clock period for delay calculations. The value of clock_cycle is set by connecting a sc_time SignalKit signal to the clk input or by calling one of the various set_clk functions of the class.

Member Function Documentation

virtual void CLKDevice::clkcng ( )
inlinevirtual

Reimplemented in Leon3Processor, mmu_cache_base, Leon3, AMBABasePlatform, and AHBIn.

Referenced by onclk(), and set_clk().

CLKDevice::SR_HAS_SIGNALS ( CLKDevice  )

Member Data Documentation

signal<sc_core::sc_time>::in CLKDevice::clk

Clock input signal.

sc_core::sc_time CLKDevice::clock_cycle
protected
signal<bool>::in CLKDevice::rst

Reset input signal.

Referenced by sc_main().


The documentation for this class was generated from the following files: