|
OpenASIP 2.2
|
#include <iostream>#include <cmath>#include "EstimatorCmdLineOptions.hh"#include "Machine.hh"#include "ADFSerializer.hh"#include "MachineImplementation.hh"#include "IDFSerializer.hh"#include "Program.hh"#include "NullProgram.hh"#include "Binary.hh"#include "FileSystem.hh"#include "BinaryStream.hh"#include "BinaryReader.hh"#include "TPEFProgramFactory.hh"#include "ExecutionTrace.hh"#include "Estimator.hh"
Go to the source code of this file.
Functions | |
| bool | loadInputs (EstimatorCmdLineOptions &options) |
| void | cleanup () |
| int | main (int argc, char *argv[]) |
Variables | |
| bool | energyEstimation = false |
| this is set to true in case energy estimation can be performed with the given input files | |
| TTAMachine::Machine * | machine = NULL |
| the architecture definition of the estimated processor | |
| IDF::MachineImplementation * | implementation = NULL |
| the implementation definition of the estimated processor | |
| TTAProgram::Program * | program = NULL |
| the estimated program is stored in this variable (in case energy estimation is wanted | |
| ExecutionTrace * | trace = NULL |
| the execution trace database | |
Implementation of estimate.
The command line user interface of cost estimator.
Definition in file EstimatorCmdLineUI.cc.
| void cleanup | ( | ) |
Frees all allocated input resources.
Definition at line 179 of file EstimatorCmdLineUI.cc.
References energyEstimation, implementation, machine, program, and trace.
Referenced by main().
| bool loadInputs | ( | EstimatorCmdLineOptions & | options | ) |
Loads the input files using the command line arguments.
| options | The command line arguments. |
Definition at line 75 of file EstimatorCmdLineUI.cc.
References CmdLineParser::argument(), assert, TTAProgram::TPEFProgramFactory::build(), energyEstimation, Exception::errorMessage(), FileSystem::fileExists(), implementation, TTAProgram::NullProgram::instance(), machine, CmdLineParser::numberOfArguments(), ExecutionTrace::open(), options, program, TPEF::BinaryReader::readBinary(), ADFSerializer::readMachine(), IDF::IDFSerializer::readMachineImplementation(), XMLSerializer::setSourceFile(), and trace.
Referenced by main().

| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Main function.
Parses the command line and executes cost estimation functionality.
| argc | The command line argument count. |
| argv | The command line arguments (passed to the interpreter). |
Definition at line 204 of file EstimatorCmdLineUI.cc.
References cleanup(), energyEstimation, Exception::errorMessage(), implementation, Application::initialize(), loadInputs(), CostEstimator::Estimator::longestPath(), machine, options, CmdLineOptions::parse(), program, Application::setCmdLineOptions(), CostEstimator::Estimator::totalArea(), CostEstimator::Estimator::totalEnergy(), and trace.

| bool energyEstimation = false |
this is set to true in case energy estimation can be performed with the given input files
Definition at line 57 of file EstimatorCmdLineUI.cc.
Referenced by cleanup(), loadInputs(), and main().
| IDF::MachineImplementation* implementation = NULL |
the implementation definition of the estimated processor
Definition at line 61 of file EstimatorCmdLineUI.cc.
Referenced by ProGe::NetlistGenerator::addBaseRFToNetlist(), HDB::HDBManager::addBlockImplementationFiles(), HDB::HDBManager::addBlockImplementationFiles(), IDF::MachineImplementation::addBusImplementation(), HDB::HDBManager::addDataPortsToImplementation(), HDB::HDBManager::addDataPortsToImplementation(), DSDBManager::addEnergyEstimate(), HDB::HDBManager::addFUExternalPortsToImplementation(), IDF::MachineImplementation::addFUImplementation(), HDB::HDBManager::addFUParametersToImplementation(), IDF::MachineImplementation::addIUImplementation(), HDB::HDBManager::addOpcodesToImplementation(), HDB::HDBManager::addRFExternalPortsToImplementation(), HDB::HDBManager::addRFImplementation(), IDF::MachineImplementation::addRFImplementation(), HDB::HDBManager::addRFParametersToImplementation(), IDF::MachineImplementation::addSocketImplementation(), DSDBManager::areaEstimate(), ProGe::ProcessorGenerator::checkIULatencies(), cleanup(), ProGe::BlockSourceCopier::copyBaseRFFiles(), ProGe::BlockSourceCopier::copyFiles(), HDB::HDBManager::createImplementationOfFU(), HDB::HDBManager::createImplementationOfRF(), DefaultICDecoderEstimator::delayOfBus(), DefaultICDecoderEstimator::delayOfSocket(), AddFUImplementationCmd::Do(), AddRFImplementationCmd::Do(), DSDBManager::energyEstimate(), StrictMatchRFEstimator::estimateArea(), StrictMatchFUEstimator::estimateArea(), StrictMatchRFEstimator::estimateEnergy(), InterpolatingFUEstimator::estimateEnergy(), StrictMatchFUEstimator::estimateEnergy(), StrictMatchRFEstimator::estimateMaximumComputationDelay(), StrictMatchFUEstimator::estimateMaximumComputationDelay(), StrictMatchFUEstimator::estimatePortReadDelay(), StrictMatchRFEstimator::estimatePortReadDelay(), StrictMatchFUEstimator::estimatePortWriteDelay(), StrictMatchRFEstimator::estimatePortWriteDelay(), IDF::MachineImplementation::findImplementation(), HDB::HDBManager::fuByEntryID(), ProGeTestBenchGenerator::generate(), DefaultICDecoderGenerator::generate(), ProGe::ProcessorGenerator::generateProcessor(), DSDBManager::hasEnergyEstimate(), PlatformIntegrator::loadFUExternalPorts(), loadInputs(), DSDBManager::longestPathDelayEstimate(), main(), ProGe::NetlistGenerator::opcodePortWidth(), readIdf(), IDF::IDFSerializer::readMachineImplementation(), IDF::MachineImplementation::removeBusImplementation(), IDF::MachineImplementation::removeFUImplementation(), IDF::MachineImplementation::removeIUImplementation(), IDF::MachineImplementation::removeRFImplementation(), IDF::MachineImplementation::removeSocketImplementation(), HDB::HDBManager::rfByEntryID(), DSDBManager::setAreaEstimate(), DSDBManager::setLongestPathDelayEstimate(), ImplementationTester::simulateTestbench(), and IDF::IDFSerializer::writeMachineImplementation().
| TTAMachine::Machine* machine = NULL |
the architecture definition of the estimated processor
Definition at line 59 of file EstimatorCmdLineUI.cc.
Referenced by RegisterCopyAdder::addCandidateSetAnnotations(), FullyConnectedCheck::attachSocketToAllBusses(), ResourceBuildDirector::build(), MachineStateBuilder::build(), MachineStateBuilder::build(), MachineStateBuilder::build(), SimulationController::buildFUResourceConflictDetectors(), MachineStateBuilder::buildMachineState(), MinimalOpSetCheck::buildMinimalOpSet(), BUMoveNodeSelector::BUMoveNodeSelector(), BUMoveNodeSelector::BUMoveNodeSelector(), BUMoveNodeSelector::BUMoveNodeSelector(), BFOptimization::canBeScheduled(), MachineConnectivityCheck::canTransportMove(), MinimalOpSetCheck::check(), MinimalOpSetCheck::check(), ProGe::ProcessorGenerator::checkIULatencies(), MinimalOpSetCheck::checkWithIgnore(), cleanup(), TTAMachine::FUPort::cleanupGuards(), CompiledSimCodeGenerator::CompiledSimCodeGenerator(), FullyConnectedCheck::connectFUPort(), ADFSerializer::convertToMachineFormat(), TTAMachine::Machine::copyFromMachine(), MachineEditPartFactory::createEditPart(), POMDisassembler::createGuard(), POMDisassembler::createRegister(), FullyConnectedCheck::createSocket(), createTerminalFUPort(), CriticalPathBBMoveNodeSelector::CriticalPathBBMoveNodeSelector(), CriticalPathBBMoveNodeSelector::CriticalPathBBMoveNodeSelector(), CriticalPathBBMoveNodeSelector::CriticalPathBBMoveNodeSelector(), AddFUArchFromADFCmd::Do(), AddBridgeCmd::Do(), BlocksConnectICCmd::Do(), CallExplorerPluginCmd::Do(), FullyConnectBussesCmd::Do(), ImplementMachineCmd::Do(), PasteComponentCmd::Do(), VerifyMachineCmd::Do(), VLIWConnectICCmd::Do(), DefaultICDecoderEstimator::estimateICArea(), DefaultICDecoderEstimator::estimateICEnergy(), CopyingDelaySlotFiller::fillDelaySlots(), CostEstimator::Estimator::findAllICPaths(), findBooleanGuard(), findBooleanRegisterFile(), findBus(), SimulationController::findExitPoints(), findFunctionUnit(), findFUPort(), MachineInfo::findLockUnits(), TTASimulationController::findProgramExitPoints(), findRegisterFile(), MachineInfo::findWidestOperand(), ProGe::ProcessorGenerator::generateGCUOpcodesPackage(), ProGe::ProcessorGenerator::generateGlobalsPackage(), generateHeader(), ProGe::ProcessorGenerator::generateProcessor(), MachineEditPartFactory::getBusChains(), getFunctionUnit(), getRegisterFile(), MachineEditPartFactory::getSockets(), BasicBlockScheduler::getTriggerOperand(), MachineEditPartFactory::getUnits(), CostEstimator::Estimator::icArea(), CostEstimator::Estimator::icEnergy(), FUGen::implement(), AddWatchDialog::initialize(), CopyingDelaySlotFiller::initialize(), ProGe::PortFactory::initializeContext(), initializeMachine(), ProGe::NetlistGenerator::instructionMemory(), ProGe::NetlistGenerator::instructionMemoryAddressWidth(), ProGe::NetlistGenerator::instructionMemoryWidth(), GenerateProcessor::listICDecPluginParameters(), loadInputs(), ProgramImageGenerator::loadMachine(), CostEstimator::Estimator::longestPath(), MachineAnalysis::MachineAnalysis(), main(), MinimalOpSetCheck::missingOperations(), MachineConnectivityCheck::needRegCopiesDueReadPortConflicts(), MachineInfo::numberOfRegisters(), AddFUFromHDBDialog::onAdd(), AddIUFromHDBDialog::onAdd(), AddRFFromHDBDialog::onAdd(), OTAFormatListDialog::onAddOTAFormat(), TemplateListDialog::onAddTemplate(), BridgeDialog::onOK(), SocketDialog::onOK(), AddressSpaceDialog::onOK(), FUDialog::onOK(), FUPortDialog::onOK(), GCUDialog::onOK(), IUDialog::onOK(), RFDialog::onOK(), SRPortDialog::onOK(), ProximMachineStateWindow::onProgramLoaded(), CallExplorerPluginWindow::onRun(), MDFView::OnUpdate(), printLatexAddressSpaceDescription(), printLatexFunctionUnitDescription(), ProgrammabilityValidator::ProgrammabilityValidator(), ProximMachineStateWindow::ProximMachineStateWindow(), MachineConnectivityCheck::raConnected(), RemoteController::RemoteController(), ProGe::ProcessorGenerator::removeUnconnectedSockets(), IDFValidator::removeUnknownImplementations(), MachineCheckSuite::run(), ProGe::RV32MicroCodeGenerator::RV32MicroCodeGenerator(), MachineCanvas::setMachine(), TTAMachine::ImmediateUnit::setName(), ProximMachineStateWindow::setUtilizationHighlights(), DesignSpaceExplorer::simulate(), SimulationController::SimulationController(), FullyConnectedCheck::socketAttachedToAllBusses(), MachineInfo::supportsBoolRegisterGuardedJumps(), MachineInfo::supportsPortGuardedJump(), MachineInfo::supportsPortGuardedJumps(), tandemSimulate(), MachineConnectivityCheck::tempRegisterFiles(), CostEstimator::Estimator::totalArea(), CostEstimator::Estimator::totalAreaOfFunctionUnits(), CostEstimator::Estimator::totalAreaOfRegisterFiles(), CostEstimator::Estimator::totalEnergy(), CostEstimator::Estimator::totalEnergyOfFunctionUnits(), CostEstimator::Estimator::totalEnergyOfRegisterFiles(), MachineInfo::triggerIndex(), TTAMachine::ImmediateUnit::unsetMachine(), validateIdf(), ProGe::ProcessorGenerator::validateMachine(), ADFSerializer::writeMachine(), and Model::~Model().
| TTAProgram::Program* program = NULL |
the estimated program is stored in this variable (in case energy estimation is wanted
Definition at line 64 of file EstimatorCmdLineUI.cc.
Referenced by cleanup(), loadInputs(), and main().
| ExecutionTrace* trace = NULL |
the execution trace database
Definition at line 66 of file EstimatorCmdLineUI.cc.
Referenced by cleanup(), InterpolatingRFEstimator::estimateEnergy(), StrictMatchRFEstimator::estimateEnergy(), InterpolatingFUEstimator::estimateEnergy(), StrictMatchFUEstimator::estimateEnergy(), loadInputs(), and main().