OpenASIP 2.2
|
#include <RV32MicroCodeGenerator.hh>
Public Member Functions | |
RV32MicroCodeGenerator (const Machine &machine, const BinaryEncoding &bem, const std::string &entityName) | |
~RV32MicroCodeGenerator () | |
void | generateRTL (HDLTemplateInstantiator &instantiator, const std::string &fileDst) |
void | setBypassInstructionRegister (const bool &value) |
![]() | |
MicroCodeGenerator (const Machine &machine, const BinaryEncoding &bem, const std::string &entityName) | |
~MicroCodeGenerator ()=default | |
Private Member Functions | |
void | initializeOperations () |
void | findOperationSources () |
void | generateFUTargetProcess (std::ofstream &stream) |
void | addRs1ForwardingConditions (std::map< std::string, std::string > ops, std::unordered_map< std::string, InstructionBitVector * >(ProGe::RV32MicroCodeGenerator::*instructionFunc)(Port *p1, Port *p2) const, std::ofstream &stream) const |
void | addRs2ForwardingConditions (std::map< std::string, std::string > ops, std::unordered_map< std::string, InstructionBitVector * >(ProGe::RV32MicroCodeGenerator::*instructionFunc)(Port *p1, Port *p2) const, std::ofstream &stream) const |
std::string | generateOperationLatencyLogic (HDLTemplateInstantiator &instantiator) |
std::set< Port * > | operationPorts (const std::unordered_map< std::string, BaseFUPort * > &ports) const |
void | validateOperations () const |
FunctionUnit * | mapFunctionUnit (const std::string &operation) const |
void | addR1Ports (const std::string &opName) |
void | addR1RPorts (const std::string &opName) |
void | addRPorts (const std::string &opName) |
void | addIPorts (const std::string &opName) |
void | addSPorts (const std::string &opName) |
void | addBPorts (const std::string &opName) |
void | addUJPorts (const std::string &opName) |
void | findOperationPorts () |
void | connectRF () |
void | findRF () |
void | findBusWidths () |
bool | findConnectedBusses (Connection &rs1, Connection &rs2, Connection &rd, Connection &simm, const bool &forwarding) const |
std::unordered_map< std::string, InstructionBitVector * > | constructRInstructions (Port *src1, Port *src2) const |
std::unordered_map< std::string, InstructionBitVector * > | constructIInstructions (Port *src1, Port *src2) const |
std::unordered_map< std::string, InstructionBitVector * > | constructSInstructions (Port *src1, Port *src2) const |
std::unordered_map< std::string, InstructionBitVector * > | constructBInstructions (Port *src1, Port *src2) const |
std::unordered_map< std::string, InstructionBitVector * > | constructUJInstructions () const |
std::unordered_map< std::string, InstructionBitVector * > | constructR1RInstructions (Port *src1, Port *src2) const |
std::unordered_map< std::string, InstructionBitVector * > | constructR1Instructions (Port *src1, Port *src2) const |
void | addBitsToMap (std::unordered_map< std::string, InstructionBitVector * > instructions, const std::map< std::string, std::string > encodings, std::ofstream &stream) const |
void | generateMap (const std::string &dstDirectory) |
void | generateWrapper (HDLTemplateInstantiator &instantiator, const std::string &fileDst) |
void | generateNOP () |
void | throwOperationNotFoundError (const std::string &op) const |
void | throwTriggeringPortError (const BaseFUPort *port, const std::string &type) const |
void | throwInputPortError (const BaseFUPort *port, const std::string &type) const |
void | throwOutputPortError (const BaseFUPort *port, const std::string &type) const |
void | throwOperandCountError (const std::string &op, int required, int found) const |
Private Attributes | |
std::unordered_map< std::string, BaseFUPort * > | rs1Ports_ |
std::unordered_map< std::string, BaseFUPort * > | rs2Ports_ |
std::unordered_map< std::string, BaseFUPort * > | rdPorts_ |
std::unordered_map< std::string, BaseFUPort * > | simmPorts_ |
std::unordered_map< Port *, int > | sourcePortID_ |
std::unordered_map< Port *, std::vector< std::string > > | sourceOperationMap_ |
std::map< std::string, std::string > | rOperations_ |
std::map< std::string, std::string > | r1rOperations_ |
std::map< std::string, std::string > | r1Operations_ |
std::map< std::string, std::string > | iOperations_ |
std::map< std::string, std::string > | sOperations_ |
std::map< std::string, std::string > | bOperations_ |
std::map< std::string, std::string > | ujOperations_ |
std::vector< Bus * > | busses_ |
RegisterFile * | RF_ |
int | rs1BusWidth_ |
int | rs2BusWidth_ |
int | rdBusWidth_ |
int | simmBusWidth_ |
int | rs1BusStart_ |
int | rs2BusStart_ |
int | rdBusStart_ |
int | simmBusStart_ |
int | rs1RFStart_ |
int | rs2RFStart_ |
int | rdRFStart_ |
int | simmRFStart_ |
Bus * | rs1Bus_ |
Bus * | rs2Bus_ |
Bus * | rdBus_ |
Bus * | simmBus_ |
RFPort * | rs1RFPort_ |
RFPort * | rs2RFPort_ |
RFPort * | rdRFPort_ |
ProgramImageGenerator * | pig_ |
std::string | NOP_ |
bool | bypassInstructionRegister_ |
bool | hasForwarding_ |
bool | variableLengthOpLatency_ |
bool | eVariant_ |
bool | hasCustom0Operations_ |
Additional Inherited Members | |
![]() | |
const Machine * | machine_ |
const BinaryEncoding * | bem_ |
const std::string | entityName_ |
Definition at line 67 of file RV32MicroCodeGenerator.hh.
ProGe::RV32MicroCodeGenerator::RV32MicroCodeGenerator | ( | const Machine & | machine, |
const BinaryEncoding & | bem, | ||
const std::string & | entityName | ||
) |
Definition at line 81 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Machine::busNavigator(), busses_, connectRF(), TTAMachine::Machine::Navigator< ComponentType >::count(), findBusWidths(), findOperationPorts(), findOperationSources(), findRF(), generateNOP(), hasForwarding_, initializeOperations(), TTAMachine::Machine::Navigator< ComponentType >::item(), ProgramImageGenerator::loadBEM(), ProgramImageGenerator::loadMachine(), machine, pig_, and RV32_RTL_GEN_VERBOSE.
ProGe::RV32MicroCodeGenerator::~RV32MicroCodeGenerator | ( | ) |
|
private |
Definition at line 1077 of file RV32MicroCodeGenerator.cc.
References assert.
|
private |
Definition at line 437 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Port::isInput(), TTAMachine::FUPort::isTriggering(), mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rs1Ports_, rs2Ports_, simmPorts_, throwInputPortError(), throwOperandCountError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 408 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Machine::controlUnit(), TTAMachine::Port::isOutput(), ProGe::MicroCodeGenerator::machine_, mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rdPorts_, TTAMachine::ControlUnit::returnAddressPort(), rOperations_, rs1Ports_, simmPorts_, throwOperandCountError(), and throwOutputPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 394 of file RV32MicroCodeGenerator.cc.
References TTAMachine::FUPort::isTriggering(), mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rs1Ports_, throwOperandCountError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 375 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Port::isOutput(), TTAMachine::FUPort::isTriggering(), mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rdPorts_, rs1Ports_, throwOperandCountError(), throwOutputPortError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 341 of file RV32MicroCodeGenerator.cc.
References VectorTools::containsValue(), MapTools::containsValue(), TTAMachine::Port::isInput(), TTAMachine::Port::isOutput(), TTAMachine::FUPort::isTriggering(), MapTools::keyForValue(), mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rdPorts_, RISCVFields::RISCVMExtensionOperations, RISCVFields::RISCVOperationNameTable, rs1Ports_, rs2Ports_, simmPorts_, throwInputPortError(), throwOperandCountError(), throwOutputPortError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 1167 of file RV32MicroCodeGenerator.cc.
|
private |
Definition at line 1219 of file RV32MicroCodeGenerator.cc.
|
private |
Definition at line 483 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Port::isInput(), TTAMachine::FUPort::isTriggering(), mapFunctionUnit(), TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rs1Ports_, rs2Ports_, simmPorts_, throwInputPortError(), throwOperandCountError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 459 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Port::isOutput(), TTAMachine::FUPort::isTriggering(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), TTAMachine::HWOperation::port(), rdPorts_, TTAMachine::ControlUnit::returnAddressPort(), simmPorts_, throwOutputPortError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 594 of file RV32MicroCodeGenerator.cc.
References __func__, assert, ProGe::MicroCodeGenerator::Connection::bus, findConnectedBusses(), hasForwarding_, TTAMachine::Port::inputSocket(), TTAMachine::Port::outputSocket(), ProGe::MicroCodeGenerator::Connection::port, TTAMachine::BaseRegisterFile::port(), TTAMachine::Unit::portCount(), rdBus_, rdRFPort_, RF_, rs1Bus_, rs1RFPort_, rs2Bus_, rs2RFPort_, and simmBus_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 968 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), bOperations_, ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, rs1Bus_, rs1Ports_, rs2Bus_, rs2Ports_, simmBus_, simmPorts_, and TTAMachine::Bus::width().
Referenced by generateMap().
|
private |
Definition at line 860 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), iOperations_, mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, rdBus_, rdPorts_, rdRFPort_, rs1Bus_, rs1Ports_, simmBus_, simmPorts_, and TTAMachine::Bus::width().
Referenced by generateMap().
|
private |
Definition at line 831 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, r1Operations_, rs1Bus_, and rs1Ports_.
Referenced by generateMap().
|
private |
Definition at line 797 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, r1rOperations_, rdBus_, rdPorts_, rdRFPort_, rs1Bus_, and rs1Ports_.
Referenced by generateMap().
|
private |
Definition at line 752 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, rdBus_, rdPorts_, rdRFPort_, rOperations_, rs1Bus_, rs1Ports_, rs2Bus_, and rs2Ports_.
Referenced by generateMap().
|
private |
Definition at line 923 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, rs1Bus_, rs1Ports_, rs2Bus_, rs2Ports_, simmBus_, simmPorts_, sOperations_, and TTAMachine::Bus::width().
Referenced by generateMap().
|
private |
Definition at line 1013 of file RV32MicroCodeGenerator.cc.
References TTAProgram::Instruction::addMove(), CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), pig_, rdBus_, rdPorts_, rdRFPort_, rs1Bus_, rs1Ports_, rs1RFPort_, simmBus_, simmPorts_, ujOperations_, and TTAMachine::Bus::width().
|
private |
Definition at line 564 of file RV32MicroCodeGenerator.cc.
References assert, ProGe::MicroCodeGenerator::bem_, InstructionField::bitPosition(), MoveSlot::destinationField(), MoveSlot::hasDestinationField(), BinaryEncoding::moveSlot(), BinaryEncoding::moveSlotCount(), MoveSlot::name(), TTAMachine::Component::name(), rdBus_, rdBusStart_, rdBusWidth_, rdRFStart_, rs1Bus_, rs1BusStart_, rs1BusWidth_, rs1RFStart_, rs2Bus_, rs2BusStart_, rs2BusWidth_, rs2RFStart_, simmBus_, simmBusStart_, simmBusWidth_, simmRFStart_, MoveSlot::width(), and SlotField::width().
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 687 of file RV32MicroCodeGenerator.cc.
References ProGe::MicroCodeGenerator::Connection::bus, busses_, TTAMachine::Bus::immediateWidth(), MachineConnectivityCheck::isConnected(), operationPorts(), ProGe::MicroCodeGenerator::Connection::port, rdPorts_, rs1Ports_, rs2Ports_, and simmPorts_.
Referenced by connectRF().
|
private |
Definition at line 507 of file RV32MicroCodeGenerator.cc.
References addBPorts(), addIPorts(), addR1Ports(), addR1RPorts(), addRPorts(), addSPorts(), addUJPorts(), bOperations_, iOperations_, r1Operations_, r1rOperations_, rOperations_, sOperations_, and ujOperations_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 131 of file RV32MicroCodeGenerator.cc.
References rdPorts_, and sourceOperationMap_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 541 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Machine::Navigator< ComponentType >::count(), eVariant_, TTAMachine::Unit::inputPortCount(), TTAMachine::Machine::Navigator< ComponentType >::item(), ProGe::MicroCodeGenerator::machine_, TTAMachine::Unit::outputPortCount(), TTAMachine::Machine::registerFileNavigator(), RF_, TTAMachine::BaseRegisterFile::size(), TTAMachine::BaseRegisterFile::width(), and TTAMachine::RegisterFile::zeroRegister().
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 1094 of file RV32MicroCodeGenerator.cc.
References bOperations_, iOperations_, r1Operations_, r1rOperations_, rOperations_, sOperations_, sourceOperationMap_, sourcePortID_, and ujOperations_.
|
private |
Definition at line 1262 of file RV32MicroCodeGenerator.cc.
References constructBInstructions(), constructIInstructions(), constructR1Instructions(), constructR1RInstructions(), constructRInstructions(), constructSInstructions(), FileSystem::DIRECTORY_SEPARATOR, DS, and LicenseGenerator::generateMITLicense().
|
private |
Definition at line 532 of file RV32MicroCodeGenerator.cc.
References CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), NOP_, pig_, and BitVector::toString().
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 1433 of file RV32MicroCodeGenerator.cc.
References TTAMachine::HWOperation::latency(), TTAMachine::FunctionUnit::operation(), and HDLTemplateInstantiator::replacePlaceholder().
|
virtual |
Implements ProGe::MicroCodeGenerator.
Definition at line 1717 of file RV32MicroCodeGenerator.cc.
Referenced by DefaultICDecoderGenerator::generate().
|
private |
Definition at line 1495 of file RV32MicroCodeGenerator.cc.
References Environment::dataDirPath(), FileSystem::DIRECTORY_SEPARATOR, DS, HDLTemplateInstantiator::instantiateTemplateFile(), and HDLTemplateInstantiator::replacePlaceholder().
|
private |
Definition at line 142 of file RV32MicroCodeGenerator.cc.
References ProGe::MicroCodeGenerator::bem_, bOperations_, MapTools::containsKey(), InstructionFormat::encoding(), hasCustom0Operations_, BinaryEncoding::instructionFormat(), BinaryEncoding::instructionFormatCount(), iOperations_, InstructionFormat::name(), InstructionFormat::operationAtIndex(), InstructionFormat::operationCount(), BitVector::pushBack(), r1Operations_, r1rOperations_, RISCVFields::RISCV_B_TYPE_NAME, RISCVFields::RISCV_I_TYPE_NAME, RISCVFields::RISCV_J_TYPE_NAME, RISCVFields::RISCV_R1_TYPE_NAME, RISCVFields::RISCV_R1R_TYPE_NAME, RISCVFields::RISCV_R_TYPE_NAME, RISCVFields::RISCV_S_TYPE_NAME, RISCVFields::RISCV_U_TYPE_NAME, RISCVFields::RISCVOperationNameTable, rOperations_, sOperations_, BitVector::toString(), and ujOperations_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 280 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Machine::controlUnit(), TTAMachine::Machine::Navigator< ComponentType >::count(), TTAMachine::Machine::functionUnitNavigator(), TTAMachine::FunctionUnit::hasOperation(), TTAMachine::Machine::Navigator< ComponentType >::item(), ProGe::MicroCodeGenerator::machine_, and throwOperationNotFoundError().
Referenced by addBPorts(), addIPorts(), addR1Ports(), addR1RPorts(), addRPorts(), addSPorts(), addUJPorts(), constructBInstructions(), constructIInstructions(), constructR1Instructions(), constructR1RInstructions(), constructRInstructions(), constructSInstructions(), and constructUJInstructions().
|
private |
Definition at line 677 of file RV32MicroCodeGenerator.cc.
Referenced by findConnectedBusses().
void ProGe::RV32MicroCodeGenerator::setBypassInstructionRegister | ( | const bool & | value | ) |
Definition at line 1724 of file RV32MicroCodeGenerator.cc.
Referenced by DefaultICDecoderGenerator::generate().
|
private |
Definition at line 313 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Component::name(), TTAMachine::Port::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addBPorts(), addRPorts(), and addSPorts().
|
private |
Definition at line 331 of file RV32MicroCodeGenerator.cc.
References __func__.
Referenced by addBPorts(), addIPorts(), addR1Ports(), addR1RPorts(), addRPorts(), and addSPorts().
|
private |
Definition at line 296 of file RV32MicroCodeGenerator.cc.
References __func__.
Referenced by mapFunctionUnit(), and validateOperations().
|
private |
Definition at line 322 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Component::name(), TTAMachine::Port::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addIPorts(), addR1RPorts(), addRPorts(), and addUJPorts().
|
private |
Definition at line 303 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Component::name(), TTAMachine::Port::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addBPorts(), addR1Ports(), addR1RPorts(), addRPorts(), addSPorts(), and addUJPorts().
|
private |
Definition at line 236 of file RV32MicroCodeGenerator.cc.
References bOperations_, TTAMachine::Machine::hasOperation(), ProGe::MicroCodeGenerator::machine_, r1Operations_, r1rOperations_, rOperations_, sOperations_, throwOperationNotFoundError(), and ujOperations_.
|
private |
Definition at line 115 of file RV32MicroCodeGenerator.hh.
Referenced by constructBInstructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 186 of file RV32MicroCodeGenerator.hh.
Referenced by findConnectedBusses(), and RV32MicroCodeGenerator().
|
private |
Definition at line 219 of file RV32MicroCodeGenerator.hh.
|
private |
Definition at line 222 of file RV32MicroCodeGenerator.hh.
Referenced by findRF().
|
private |
Definition at line 223 of file RV32MicroCodeGenerator.hh.
Referenced by initializeOperations().
|
private |
Definition at line 220 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), and RV32MicroCodeGenerator().
|
private |
Definition at line 113 of file RV32MicroCodeGenerator.hh.
Referenced by constructIInstructions(), findOperationPorts(), generateFUTargetProcess(), and initializeOperations().
|
private |
Definition at line 218 of file RV32MicroCodeGenerator.hh.
Referenced by generateNOP().
|
private |
Definition at line 216 of file RV32MicroCodeGenerator.hh.
Referenced by constructBInstructions(), constructIInstructions(), constructR1Instructions(), constructR1RInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), generateNOP(), RV32MicroCodeGenerator(), and ~RV32MicroCodeGenerator().
|
private |
Definition at line 112 of file RV32MicroCodeGenerator.hh.
Referenced by constructR1Instructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 111 of file RV32MicroCodeGenerator.hh.
Referenced by constructR1RInstructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 208 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructIInstructions(), constructR1RInstructions(), constructRInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 197 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 192 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 83 of file RV32MicroCodeGenerator.hh.
Referenced by addIPorts(), addR1RPorts(), addRPorts(), addUJPorts(), constructIInstructions(), constructR1RInstructions(), constructRInstructions(), constructUJInstructions(), findConnectedBusses(), and findOperationSources().
|
private |
Definition at line 214 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructIInstructions(), constructR1RInstructions(), constructRInstructions(), and constructUJInstructions().
|
private |
Definition at line 203 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 188 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), and findRF().
|
private |
Definition at line 110 of file RV32MicroCodeGenerator.hh.
Referenced by addIPorts(), constructRInstructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 206 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructIInstructions(), constructR1Instructions(), constructR1RInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 195 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 190 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 81 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addIPorts(), addR1Ports(), addR1RPorts(), addRPorts(), addSPorts(), constructBInstructions(), constructIInstructions(), constructR1Instructions(), constructR1RInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), and findConnectedBusses().
|
private |
Definition at line 212 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), and constructUJInstructions().
|
private |
Definition at line 201 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 207 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructRInstructions(), constructSInstructions(), and findBusWidths().
|
private |
Definition at line 196 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 191 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 82 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addRPorts(), addSPorts(), constructBInstructions(), constructRInstructions(), constructSInstructions(), and findConnectedBusses().
|
private |
Definition at line 213 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF().
|
private |
Definition at line 202 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 209 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructIInstructions(), constructSInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 198 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 193 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 84 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addIPorts(), addRPorts(), addSPorts(), addUJPorts(), constructBInstructions(), constructIInstructions(), constructSInstructions(), constructUJInstructions(), and findConnectedBusses().
|
private |
Definition at line 204 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths().
|
private |
Definition at line 114 of file RV32MicroCodeGenerator.hh.
Referenced by constructSInstructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 91 of file RV32MicroCodeGenerator.hh.
Referenced by findOperationSources(), and generateFUTargetProcess().
|
private |
Definition at line 88 of file RV32MicroCodeGenerator.hh.
Referenced by generateFUTargetProcess().
|
private |
Definition at line 116 of file RV32MicroCodeGenerator.hh.
Referenced by constructUJInstructions(), findOperationPorts(), generateFUTargetProcess(), initializeOperations(), and validateOperations().
|
private |
Definition at line 221 of file RV32MicroCodeGenerator.hh.