Transaction-Level Modeling Framework for Space Applications
#include <clkdevice.h>
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 |
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.
|
inlinevirtual |
Reimplemented in Leon3Processor, mmu_cache_base, Leon3, AMBABasePlatform, and AHBIn.
CLKDevice::SR_HAS_SIGNALS | ( | CLKDevice | ) |
signal<sc_core::sc_time>::in CLKDevice::clk |
Clock input signal.
|
protected |
Referenced by Irqmp::acknowledged_irq(), AHBCtrl::arbitrate(), AHBCtrl::b_transport(), GPCounter::calculate(), Irqmp::clear_write(), AMBABasePlatform::clkcng(), Leon3::clkcng(), mmu_cache_base::clkcng(), GPCounter::cycletime(), APBUART::data_read(), mmu_cache_base::exec_data(), APBCtrl::exec_func(), AHBOut::exec_func(), AHBProf::exec_func(), AHBMem::exec_func(), Mctrl::exec_func(), Irqmp::force_write(), AHBIn::gen_frame(), AHBOut::get_clock(), APBCtrl::get_clock(), AHBProf::get_clock(), AHBIn::get_clock(), AHBMem::get_clock(), Mctrl::get_clock(), mmu_cache_base::get_clock(), Irqmp::incomming_irq(), Mctrl::launch_sdram_command(), GPCounter::nextzero(), onclk(), Irqmp::pending_write(), MemoryPower::power_model(), AHBMem::power_model(), Irqmp::power_model(), APBCtrl::power_model(), Mctrl::power_model(), GPTimer::power_model(), mmu_cache_base::power_model(), GPTimer::scaler_read(), APBUART::send_irq(), set_clk(), GPCounter::ticking(), APBUART::uart_ticks(), and GPCounter::value_read().