OpenASIP 2.2
|
Functions | |
std::vector< SimValue > | executeInstructionHelper (const char *opName, uint8_t width, const uint64_t *inputs, int inputsCount) |
Variables | |
constexpr unsigned | OPC_CUSTOM_0 = 0b0001011 |
constexpr unsigned | OPC_CUSTOM_1 = 0b0101011 |
std::map< std::string, int > | customOps = {} |
std::unique_ptr< OperationPool > | pool = nullptr |
std::vector< SimValue > RISCVInstructionExecutor::executeInstructionHelper | ( | const char * | opName, |
uint8_t | width, | ||
const uint64_t * | inputs, | ||
int | inputsCount | ||
) |
Helper function that executes an OSAL instruction.
Takes in the opName, instruction width, and the inputs, and returns the output vector.
opName | operation to be executed |
width | instruction width (typically 32 or 64) |
inputs | array of input values |
inputsCount | number of values in the inputs array |
Definition at line 61 of file RISCVInstructionExecutor.cc.
References Operation::behavior(), OperationBehavior::createState(), OperationBehavior::deleteState(), NullOperation::instance(), NullOperationBehavior::instance(), Operation::numberOfInputs(), Operation::numberOfOutputs(), pool, OperationBehavior::simulateTrigger(), and THROW_EXCEPTION.
Referenced by executeInstruction32(), and executeInstruction64().
std::map<std::string, int> RISCVInstructionExecutor::customOps = {} |
Definition at line 45 of file RISCVInstructionExecutor.cc.
Referenced by initializeMachine(), resetMachine(), and unpackInstruction().
|
constexpr |
Definition at line 42 of file RISCVInstructionExecutor.cc.
Referenced by unpackInstruction().
|
constexpr |
Definition at line 43 of file RISCVInstructionExecutor.cc.
Referenced by unpackInstruction().
std::unique_ptr<OperationPool> RISCVInstructionExecutor::pool = nullptr |
Definition at line 46 of file RISCVInstructionExecutor.cc.
Referenced by executeInstructionHelper(), initializeMachine(), and resetMachine().