OpenASIP
2.0
|
#include <MachinePart.hh>
Classes | |
class | ComponentNameComparator |
Public Member Functions | |
virtual | ~Component () |
virtual TCEString | name () const |
virtual void | setName (const std::string &name) |
virtual void | setMachine (Machine &machine)=0 |
virtual void | unsetMachine ()=0 |
virtual Machine * | machine () const |
virtual void | ensureRegistration (const Component &component) const |
virtual bool | isRegistered () const |
virtual ObjectState * | saveState () const |
virtual void | loadState (const ObjectState *state) |
Public Member Functions inherited from Serializable | |
virtual | ~Serializable () |
Static Public Attributes | |
static const std::string | OSNAME_COMPONENT = "component" |
ObjectState name for component. More... | |
static const std::string | OSKEY_NAME = "name" |
ObjectState attribute key for the name of the component. More... | |
Protected Member Functions | |
Component (const std::string &name) | |
Component (const ObjectState *state) | |
void | internalSetMachine (Machine &machine) |
void | internalUnsetMachine () |
Protected Member Functions inherited from TTAMachine::MachinePart | |
MachinePart () | |
virtual | ~MachinePart () |
Private Member Functions | |
Component (const Component &) | |
Copying forbidden. More... | |
Component & | operator= (const Component &) |
Assingment forbidden. More... | |
Private Attributes | |
std::string | name_ |
Name of the component. More... | |
Machine * | machine_ |
Machine to which the component is registered. More... | |
Abstract base class for top-level machine components.
Top-level machine components, like Bus and Socket, are independently defined parts of a target machine. Components can be registered to (or unregistered from) a Machine.
Definition at line 90 of file MachinePart.hh.
|
virtual |
|
protected |
Constructor.
name | Name of the component. |
InvalidName | If the given name is not a valid name for a component. |
Definition at line 82 of file MachinePart.cc.
References MachineTester::isValidComponentName(), name(), Texts::TextGenerator::text(), and MOMTextGenerator::TXT_INVALID_NAME.
|
protected |
Constructor.
Loads the name from the given ObjectState object.
state | The ObjectState instance from which the name is loaded. |
ObjectStateLoadingException | If the given ObjectState instance is invalid. |
Definition at line 102 of file MachinePart.cc.
References Exception::errorMessage(), OSKEY_NAME, setName(), and ObjectState::stringAttribute().
|
private |
Copying forbidden.
|
virtual |
Ensures that the component is registered to the same machine as the given component.
component | The component. |
IllegalRegistration | If the components are not registered to the same machine. |
Reimplemented in TTAMachine::NullInstructionTemplate, TTAMachine::NullAddressSpace, and TTAMachine::NullRegisterFile.
Definition at line 163 of file MachinePart.cc.
References machine().
Referenced by TTAMachine::InstructionTemplate::addSlot(), TTAMachine::Socket::attachBus(), TTAMachine::Segment::attachSocket(), TTAMachine::Port::attachSocket(), TTAMachine::Bridge::Bridge(), TTAMachine::PortGuard::PortGuard(), TTAMachine::RegisterGuard::RegisterGuard(), and TTAMachine::FunctionUnit::setAddressSpace().
|
protected |
Referenced by TTAMachine::ImmediateSlot::setMachine(), TTAMachine::ControlUnit::setMachine(), TTAMachine::Unit::setMachine(), TTAMachine::Bridge::setMachine(), TTAMachine::OperationTriggeredFormat::setMachine(), TTAMachine::AddressSpace::setMachine(), TTAMachine::InstructionTemplate::setMachine(), TTAMachine::Socket::setMachine(), and TTAMachine::Bus::setMachine().
|
protected |
Referenced by TTAMachine::ImmediateSlot::unsetMachine(), TTAMachine::Bridge::unsetMachine(), TTAMachine::Unit::unsetMachine(), TTAMachine::OperationTriggeredFormat::unsetMachine(), TTAMachine::AddressSpace::unsetMachine(), TTAMachine::InstructionTemplate::unsetMachine(), TTAMachine::Socket::unsetMachine(), and TTAMachine::Bus::unsetMachine().
|
virtual |
Returns true if the component is registered to a machine, otherwise false.
Reimplemented in TTAMachine::NullInstructionTemplate, TTAMachine::NullAddressSpace, and TTAMachine::NullRegisterFile.
Definition at line 177 of file MachinePart.cc.
References machine_.
Referenced by TTAMachine::Bridge::loadState(), TTAMachine::Socket::loadState(), TTAMachine::FunctionUnit::loadState(), TTAMachine::Bus::position(), HDB::RFArchitecture::RFArchitecture(), TTAMachine::Socket::setDirection(), TTAMachine::ControlUnit::setGlobalGuardLatency(), TTAMachine::RegisterFile::setGuardLatency(), TTAMachine::AddressSpace::setMachine(), TTAMachine::ControlUnit::unsetMachine(), and TTAMachine::AddressSpace::unsetMachine().
|
virtual |
Loads the name of the component from the given ObjectState instance.
state | The ObjectState instance. |
ObjectStateLoadingException | If the machine already contains same type of component with the same name. |
Implements Serializable.
Reimplemented in TTAMachine::Bus, TTAMachine::FunctionUnit, TTAMachine::Socket, TTAMachine::InstructionTemplate, TTAMachine::NullInstructionTemplate, TTAMachine::RegisterFile, TTAMachine::NullRegisterFile, TTAMachine::ControlUnit, TTAMachine::AddressSpace, TTAMachine::ImmediateUnit, TTAMachine::OperationTriggeredFormat, TTAMachine::Bridge, TTAMachine::Unit, TTAMachine::NullAddressSpace, TTAMachine::BaseRegisterFile, UnboundedRegisterFile, UniversalFunctionUnit, and TTAMachine::ImmediateSlot.
Definition at line 205 of file MachinePart.cc.
References name(), OSKEY_NAME, setName(), ObjectState::stringAttribute(), Texts::TextGenerator::text(), MOMTextGenerator::TXT_INVALID_NAME, and MOMTextGenerator::TXT_SAME_NAME.
Referenced by TTAMachine::ImmediateSlot::loadState(), TTAMachine::Bridge::loadState(), TTAMachine::OperationTriggeredFormat::loadState(), TTAMachine::AddressSpace::loadState(), TTAMachine::InstructionTemplate::loadState(), TTAMachine::Socket::loadState(), and TTAMachine::Bus::loadStateWithoutReferences().
|
virtual |
Reimplemented in TTAMachine::NullInstructionTemplate, TTAMachine::NullAddressSpace, and TTAMachine::NullRegisterFile.
Referenced by RegisterCopyAdder::addConnectionRegisterCopies(), RegisterCopyAdder::addConnectionRegisterCopiesImmediate(), TTAMachine::InstructionTemplate::addSlot(), TTAMachine::Bridge::adjustChainDirection(), ImmediateAnalyzer::analyzeImmediateCapabilitiesForOperation(), TTAMachine::Socket::attachBus(), TTAMachine::Port::attachSocket(), TTAMachine::Segment::attachSocket(), FullyConnectedCheck::attachSocketToAllBusses(), TTAMachine::Bridge::Bridge(), ControlFlowGraph::buildMBBFromBB(), MachineConnectivityCheck::busConnectedToAnyFU(), MachineConnectivityCheck::busConnectedToDestination(), DefaultICDecoderEstimator::busParameters(), CycleLookBackSoftwareBypasser::bypassNode(), MachineTester::canBridge(), MachineTester::canConnect(), MachineInfo::canEncodeImmediateInteger(), ProDePortEditPolicy::canHandle(), ProDeSegmentEditPolicy::canHandle(), ProDeSocketEditPolicy::canHandle(), MachineConnectivityCheck::canTransportImmediate(), MachineConnectivityCheck::canWriteAllImmediates(), TTAMachine::FUPort::cleanupGuards(), TTAMachine::FunctionUnit::cleanupGuards(), FullyConnectedCheck::connectFUPort(), FullyConnectedCheck::connectIUPort(), FullyConnectedCheck::connectRFPort(), FullyConnectedCheck::connectSpecialRegisterPort(), ADFCombiner::copyGuards(), POMDisassembler::createFUPort(), POMDisassembler::createGuard(), TTAProgram::TPEFProgramFactory::createInstruction(), POMDisassembler::createRegister(), FullyConnectedCheck::createSocket(), TTAMachine::RegisterFile::deleteGuards(), POMDisassembler::disassemble(), CopyComponent::Do(), UniversalFunctionUnit::ensureInputPorts(), UniversalFunctionUnit::ensureOutputPorts(), ensureRegistration(), MachineConnectivityCheck::findRoutes(), MachineConnectivityCheck::fromRfConnected(), TTAProgram::TPEFResourceUpdater::functionUnit(), TTAProgram::TPEFResourceUpdater::functionUnitPort(), TTAProgram::Move::guardLatency(), TTAMachine::ControlUnit::hasLocalGuardLatencyOfZero(), MachineConnectivityCheck::immBits(), MachineConnectivityCheck::isConnectedToDifferentlyConnectedRFs(), isInstructionMemory(), TTAMachine::RegisterFile::isUsedAsGuard(), TTAMachine::Bridge::loadState(), TTAMachine::InstructionTemplate::loadState(), TTAMachine::Socket::loadState(), TTAMachine::FunctionUnit::loadState(), TTAMachine::PortGuard::loadState(), TTAMachine::RegisterGuard::loadState(), TemplateSlotDialog::onOK(), TTAMachine::Bus::position(), TTAProgram::TPEFResourceUpdater::registerFile(), TTAMachine::RegisterGuard::RegisterGuard(), ImmInfo::registerImmediateLoadWidth(), ControlFlowGraph::removeJumpToTarget(), TTAProgram::Program::replaceUniversalAddressSpaces(), HDB::RFArchitecture::RFArchitecture(), DataDependenceGraph::sanityCheck(), TTAMachine::Machine::setBusPosition(), TTAMachine::Socket::setDirection(), TTAMachine::Bridge::setFirstOfChain(), TTAMachine::Machine::setGlobalControl(), TTAMachine::ControlUnit::setGlobalGuardLatency(), TTAMachine::RegisterFile::setGuardLatency(), TTAMachine::ImmediateSlot::setMachine(), TTAMachine::OperationTriggeredFormat::setMachine(), TTAMachine::InstructionTemplate::setMachine(), TTAMachine::ImmediateSlot::setName(), TTAMachine::InstructionTemplate::setName(), TTAMachine::Bridge::setName(), TTAMachine::ImmediateUnit::setName(), TTAMachine::FunctionUnit::setName(), TTAMachine::AddressSpace::setName(), TTAMachine::Socket::setName(), TTAMachine::Bus::setName(), TTAMachine::RegisterFile::setName(), TTAMachine::AddressSpace::setNumericalIds(), FullyConnectedCheck::socketAttachedToAllBusses(), BEMGenerator::sourceBridge(), BEMGenerator::sourceBridgeCount(), TTAMachine::InstructionTemplate::supportedWidth(), TTAProgram::Program::targetProcessor(), MachineConnectivityCheck::toRfConnected(), TTAMachine::Machine::unsetGlobalControl(), TTAMachine::ImmediateSlot::unsetMachine(), TTAMachine::ControlUnit::unsetMachine(), TTAMachine::Bridge::unsetMachine(), TTAMachine::Unit::unsetMachine(), TTAMachine::OperationTriggeredFormat::unsetMachine(), TTAMachine::ImmediateUnit::unsetMachine(), TTAMachine::AddressSpace::unsetMachine(), TTAMachine::RegisterFile::unsetMachine(), TTAMachine::InstructionTemplate::unsetMachine(), TTAMachine::Socket::unsetMachine(), TTAMachine::FunctionUnit::unsetMachine(), TTAMachine::Bus::unsetMachine(), and TTAMachine::ImmediateSlot::width().
|
virtual |
Returns the name of the component.
Reimplemented in TTAMachine::NullAddressSpace, TTAMachine::NullRegisterFile, and TTAMachine::NullInstructionTemplate.
Definition at line 125 of file MachinePart.cc.
References name_.
Referenced by MemorySystem::addAddressSpace(), ADFCombiner::addAddressSpaces(), ProGe::NetlistGenerator::addBaseRFToNetlist(), CodeCompressorPlugin::addBitsForDestinationField(), CodeCompressorPlugin::addBitsForDstRegisterField(), CodeCompressorPlugin::addBitsForGuardField(), CodeCompressorPlugin::addBitsForMoveSlot(), CodeCompressorPlugin::addBitsForSourceField(), TTAMachine::Machine::addBus(), ADFCombiner::addBuses(), MachineResourceModifier::addBusesByAmount(), llvm::LLVMTCEBuilder::addCandidateLSUAnnotations(), RegisterCopyAdder::addCandidateSetAnnotations(), RegisterCopyAdder::addConnectionRegisterCopies(), RegisterCopyAdder::addConnectionRegisterCopiesImmediate(), SimpleICOptimizer::addConnections(), BEMGenerator::addEncodings(), ProGe::NetlistGenerator::addFUExternalPortsToNetlist(), TTAMachine::Machine::addFunctionUnit(), ADFCombiner::addFunctionUnits(), ProGe::NetlistGenerator::addFUToNetlist(), DefaultICGenerator::addICToNetlist(), TTAMachine::Machine::addImmediateSlot(), BEMGenerator::addLongImmDstRegisterFields(), TTAProgram::Instruction::addMove(), TTAMachine::FunctionUnit::addPipelineElement(), BEMGenerator::addPortCodes(), MachineStateBuilder::addPortToFU(), TTAMachine::AddressSpace::AddressSpace(), BEMGenerator::addRiscvFormat(), BEMGenerator::addSocketCodeTables(), ImmediateGenerator::addSplitInsTemplate(), BEMGenerator::addTopLevelFields(), MachineStateBuilder::addVirtualOpcodeSettingPortsToFU(), TTAMachine::Bus::adjustSegmentChain(), OutputFUBroker::allAvailableResources(), InputFUBroker::allAvailableResources(), BusBroker::allAvailableResources(), BF2Scheduler::allocateFunctionUnits(), TDGen::analyzeMachineRegisters(), ResourceConstraintAnalyzer::analyzeMoveNode(), TDGen::analyzeRegisters(), ITemplateBroker::assign(), BFOptimization::assign(), BFOptimization::assignCopyToPrologEpilog(), MachineStateBuilder::bindPortsToOperands(), TTAMachine::Bridge::Bridge(), MachineTestReporter::bridgingError(), MoveNodeGroupBuilder::build(), SimulationController::buildFUResourceConflictDetectors(), MachineStateBuilder::buildMachineState(), OutputFUBroker::buildResources(), InputPSocketBroker::buildResources(), InputFUBroker::buildResources(), OutputPSocketBroker::buildResources(), IUBroker::buildResources(), BusBroker::buildResources(), DefaultDecoderGenerator::busCntrlSignalPinOfSocket(), MachineConnectivityCheck::busConnectedToAnyFU(), DefaultDecoderGenerator::busMuxCntrlSignal(), DefaultICGenerator::busMuxControlPort(), DefaultICGenerator::busMuxDataPort(), DefaultICGenerator::busMuxEnablePort(), DefaultDecoderGenerator::busMuxEnableSignal(), DefaultICGenerator::busMuxEntityName(), DefaultICGenerator::busSignal(), CompiledSimSymbolGenerator::busSymbol(), ProGe::NetlistGenerator::calculateAddressWidth(), UtilizationStats::calculateForInstruction(), BFOptimization::canAssign(), OperationBindingCheck::check(), FullyConnectedCheck::check(), ProgrammabilityValidator::checkBooleanRegister(), POMValidator::checkConnectivity(), BEMValidator::checkDestinationField(), IDFValidator::checkFUImplementations(), BEMValidator::checkGuardField(), BEMValidator::checkImmediateControlField(), CopyingDelaySlotFiller::checkImmediatesAfter(), BEMValidator::checkImmediateSlot(), IDFValidator::checkIUImplementations(), ProGe::ProcessorGenerator::checkIULatencies(), BEMValidator::checkLImmDstRegisterFields(), POMValidator::checkLongImmediates(), BEMValidator::checkMoveSlot(), FUValidator::checkOperandBindings(), FUValidator::checkOperations(), IDFValidator::checkRFImplementations(), BEMValidator::checkSocketCodeTable(), BEMValidator::checkSourceField(), MinimalOpSetCheck::checkWithIgnore(), MachineResourceManager::codeAddressSpace(), CopyingDelaySlotFiller::collectMoves(), SimulatorFrontend::compareState(), DefaultDecoderGenerator::completeDecoderBlock(), Component(), ConflictDetectionCodeGenerator::ConflictDetectionCodeGenerator(), CompiledSimSymbolGenerator::conflictDetectorSymbol(), ADFCombiner::connectPorts(), ADFCombiner::connectRegisterFiles(), ADFCombiner::connectVectorLSU(), DataDependenceGraphBuilder::constructIndividualFromInlineAsmBB(), ADFCombiner::copyGuards(), BasicBlockPass::copyRMToBB(), MemoryGenerator::corePortName(), RegisterQuantityCheck::countIntRegisters(), TTAProgram::ProgramWriter::createASpaceElement(), TTAProgram::ProgramWriter::createBinary(), TTAProgram::ProgramWriter::createCodeSection(), BlocksTranslator::CreateConnection(), TTAProgram::ProgramWriter::createDataSections(), IUFactory::createEditPart(), FUFactory::createEditPart(), RFFactory::createEditPart(), GCUFactory::createEditPart(), POMDisassembler::createFUPort(), POMDisassembler::createGuard(), POMDisassembler::createImmediateRegister(), POMDisassembler::createInstruction(), ADFCombiner::createPortsAndSockets(), POMDisassembler::createRegister(), FullyConnectedCheck::createSocket(), FUTestbenchGenerator::createStimulus(), CompiledSimSymbolGenerator::DAMemorySymbol(), TTAProgram::DataMemory::dataDefinition(), TTAProgram::Program::dataMemory(), POMDisassembler::dataSectionDescription(), ConflictDetectionCodeGenerator::detectConflicts(), POMDisassembler::disassemble(), ProximBusDetailsCmd::Do(), ProximFUDetailsCmd::Do(), ProximFUPortDetailsCmd::Do(), ProximIUDetailsCmd::Do(), ProximSocketDetailsCmd::Do(), ProximRFDetailsCmd::Do(), PasteComponentCmd::Do(), MoveNodeDuplicator::duplicateMove(), llvm::LLVMTCEBuilder::emitLongjmp(), llvm::LLVMTCEBuilder::emitMove(), llvm::LLVMTCEBuilder::emitOperationMacro(), llvm::LLVMTCEBuilder::emitSetjmp(), CodeCompressorPlugin::encodeFUTerminal(), CodeCompressorPlugin::encodeIUTerminal(), CodeCompressorPlugin::encodeRFTerminal(), TTAProgram::TerminalAddress::equals(), TTAProgram::TerminalRegister::equals(), InterpolatingRFEstimator::estimateArea(), InterpolatingFUEstimator::estimateArea(), StrictMatchFUEstimator::estimateEnergy(), StrictMatchRFEstimator::estimateEnergy(), InterpolatingFUEstimator::estimateEnergy(), InterpolatingRFEstimator::estimateEnergy(), DefaultICDecoderEstimator::estimateICDelayOfPath(), DefaultICDecoderEstimator::estimateICEnergy(), InterpolatingRFEstimator::estimateMaximumComputationDelay(), InterpolatingFUEstimator::estimateMaximumComputationDelay(), InterpolatingRFEstimator::estimatePortReadDelay(), InterpolatingFUEstimator::estimatePortReadDelay(), InterpolatingRFEstimator::estimatePortWriteDelay(), InterpolatingFUEstimator::estimatePortWriteDelay(), InfoBussesCommand::execute(), InfoPortsCommand::execute(), InfoFunitsCommand::execute(), InfoProcCommand::execute(), InfoStatsCommand::execute(), VLIWConnectIC::explore(), BlocksConnectIC::explore(), VectorLSGenerator::explore(), TTAProgram::TPEFProgramFactory::findAddressSpace(), CostEstimator::Estimator::findAllICPaths(), SimulatorFrontend::findBooleanRegister(), ProGe::RV32MicroCodeGenerator::findBusWidths(), ProgrammabilityValidator::findConnections(), ProGe::NetlistGenerator::findCorrespondingPort(), AutoSelectImplementationsDialog::findFUImplementations(), TTAProgram::TPEFProgramFactory::findFunctionUnit(), ProgrammabilityValidator::findGlobalConnectionRegister(), TTAProgram::TPEFProgramFactory::findGuard(), DefaultDecoderGenerator::findGuard(), RegisterQuantityCheck::findGuardRegisters(), TTAProgram::TPEFProgramFactory::findInstrTemplate(), AutoSelectImplementationsDialog::findIUImplementations(), MachineInfo::findLockUnits(), AlmaIFIntegrator::findMemories(), ControlFlowGraph::findNextIndex(), TTAProgram::TPEFProgramFactory::findPort(), SimulatorFrontend::findPort(), MachineConnectivityCheck::findPossibleDestinationPorts(), MachineConnectivityCheck::findPossibleSourcePorts(), AutoSelectImplementationsDialog::findRFImplementations(), TTAProgram::ProgramWriter::findSection(), SimulatorFrontend::finishSimulation(), MinimalOpSetCheck::fix(), RegisterCopyAdder::fixDDGEdgesInTempReg(), RegisterCopyAdder::fixDDGEdgesInTempRegChainImmediate(), ComponentImplementationSelector::fuImplementations(), TTAProgram::TPEFResourceUpdater::functionUnit(), CostEstimator::Estimator::functionUnitArea(), CostEstimator::Estimator::functionUnitEnergy(), MachineResourceManager::functionUnitID(), CostEstimator::Estimator::functionUnitMaximumComputationDelay(), CostEstimator::Estimator::functionUnitPortReadDelay(), MachineResourceManager::functionUnitPortResource(), CostEstimator::Estimator::functionUnitPortWriteDelay(), ProGeTestBenchGenerator::generate(), CompiledSimCodeGenerator::generateAddFUResult(), CompiledSimCodeGenerator::generateLoadTrigger(), CompiledSimCodeGenerator::generateStoreTrigger(), ProximIUEditPolicy::getCommand(), ProximRFEditPolicy::getCommand(), ProximSocketEditPolicy::getCommand(), ProximBusEditPolicy::getCommand(), ProximFUEditPolicy::getCommand(), ProDeBridgeEditPolicy::getCommand(), ProDeIUEditPolicy::getCommand(), ProDeSocketEditPolicy::getCommand(), ProDeBusEditPolicy::getCommand(), ProDeFUEditPolicy::getCommand(), ProDeRFEditPolicy::getCommand(), ProDeGCUEditPolicy::getCommand(), CopyingDelaySlotFiller::getMove(), CompiledSimCodeGenerator::guardPipelineTopSymbol(), DefaultDecoderGenerator::guardPortName(), DataDependenceGraph::guardRenamed(), RFAccessTracker::handleEvent(), ProcessorImplementationWindow::handleSelectFUImplementation(), ProcessorImplementationWindow::handleSelectIUImplementation(), ProcessorImplementationWindow::handleSelectRFImplementation(), MemorySystem::hasMemory(), UniversalFunctionUnit::hasOperation(), TTAMachine::FunctionUnit::hasOperation(), TTAMachine::FunctionUnit::hasOperationLowercase(), TTAMachine::FunctionUnit::hasOperationPort(), TTAMachine::FunctionUnit::hasPipelineElement(), TTAMachine::Unit::hasPort(), TTAMachine::Bus::hasSegment(), TTAMachine::ControlUnit::hasSpecialRegisterPort(), TTAMachine::ImmediateSlot::ImmediateSlot(), CodeCompressorPlugin::immediateTerminal(), TTAProgram::TPEFResourceUpdater::immediateUnit(), ProGe::NetlistGenerator::immediateUnitWritePort(), MachineResourceManager::indexResource(), llvm::LLVMTCEBuilder::initDataSections(), SimulatorFrontend::initializeDataMemories(), SimulatorFrontend::initializeMemorySystem(), MachineResourceManager::initResourceSection(), TTAMachine::InstructionTemplate::InstructionTemplate(), CodeCompressorPlugin::instructionTemplate(), RegisterCopyAdder::isAllowedUnit(), TTAMachine::FunctionUnit::isArchitectureEqual(), BusBroker::isAvailable(), ProgramOperation::isLegalFU(), MoveNode::isSourceReg(), ComponentImplementationSelector::iuImplementations(), TTAMachine::ExecutionPipeline::latency(), ListCompareFunction(), PlatformIntegrator::loadFUExternalPorts(), ProximRegisterWindow::loadImmediateUnit(), ProximMemoryWindow::loadMemory(), ProximMemoryWindow::loadProgramMemory(), ProximRegisterWindow::loadRegisterFile(), TTAMachine::Bridge::loadState(), TTAMachine::Port::loadState(), TTAMachine::HWOperation::loadState(), TTAMachine::InstructionTemplate::loadState(), TTAMachine::ExecutionPipeline::loadState(), TTAMachine::Socket::loadState(), TTAMachine::FunctionUnit::loadState(), TTAMachine::PortGuard::loadState(), loadState(), TTAMachine::RegisterGuard::loadState(), TTAMachine::FUPort::loadStateWithoutReferences(), TTAMachine::Bus::loadStateWithoutReferences(), CostEstimator::Estimator::longestPath(), main(), MemorySystem::memory(), MemorySystem::memoryConst(), ProGe::NetlistGenerator::netlistBlock(), ProGe::NetlistGenerator::netlistPort(), BlockImplementationDialog::onHDBSelection(), RFDialog::onOK(), RFGuardDialog::onOK(), SocketDialog::onOK(), FUDialog::onOK(), IUDialog::onOK(), TemplateSlotDialog::onOK(), GCUDialog::onOK(), DefaultDecoderGenerator::opcode(), TTAProgram::TPEFResourceUpdater::operand(), UniversalFunctionUnit::operation(), TTAMachine::FunctionUnit::operation(), CompiledSimSymbolGenerator::operationContextSymbol(), TTAMachine::FunctionUnit::operationLowercase(), TTAMachine::FunctionUnit::operationPort(), CompiledSimSymbolGenerator::operationSymbol(), TTAMachine::OperationTriggeredFormat::OperationTriggeredFormat(), BFLateBypassGuard::operator()(), BFEarlyGuardBypass::operator()(), BFShareOperandWithScheduled::operator()(), BFLateBypass::operator()(), BFScheduleTD::operator()(), BFPushAntidepDown::operator()(), TTAMachine::PipelineElement::Comparator::operator()(), BFScheduleBU::operator()(), TTAMachine::Component::ComponentNameComparator::operator()(), FUTestbenchGenerator::parseFuPorts(), TTAMachine::FunctionUnit::pipelineElement(), TTAMachine::Unit::port(), TTAMachine::Port::Port(), TTAMachine::BaseRegisterFile::port(), TTAMachine::FunctionUnit::port(), TTAMachine::PortGuard::PortGuard(), CompiledSimSymbolGenerator::portSymbol(), BF2Scheduler::preAllocateFunctionUnits(), BF2Scheduler::preAllocateFunctionUnitsInner(), ProgrammabilityValidator::printConnection(), ImmediateGenerator::printImmediateTemplates(), printLatexAddressSpaceDescription(), printLatexFunctionUnitDescription(), ProgrammabilityValidator::printNotConnectedSockets(), SimProgramBuilder::processBidirTerminal(), DataDependenceGraphBuilder::processGuard(), SimProgramBuilder::processInstruction(), SimProgramBuilder::processMove(), SimProgramBuilder::processSourceTerminal(), ProgrammabilityValidator::profile(), CodeCompressorPlugin::programImmediate(), ProGe::ProGeUI::readImemParameters(), PlatformIntegrator::readLsuParameters(), FUTestbenchGenerator::readValuesFromOutPorts(), TTAProgram::TPEFResourceUpdater::registerFile(), CostEstimator::Estimator::registerFileArea(), CostEstimator::Estimator::registerFileEnergy(), MachineResourceManager::registerFileID(), CostEstimator::Estimator::registerFileMaximumComputationDelay(), llvm::LLVMTCEIRBuilder::registerFileName(), CostEstimator::Estimator::registerFilePortReadDelay(), CostEstimator::Estimator::registerFilePortWriteDelay(), TTAMachine::RegisterGuard::RegisterGuard(), DisassemblyRegister::registerName(), ProximPortWindow::reinitialize(), BF2Scheduler::releasePortForOp(), SimpleICOptimizer::removeAllConnections(), ConnectionSweeper::removeConnection(), ImmediateGenerator::removeInsTemplate(), RegisterRenamer::renameLiveRange(), BF2Scheduler::reservePreallocatedFUs(), ResourceMapper::resourceOf(), BFUnscheduleFromBody::returnOriginal(), BFUnscheduleMove::returnOriginal(), BFShareOperandLate::revert(), ComponentImplementationSelector::rfImplementations(), TTAMachine::Bridge::saveState(), TTAMachine::Port::saveState(), TTAMachine::AddressSpace::saveState(), TTAMachine::ControlUnit::saveState(), TTAMachine::FunctionUnit::saveState(), TTAMachine::PortGuard::saveState(), saveState(), TTAMachine::RegisterGuard::saveState(), ProgrammabilityValidator::searchMissingRFConnections(), TTAMachine::Bus::segment(), ComponentImplementationSelector::selectFUs(), ComponentImplementationSelector::selectIUs(), ComponentImplementationSelector::selectRFs(), TTAMachine::Socket::setDirection(), TTAMachine::Machine::setGlobalControl(), SimControlLanguageCommand::setMemoryAddress(), TTAMachine::ImmediateSlot::setName(), TTAMachine::InstructionTemplate::setName(), TTAMachine::Bridge::setName(), TTAMachine::HWOperation::setName(), TTAMachine::ImmediateUnit::setName(), TTAMachine::FunctionUnit::setName(), TTAMachine::AddressSpace::setName(), TTAMachine::Socket::setName(), TTAMachine::Bus::setName(), TTAMachine::RegisterFile::setName(), setName(), BFOptimization::setPrologDstFUAnno(), BFOptimization::setPrologSrcFUAnno(), BusBroker::setupResourceLinks(), MemorySystem::shareMemoriesWith(), DefaultICGenerator::simmSignal(), DefaultICGenerator::simmSocket(), TTAMachine::ExecutionPipeline::slack(), MachineTestReporter::socketDirectionSettingError(), MachineTestReporter::socketPortConnectionError(), MachineTestReporter::socketSegmentConnectionError(), TTAMachine::ControlUnit::specialRegisterPort(), BFRegCopyAfter::splitMove(), BFRegCopyBefore::splitMove(), SimulatorFrontend::state(), ConnectionSweeper::sweepBypasses(), ConnectionSweeper::sweepRFs(), CompiledSimSymbolGenerator::targetMemorySymbol(), TTAProgram::ProgramWriter::terminalResource(), ProGe::RV32MicroCodeGenerator::throwInputPortError(), ProGe::RV32MicroCodeGenerator::throwOutputPortError(), ProGe::RV32MicroCodeGenerator::throwTriggeringPortError(), TTAProgram::TerminalRegister::toString(), EntryKeyDataFunctionUnit::toString(), CostEstimator::Estimator::totalAreaOfFunctionUnits(), CostEstimator::Estimator::totalAreaOfRegisterFiles(), CostEstimator::Estimator::totalEnergyOfFunctionUnits(), CostEstimator::Estimator::totalEnergyOfRegisterFiles(), PreOptimizer::tryToOptimizeAddressReg(), ITemplateBroker::unassignImmediate(), TTAMachine::UnconditionalGuard::UnconditionalGuard(), BFLateBypassGuard::undoOnlyMe(), BFRescheduleMove::undoOnlyMe(), BFLateBypass::undoOnlyMe(), BFUnscheduleMove::unscheduleOriginal(), BFUnscheduleFromBody::unscheduleOriginal(), TTAMachine::ImmediateSlot::unsetMachine(), TTAMachine::Bus::unsetMachine(), ProximPortWindow::update(), GCUDialog::updateAddressSpaceChoice(), FUDialog::updateAddressSpaceChoice(), AddressSpacesDialog::updateASList(), SocketDialog::updateConnected(), CompiledSimCodeGenerator::updateDeclaredSymbolsList(), BusDialog::updateGuardLists(), TemplateListDialog::updateSlotList(), IUPortDialog::updateSocket(), FUPortDialog::updateSockets(), SRPortDialog::updateSockets(), RFPortDialog::updateSockets(), ProgrammabilityValidator::validate(), TTAMachine::ImmediateSlot::width(), DefaultDecoderGenerator::writeBusControlRulesOfOutputSocket(), DefaultDecoderGenerator::writeBusControlRulesOfSImmSocketOfBus(), DefaultDecoderGenerator::writeControlRegisterMappings(), DefaultDecoderGenerator::writeControlRulesOfFUInputPort(), DefaultDecoderGenerator::writeControlRulesOfFUOutputPort(), DefaultDecoderGenerator::writeControlRulesOfRFReadPort(), DefaultDecoderGenerator::writeControlRulesOfRFWritePort(), DefaultDecoderGenerator::writeFUCntrlSignals(), FUTestbenchGenerator::writeInputPortStimulus(), DefaultDecoderGenerator::writeInstructionTemplateProcedures(), DefaultICGenerator::writeInterconnectionNetwork(), DefaultDecoderGenerator::writeLongImmediateWriteProcess(), DefaultDecoderGenerator::writeRFCntrlSignals(), DefaultDecoderGenerator::writeRFSRAMDecodingProcess(), DefaultDecoderGenerator::writeRulesForSourceControlSignals(), DefaultDecoderGenerator::writeSimmDataSignal(), DefaultDecoderGenerator::writeSocketCntrlSignals(), DefaultDecoderGenerator::writeSquashSignalGenerationProcess(), DefaultDecoderGenerator::writeSquashSignals(), DefaultDecoderGenerator::writeSquashSignalSubstitution(), and DataDependenceGraph::writeToXMLFile().
|
virtual |
Creates a new ObjectState instance and saves the name of the component into it.
Implements Serializable.
Reimplemented in TTAMachine::Bus, TTAMachine::FunctionUnit, TTAMachine::Socket, TTAMachine::InstructionTemplate, TTAMachine::NullInstructionTemplate, TTAMachine::RegisterFile, TTAMachine::NullRegisterFile, TTAMachine::ControlUnit, TTAMachine::AddressSpace, TTAMachine::ImmediateUnit, TTAMachine::OperationTriggeredFormat, TTAMachine::Bridge, TTAMachine::Unit, TTAMachine::NullAddressSpace, TTAMachine::BaseRegisterFile, and TTAMachine::ImmediateSlot.
Definition at line 189 of file MachinePart.cc.
References name(), OSKEY_NAME, OSNAME_COMPONENT, and ObjectState::setAttribute().
Referenced by CopyComponent::Do(), TTAMachine::ImmediateSlot::saveState(), TTAMachine::Unit::saveState(), TTAMachine::Bridge::saveState(), TTAMachine::OperationTriggeredFormat::saveState(), TTAMachine::InstructionTemplate::saveState(), TTAMachine::Socket::saveState(), and TTAMachine::Bus::saveState().
|
pure virtual |
Registers component into given Machine.
machine | A Machine. |
Implemented in TTAMachine::InstructionTemplate, TTAMachine::NullInstructionTemplate, TTAMachine::OperationTriggeredFormat, TTAMachine::ImmediateSlot, TTAMachine::NullAddressSpace, TTAMachine::Bus, TTAMachine::Socket, TTAMachine::AddressSpace, TTAMachine::Bridge, TTAMachine::Unit, TTAMachine::ControlUnit, and TTAMachine::NullRegisterFile.
|
virtual |
Sets the name of the component.
name | The new name. |
ComponentAlreadExists | Sub class implementations may throw the exception if there exists another component by the same name in the machine already. |
InvalidName | If the given name is not a valid name for a component. |
Reimplemented in TTAMachine::NullAddressSpace, TTAMachine::NullRegisterFile, TTAMachine::RegisterFile, TTAMachine::Bus, TTAMachine::Socket, TTAMachine::AddressSpace, TTAMachine::FunctionUnit, TTAMachine::ImmediateUnit, TTAMachine::Bridge, TTAMachine::InstructionTemplate, UnboundedRegisterFile, TTAMachine::ImmediateSlot, and TTAMachine::NullInstructionTemplate.
Definition at line 142 of file MachinePart.cc.
References MachineTester::isValidComponentName(), name(), name_, Texts::TextGenerator::text(), and MOMTextGenerator::TXT_INVALID_NAME.
Referenced by Component(), loadState(), TTAMachine::ImmediateSlot::setName(), TTAMachine::InstructionTemplate::setName(), TTAMachine::Bridge::setName(), TTAMachine::ImmediateUnit::setName(), TTAMachine::FunctionUnit::setName(), TTAMachine::AddressSpace::setName(), TTAMachine::Socket::setName(), TTAMachine::Bus::setName(), and TTAMachine::RegisterFile::setName().
|
pure virtual |
Removes component from its current Machine.
Implemented in TTAMachine::Bus, TTAMachine::FunctionUnit, TTAMachine::Socket, TTAMachine::InstructionTemplate, TTAMachine::RegisterFile, TTAMachine::NullInstructionTemplate, TTAMachine::AddressSpace, TTAMachine::ImmediateUnit, TTAMachine::OperationTriggeredFormat, TTAMachine::Bridge, TTAMachine::Unit, TTAMachine::ControlUnit, TTAMachine::NullAddressSpace, TTAMachine::NullRegisterFile, and TTAMachine::ImmediateSlot.
|
private |
Machine to which the component is registered.
Definition at line 155 of file MachinePart.hh.
Referenced by isRegistered().
|
private |
Name of the component.
Definition at line 153 of file MachinePart.hh.
|
static |
ObjectState attribute key for the name of the component.
Definition at line 137 of file MachinePart.hh.
Referenced by Component(), loadState(), TTAMachine::Machine::loadState(), TTAMachine::AddressSpace::saveState(), and saveState().
|
static |
ObjectState name for component.
Definition at line 135 of file MachinePart.hh.
Referenced by saveState().