OpenASIP
2.0
|
#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 More... | |
TTAMachine::Machine * | machine = NULL |
the architecture definition of the estimated processor More... | |
IDF::MachineImplementation * | implementation = NULL |
the implementation definition of the estimated processor More... | |
TTAProgram::Program * | program = NULL |
the estimated program is stored in this variable (in case energy estimation is wanted More... | |
ExecutionTrace * | trace = NULL |
the execution trace database More... | |
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(), IDF::MachineImplementation::addBusImplementation(), HDB::HDBManager::addDataPortsToImplementation(), HDB::HDBManager::addFUExternalPortsToImplementation(), IDF::MachineImplementation::addFUImplementation(), HDB::HDBManager::addFUParametersToImplementation(), IDF::MachineImplementation::addIUImplementation(), HDB::HDBManager::addOpcodesToImplementation(), HDB::HDBManager::addRFExternalPortsToImplementation(), IDF::MachineImplementation::addRFImplementation(), HDB::HDBManager::addRFImplementation(), HDB::HDBManager::addRFParametersToImplementation(), IDF::MachineImplementation::addSocketImplementation(), ProGe::ProcessorGenerator::checkIULatencies(), cleanup(), ProGe::BlockSourceCopier::copyBaseRFFiles(), ProGe::BlockSourceCopier::copyFiles(), HDB::HDBManager::createImplementationOfFU(), HDB::HDBManager::createImplementationOfRF(), DefaultICDecoderEstimator::delayOfBus(), DefaultICDecoderEstimator::delayOfSocket(), AddRFImplementationCmd::Do(), AddFUImplementationCmd::Do(), StrictMatchFUEstimator::estimateArea(), StrictMatchRFEstimator::estimateArea(), StrictMatchFUEstimator::estimateEnergy(), StrictMatchRFEstimator::estimateEnergy(), InterpolatingFUEstimator::estimateEnergy(), StrictMatchFUEstimator::estimateMaximumComputationDelay(), StrictMatchRFEstimator::estimateMaximumComputationDelay(), StrictMatchFUEstimator::estimatePortReadDelay(), StrictMatchRFEstimator::estimatePortReadDelay(), StrictMatchFUEstimator::estimatePortWriteDelay(), StrictMatchRFEstimator::estimatePortWriteDelay(), IDF::MachineImplementation::findImplementation(), HDB::HDBManager::fuByEntryID(), ProGeTestBenchGenerator::generate(), DefaultICDecoderGenerator::generate(), ProGe::ProcessorGenerator::generateProcessor(), PlatformIntegrator::loadFUExternalPorts(), loadInputs(), 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(), 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(), SimulationController::buildFUResourceConflictDetectors(), MachineStateBuilder::buildMachineState(), MinimalOpSetCheck::buildMinimalOpSet(), BUMoveNodeSelector::BUMoveNodeSelector(), BFOptimization::canBeScheduled(), MachineConnectivityCheck::canTransportMove(), MinimalOpSetCheck::check(), ProGe::ProcessorGenerator::checkIULatencies(), MinimalOpSetCheck::checkWithIgnore(), cleanup(), TTAMachine::FUPort::cleanupGuards(), CompiledSimCodeGenerator::CompiledSimCodeGenerator(), InstructionDictionary::compress(), FullyConnectedCheck::connectFUPort(), ADFSerializer::convertToMachineFormat(), TTAMachine::Machine::copyFromMachine(), MachineEditPartFactory::createEditPart(), POMDisassembler::createGuard(), POMDisassembler::createRegister(), FullyConnectedCheck::createSocket(), createTerminalFUPort(), CriticalPathBBMoveNodeSelector::CriticalPathBBMoveNodeSelector(), DefaultICDecoderGenerator::DefaultICDecoderGenerator(), AddFUArchFromADFCmd::Do(), BlocksConnectICCmd::Do(), VerifyMachineCmd::Do(), VLIWConnectICCmd::Do(), AddBridgeCmd::Do(), CallExplorerPluginCmd::Do(), ImplementMachineCmd::Do(), PasteComponentCmd::Do(), FullyConnectBussesCmd::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(), 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(), AddIUFromHDBDialog::onAdd(), AddRFFromHDBDialog::onAdd(), AddFUFromHDBDialog::onAdd(), OTAFormatListDialog::onAddOTAFormat(), TemplateListDialog::onAddTemplate(), FUPortDialog::onOK(), RFDialog::onOK(), SRPortDialog::onOK(), SocketDialog::onOK(), FUDialog::onOK(), IUDialog::onOK(), BridgeDialog::onOK(), AddressSpaceDialog::onOK(), GCUDialog::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(), 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(), 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(), StrictMatchFUEstimator::estimateEnergy(), StrictMatchRFEstimator::estimateEnergy(), InterpolatingFUEstimator::estimateEnergy(), InterpolatingRFEstimator::estimateEnergy(), loadInputs(), and main().