OpenASIP
2.0
|
#include <RV32MicroCodeGenerator.hh>
Public Member Functions | |
RV32MicroCodeGenerator (const Machine &machine, const BinaryEncoding &bem) | |
~RV32MicroCodeGenerator () | |
void | generateRTL (HDLTemplateInstantiator &instantiator, const std::string &fileDst) |
void | setBypassInstructionRegister (const bool &value) |
Public Member Functions inherited from ProGe::MicroCodeGenerator | |
MicroCodeGenerator ()=default | |
~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 | 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 |
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 > | iOperations_ |
std::map< std::string, std::string > | sOperations_ |
std::map< std::string, std::string > | bOperations_ |
std::map< std::string, std::string > | ujOperations_ |
const Machine * | machine_ |
const BinaryEncoding * | bem_ |
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_ |
Definition at line 67 of file RV32MicroCodeGenerator.hh.
ProGe::RV32MicroCodeGenerator::RV32MicroCodeGenerator | ( | const Machine & | machine, |
const BinaryEncoding & | bem | ||
) |
Definition at line 80 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 940 of file RV32MicroCodeGenerator.cc.
References assert.
Referenced by generateMap().
|
private |
Definition at line 369 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 340 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Machine::controlUnit(), TTAMachine::Port::isOutput(), 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 306 of file RV32MicroCodeGenerator.cc.
References VectorTools::containsValue(), MapTools::containsValue(), TTAMachine::Port::isInput(), TTAMachine::Port::isOutput(), TTAMachine::FUPort::isTriggering(), MapTools::keyForValue(), mapFunctionUnit(), mExtensionOps, TTAMachine::HWOperation::operandCount(), TTAMachine::FunctionUnit::operation(), operationNameTable, TTAMachine::HWOperation::port(), rdPorts_, rs1Ports_, rs2Ports_, simmPorts_, throwInputPortError(), throwOperandCountError(), throwOutputPortError(), and throwTriggeringPortError().
Referenced by findOperationPorts().
|
private |
Definition at line 1028 of file RV32MicroCodeGenerator.cc.
References iOperations_, rOperations_, rs1BusStart_, rs1BusWidth_, rs2RFPort_, sourceOperationMap_, and sourcePortID_.
Referenced by generateMap().
|
private |
Definition at line 1077 of file RV32MicroCodeGenerator.cc.
References rs1RFPort_, rs2BusStart_, rs2BusWidth_, sourceOperationMap_, and sourcePortID_.
Referenced by generateMap().
|
private |
Definition at line 415 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 391 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 520 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 831 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 723 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 678 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 786 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 876 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().
Referenced by generateMap().
|
private |
Definition at line 490 of file RV32MicroCodeGenerator.cc.
References assert, 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_, SlotField::width(), and MoveSlot::width().
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 613 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 439 of file RV32MicroCodeGenerator.cc.
References addBPorts(), addIPorts(), addRPorts(), addSPorts(), addUJPorts(), bOperations_, iOperations_, rOperations_, sOperations_, and ujOperations_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 128 of file RV32MicroCodeGenerator.cc.
References rdPorts_, and sourceOperationMap_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 467 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Machine::Navigator< ComponentType >::count(), eVariant_, TTAMachine::Unit::inputPortCount(), TTAMachine::Machine::Navigator< ComponentType >::item(), 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 957 of file RV32MicroCodeGenerator.cc.
References bOperations_, iOperations_, rOperations_, sOperations_, sourceOperationMap_, sourcePortID_, and ujOperations_.
Referenced by generateMap().
|
private |
Definition at line 1120 of file RV32MicroCodeGenerator.cc.
References addBitsToMap(), addRs1ForwardingConditions(), addRs2ForwardingConditions(), bOperations_, constructBInstructions(), constructIInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), FileSystem::DIRECTORY_SEPARATOR, DS, generateFUTargetProcess(), hasForwarding_, iOperations_, NOP_, rOperations_, rs1BusStart_, rs1BusWidth_, rs1RFPort_, rs2BusStart_, rs2BusWidth_, rs2RFPort_, sOperations_, sourceOperationMap_, and ujOperations_.
Referenced by generateRTL().
|
private |
Definition at line 458 of file RV32MicroCodeGenerator.cc.
References CodeCompressorPlugin::bemInstructionBits(), ProgramImageGenerator::compressor(), NOP_, pig_, and BitVector::toString().
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 1278 of file RV32MicroCodeGenerator.cc.
References iOperations_, TTAMachine::HWOperation::latency(), mapFunctionUnit(), TTAMachine::FunctionUnit::operation(), HDLTemplateInstantiator::replacePlaceholder(), rOperations_, and variableLengthOpLatency_.
Referenced by generateWrapper().
|
virtual |
Implements ProGe::MicroCodeGenerator.
Definition at line 1556 of file RV32MicroCodeGenerator.cc.
References generateMap(), and generateWrapper().
Referenced by DefaultICDecoderGenerator::generate().
|
private |
Definition at line 1339 of file RV32MicroCodeGenerator.cc.
References bypassInstructionRegister_, Environment::dataDirPath(), FileSystem::DIRECTORY_SEPARATOR, DS, eVariant_, generateOperationLatencyLogic(), hasForwarding_, HDLTemplateInstantiator::instantiateTemplateFile(), NOP_, rdBusStart_, rdBusWidth_, rdRFStart_, HDLTemplateInstantiator::replacePlaceholder(), rs1BusStart_, rs1BusWidth_, rs1RFStart_, rs2BusStart_, rs2BusWidth_, rs2RFStart_, simmBusStart_, simmBusWidth_, simmRFStart_, and variableLengthOpLatency_.
Referenced by generateRTL().
|
private |
Definition at line 139 of file RV32MicroCodeGenerator.cc.
References bem_, bOperations_, MapTools::containsKey(), BinaryEncoding::instructionFormat(), BinaryEncoding::instructionFormatCount(), iOperations_, InstructionFormat::name(), operationNameTable, InstructionFormat::operations(), BitVector::pushBack(), rOperations_, sOperations_, BitVector::toString(), and ujOperations_.
Referenced by RV32MicroCodeGenerator().
|
private |
Definition at line 245 of file RV32MicroCodeGenerator.cc.
References TTAMachine::Machine::controlUnit(), TTAMachine::Machine::Navigator< ComponentType >::count(), TTAMachine::Machine::functionUnitNavigator(), TTAMachine::FunctionUnit::hasOperation(), TTAMachine::Machine::Navigator< ComponentType >::item(), machine_, and throwOperationNotFoundError().
Referenced by addBPorts(), addIPorts(), addRPorts(), addSPorts(), addUJPorts(), constructBInstructions(), constructIInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), and generateOperationLatencyLogic().
|
private |
void ProGe::RV32MicroCodeGenerator::setBypassInstructionRegister | ( | const bool & | value | ) |
Definition at line 1563 of file RV32MicroCodeGenerator.cc.
References bypassInstructionRegister_.
Referenced by DefaultICDecoderGenerator::generate().
|
private |
Definition at line 278 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Port::name(), TTAMachine::Component::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addBPorts(), addRPorts(), and addSPorts().
|
private |
Definition at line 296 of file RV32MicroCodeGenerator.cc.
References __func__.
Referenced by addBPorts(), addIPorts(), addRPorts(), and addSPorts().
|
private |
Definition at line 261 of file RV32MicroCodeGenerator.cc.
References __func__.
Referenced by mapFunctionUnit(), and validateOperations().
|
private |
Definition at line 287 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Port::name(), TTAMachine::Component::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addIPorts(), addRPorts(), and addUJPorts().
|
private |
Definition at line 268 of file RV32MicroCodeGenerator.cc.
References __func__, TTAMachine::Port::name(), TTAMachine::Component::name(), and TTAMachine::BaseFUPort::parentUnit().
Referenced by addBPorts(), addRPorts(), addSPorts(), and addUJPorts().
|
private |
Definition at line 215 of file RV32MicroCodeGenerator.cc.
References bOperations_, TTAMachine::Machine::hasOperation(), machine_, rOperations_, sOperations_, throwOperationNotFoundError(), and ujOperations_.
|
private |
Definition at line 179 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and initializeOperations().
|
private |
Definition at line 112 of file RV32MicroCodeGenerator.hh.
Referenced by constructBInstructions(), findOperationPorts(), generateFUTargetProcess(), generateMap(), initializeOperations(), and validateOperations().
|
private |
Definition at line 180 of file RV32MicroCodeGenerator.hh.
Referenced by findConnectedBusses(), and RV32MicroCodeGenerator().
|
private |
Definition at line 213 of file RV32MicroCodeGenerator.hh.
Referenced by generateWrapper(), and setBypassInstructionRegister().
|
private |
Definition at line 216 of file RV32MicroCodeGenerator.hh.
Referenced by findRF(), and generateWrapper().
|
private |
Definition at line 214 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), generateMap(), generateWrapper(), and RV32MicroCodeGenerator().
|
private |
Definition at line 110 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), constructIInstructions(), findOperationPorts(), generateFUTargetProcess(), generateMap(), generateOperationLatencyLogic(), and initializeOperations().
|
private |
Definition at line 178 of file RV32MicroCodeGenerator.hh.
Referenced by addIPorts(), findRF(), mapFunctionUnit(), and validateOperations().
|
private |
Definition at line 212 of file RV32MicroCodeGenerator.hh.
Referenced by generateMap(), generateNOP(), and generateWrapper().
|
private |
Definition at line 210 of file RV32MicroCodeGenerator.hh.
Referenced by constructBInstructions(), constructIInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), generateNOP(), RV32MicroCodeGenerator(), and ~RV32MicroCodeGenerator().
|
private |
Definition at line 202 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructIInstructions(), constructRInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 191 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 186 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 82 of file RV32MicroCodeGenerator.hh.
Referenced by addIPorts(), addRPorts(), addUJPorts(), constructIInstructions(), constructRInstructions(), constructUJInstructions(), findConnectedBusses(), and findOperationSources().
|
private |
Definition at line 208 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructIInstructions(), constructRInstructions(), and constructUJInstructions().
|
private |
Definition at line 197 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 182 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), and findRF().
|
private |
Definition at line 109 of file RV32MicroCodeGenerator.hh.
Referenced by addIPorts(), addRs1ForwardingConditions(), constructRInstructions(), findOperationPorts(), generateFUTargetProcess(), generateMap(), generateOperationLatencyLogic(), initializeOperations(), and validateOperations().
|
private |
Definition at line 200 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructIInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 189 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), findBusWidths(), generateMap(), and generateWrapper().
|
private |
Definition at line 184 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), findBusWidths(), generateMap(), and generateWrapper().
|
private |
Definition at line 80 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addIPorts(), addRPorts(), addSPorts(), constructBInstructions(), constructIInstructions(), constructRInstructions(), constructSInstructions(), constructUJInstructions(), and findConnectedBusses().
|
private |
Definition at line 206 of file RV32MicroCodeGenerator.hh.
Referenced by addRs2ForwardingConditions(), connectRF(), constructUJInstructions(), and generateMap().
|
private |
Definition at line 195 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 201 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructRInstructions(), constructSInstructions(), and findBusWidths().
|
private |
Definition at line 190 of file RV32MicroCodeGenerator.hh.
Referenced by addRs2ForwardingConditions(), findBusWidths(), generateMap(), and generateWrapper().
|
private |
Definition at line 185 of file RV32MicroCodeGenerator.hh.
Referenced by addRs2ForwardingConditions(), findBusWidths(), generateMap(), and generateWrapper().
|
private |
Definition at line 81 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addRPorts(), addSPorts(), constructBInstructions(), constructRInstructions(), constructSInstructions(), and findConnectedBusses().
|
private |
Definition at line 207 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), connectRF(), and generateMap().
|
private |
Definition at line 196 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 203 of file RV32MicroCodeGenerator.hh.
Referenced by connectRF(), constructBInstructions(), constructIInstructions(), constructSInstructions(), constructUJInstructions(), and findBusWidths().
|
private |
Definition at line 192 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 187 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 83 of file RV32MicroCodeGenerator.hh.
Referenced by addBPorts(), addIPorts(), addRPorts(), addSPorts(), addUJPorts(), constructBInstructions(), constructIInstructions(), constructSInstructions(), constructUJInstructions(), and findConnectedBusses().
|
private |
Definition at line 198 of file RV32MicroCodeGenerator.hh.
Referenced by findBusWidths(), and generateWrapper().
|
private |
Definition at line 111 of file RV32MicroCodeGenerator.hh.
Referenced by constructSInstructions(), findOperationPorts(), generateFUTargetProcess(), generateMap(), initializeOperations(), and validateOperations().
|
private |
Definition at line 90 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), addRs2ForwardingConditions(), findOperationSources(), generateFUTargetProcess(), and generateMap().
|
private |
Definition at line 87 of file RV32MicroCodeGenerator.hh.
Referenced by addRs1ForwardingConditions(), addRs2ForwardingConditions(), and generateFUTargetProcess().
|
private |
Definition at line 113 of file RV32MicroCodeGenerator.hh.
Referenced by constructUJInstructions(), findOperationPorts(), generateFUTargetProcess(), generateMap(), initializeOperations(), and validateOperations().
|
private |
Definition at line 215 of file RV32MicroCodeGenerator.hh.
Referenced by generateOperationLatencyLogic(), and generateWrapper().