28#ifndef __ARCH_ARM_FASTMODEL_PL330_PL330_HH__
29#define __ARCH_ARM_FASTMODEL_PL330_PL330_HH__
31#pragma GCC diagnostic push
32#pragma GCC diagnostic ignored "-Woverloaded-virtual"
35#pragma GCC diagnostic pop
45#include "params/FastModelPL330.hh"
46#include "scx_evs_PL330.h"
56class PL330 :
public scx_evs_PL330
68 std::array<std::vector<std::unique_ptr<IntSource>>, 32>
irqPort;
80 PL330(
const FastModelPL330Params ¶ms) :
89 scx_evs_PL330::end_of_elaboration();
90 scx_evs_PL330::start_of_simulation();
Ports are used to interface objects to each other.
std::vector< std::unique_ptr< IntSource > > irqAbortPort
PL330(const FastModelPL330Params ¶ms)
gem5::Port & gem5_getPort(const std::string &if_name, int idx=-1) override
std::array< std::vector< std::unique_ptr< IntSource > >, 32 > irqPort
ClockRateControlInitiatorSocket clockRateControl
void end_of_elaboration() override
std::vector< std::unique_ptr< SignalReceiver > > irqReceiver
PL330(const FastModelPL330Params ¶ms, sc_core::sc_module_name _name)
void allocateIrq(int idx, int count)
void start_of_simulation() override
SignalReceiver irqAbortReceiver
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Tick
Tick count type.
const std::string & name()