11#ifndef ETISS_RV32IMACFDArch_RV32IMACFDARCHSPECIFICIMP_H_
12#define ETISS_RV32IMACFDArch_RV32IMACFDARCHSPECIFICIMP_H_
17#include "etiss/jit/CPU.h"
38 std::string(
"X") +
etiss::toString(gprid),
39 std::string(
"X") +
etiss::toString(gprid),
68 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
76 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
92 std::string(
"F")+
etiss::toString(gprid),
93 std::string(
"F")+
etiss::toString(gprid),
121 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
129 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
146 std::string(
"CSR")+
etiss::toString(gprid),
147 std::string(
"CSR")+
etiss::toString(gprid),
175 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
183 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
198 "instructionPointer",
199 "instructionPointer",
213 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
221 assert((offset == 0 || (offset < (
bitwidth_ /
sizeof(
uint64_t)))) &&
"Virtualstruct field offset out of range");
contains container classes to store instruction definitions + translation functions and build a trans...
void RV32IMACFD_csr_write(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr, etiss_uint32 val)
etiss_uint32 RV32IMACFD_csr_read(ETISS_CPU *const cpu, ETISS_System *const system, void *const *const plugin_pointers, etiss_uint32 csr)
static __inline__ uint64_t
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~CSRField_RV32IMACFD()
CSRField_RV32IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
CSRField_RV32IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~FloatRegField_RV32IMACFD()
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
FloatRegField_RV32IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
FloatRegField_RV32IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
Generated on Fri, 19 Jun 2026 11:48:00 +0000.
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
RegField_RV32IMACFD(etiss::VirtualStruct &parent, std::string name, unsigned gprid)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual ~RegField_RV32IMACFD()
RegField_RV32IMACFD(etiss::VirtualStruct &parent, unsigned gprid)
a Field instance represents e.g.
static const int W
write flag
Field(VirtualStruct &parent, const std::string &name, const std::string &prettyname, int flags, size_t width, size_t bitwidth=0)
const std::string name_
name of the field.
VirtualStruct & parent_
reference to parent virtual struct
static const int R
read flag
const size_t bitwidth_
width in bits
abstract representation of an module of a simulation which could be a embedded device of the cpu of a...
virtual ~pcField_RV32IMACFD()
pcField_RV32IMACFD(etiss::VirtualStruct &parent)
virtual void _write(uint64_t val, size_t offset)
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
virtual uint64_t _read(size_t offset) const
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
void log(Verbosity level, std::string msg)
write log message at the given level.
basic cpu state structure needed for execution of any cpu architecture.
Generated on Fri, 19 Jun 2026 11:48:00 +0000.