gem5
v21.2.1.1
arch
arm
fastmodel
common
signal_sender.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Google, Inc.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are
6
* met: redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer;
8
* redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution;
11
* neither the name of the copyright holders nor the names of its
12
* contributors may be used to endorse or promote products derived from
13
* this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef __ARCH_ARM_FASTMODEL_COMMON_SIGNAL_SENDER_HH__
29
#define __ARCH_ARM_FASTMODEL_COMMON_SIGNAL_SENDER_HH__
30
31
#pragma GCC diagnostic push
32
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
33
#include <amba_pv.h>
34
#pragma GCC diagnostic pop
35
36
#include "
dev/intpin.hh
"
37
38
namespace
gem5
39
{
40
41
GEM5_DEPRECATED_NAMESPACE
(FastModel, fastmodel);
42
namespace
fastmodel
43
{
44
45
class
SignalSender
:
public
IntSinkPinBase
46
{
47
public
:
48
amba_pv::signal_master_port<bool>
signal_out
;
49
50
SignalSender
(
const
std::string &_name,
PortID
_id) :
51
IntSinkPinBase
(_name, _id, 0),
52
signal_out
((_name +
".sig"
).c_str())
53
{}
54
55
private
:
56
void
raiseOnDevice
()
override
{
signal_out
.set_state(
id
,
true
); }
57
void
lowerOnDevice
()
override
{
signal_out
.set_state(
id
,
false
); }
58
};
59
60
}
// namespace fastmodel
61
}
// namespace gem5
62
63
#endif // __ARCH_ARM_FASTMODEL_COMMON_SIGNAL_SENDER_HH__
gem5::PortID
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
Definition:
types.hh:252
gem5::fastmodel::SignalSender::lowerOnDevice
void lowerOnDevice() override
Definition:
signal_sender.hh:57
gem5::fastmodel::SignalSender::SignalSender
SignalSender(const std::string &_name, PortID _id)
Definition:
signal_sender.hh:50
gem5::fastmodel::SignalSender
Definition:
signal_sender.hh:45
gem5::fastmodel::SignalSender::signal_out
amba_pv::signal_master_port< bool > signal_out
Definition:
signal_sender.hh:48
gem5::GEM5_DEPRECATED_NAMESPACE
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
intpin.hh
gem5
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Definition:
tlb.cc:60
gem5::fastmodel::SignalSender::raiseOnDevice
void raiseOnDevice() override
Definition:
signal_sender.hh:56
gem5::IntSinkPinBase
Definition:
intpin.hh:38
Generated on Wed May 4 2022 12:13:46 for gem5 by
doxygen
1.8.17