#include "sdf3gast.h"
#include "base/base.h"
#include "../../sdf.h"
Classes | |
struct | _Settings |
Typedefs | |
typedef struct _Settings | Settings |
Functions | |
void | helpMessage (ostream &out) |
void | parseCommandLine (int argc, char **argv) |
CNode * | loadApplicationGraphFromFile (CString &file, CString &module) |
CNode * | loadArchitectureGraphFromFile (CString &file, CString &module) |
CNode * | loadSystemUsageFromFile (CString &file, CString &module) |
void | parseSettingsFile (CString module, CString type) |
void | setDefaults () |
void | initSettings (int argc, char **argv) |
void | outputSystemUsage (ostream &out, PlatformGraph *g) |
void | outputCommunicationTrace (TimedSDFgraph *appGraph, PlatformGraph *archGraph, ostream &out) |
bool | bindApplicationGraphsToArchitectureGraph (ostream &out, bool check=false) |
int | main (int argc, char **argv) |
Variables | |
Settings | settings |
Typedef Documentation
Function Documentation
bool bindApplicationGraphsToArchitectureGraph | ( | ostream & | out, | |
bool | check = false | |||
) |
bindApplicationGraphsToArchitectureGraph () The function tries to bind all application graphs, in the order specified in the XML file, to the architecture graph using the requested binding algorithm. When an application is succesfully bound to the architecture, it outputs the binding. The function returns true if all application graphs are succesfully bound to the architecture graph. Otherwise, it returns false.
References LoadBalanceBinding::allocateTDMAtimeSlices(), archGraph, LoadBalanceBinding::bindingCheck(), LoadBalanceBinding::bindSDFGtoTiles(), CGetAttribute(), CGetChildNode(), CNextNode(), Settings::cnst_a, Settings::cnst_b, Settings::cnst_c, Settings::cnst_d, Settings::cnst_e, Settings::cnst_f, Settings::cnst_g, Settings::cnst_k, Settings::cnst_l, Settings::cnst_m, Settings::cnst_n, Settings::cnst_o, Settings::cnst_p, Settings::cnst_q, TimedSDFgraph::construct(), constructPlatformGraph(), createSystemUsageNode(), SDFcomponent::getName(), ArchComponent::getName(), outputBindingAsXML(), outputCommunicationTrace(), outputSystemUsage(), outputSystemUsageAsXML(), printTimer(), SDFflowTypeNSoC, LoadBalanceBinding::setAppGraph(), Binding::setArchGraph(), LoadBalanceBinding::setConstantsTileCostFunction(), setMappingPlatformGraph(), setUsagePlatformGraph(), startTimer(), stopTimer(), Settings::tileMappingAlgo, Settings::xmlAppGraphs, Settings::xmlArchGraph, and Settings::xmlSystemUsage.
Referenced by main().
void helpMessage | ( | ostream & | out | ) |
helpMessage () Function prints help message for the tool.
References DOTTED_VERSION, and TOOL.
void initSettings | ( | int | argc, | |
char ** | argv | |||
) |
initSettings () The function initializes the program settings.
References MODULE, parseCommandLine(), parseSettingsFile(), setDefaults(), and SETTINGS_TYPE.
loadApplicationGraphFromFile () The function returns a pointer to an XML data structures contained in the supplied file that describes the SDFG.
References CGetAttribute(), CGetChildNode(), CGetRootNode(), and CParseFile().
loadArchitectureGraphFromFile () The function returns a pointer to an XML data structures contained in the supplied file that describes the platform.
References CGetAttribute(), CGetChildNode(), CGetRootNode(), and CParseFile().
loadSystemUsageFromFile () The function returns a pointer to an XML data structures contained in the supplied file that describes the used resources by other applications.
References CGetAttribute(), CGetChildNode(), CGetRootNode(), and CParseFile().
int main | ( | int | argc, | |
char ** | argv | |||
) |
main () It does none of the hard work, but it is very needed...
References bindApplicationGraphsToArchitectureGraph(), initSettings(), MaxPlusAnalysis::out, and Settings::outputFile.
void outputCommunicationTrace | ( | TimedSDFgraph * | appGraph, | |
PlatformGraph * | archGraph, | |||
ostream & | out | |||
) |
outputCommunicationTrace () The function outputs all message sets (i.e. the communication scheduling problem) to the supplied stream.
References CAddAttribute(), CAddNode(), CNewDoc(), CNewNode(), CSaveFile(), SDFflowTypeNSoC, and SDFstateSpaceTraceInterconnectCommunication::trace().
Referenced by bindApplicationGraphsToArchitectureGraph().
void outputSystemUsage | ( | ostream & | out, | |
PlatformGraph * | g | |||
) |
outputSystemUsage () The function outputs the percentage of occupied resources for all elements in the platform graph.
References NetworkInterface::availableInBandwidth(), Memory::availableMemorySize(), NetworkInterface::availableNrConnections(), NetworkInterface::availableOutBandwidth(), Processor::availableTimewheelSize(), NetworkInterface::getInBandwidth(), Tile::getMemory(), ArchComponent::getName(), Tile::getNetworkInterface(), NetworkInterface::getNrConnections(), NetworkInterface::getOutBandwidth(), Tile::getProcessor(), Memory::getSize(), Processor::getTimewheelSize(), PlatformGraph::tilesBegin(), and PlatformGraph::tilesEnd().
Referenced by bindApplicationGraphsToArchitectureGraph().
void parseCommandLine | ( | int | argc, | |
char ** | argv | |||
) |
parseCommandLine () The function parses the command line arguments and add info to the supplied settings structure.
References helpMessage(), Settings::outputFile, Settings::settingsFile, and Settings::tileMappingAlgo.
parseSettingsFile () The function parses all settings from the file.
References CGetAttribute(), CGetChildNode(), CGetRootNode(), CHasAttribute(), CNextNode(), Settings::cnst_a, Settings::cnst_b, Settings::cnst_c, Settings::cnst_d, Settings::cnst_e, Settings::cnst_f, Settings::cnst_g, Settings::cnst_k, Settings::cnst_l, Settings::cnst_m, Settings::cnst_n, Settings::cnst_o, Settings::cnst_p, Settings::cnst_q, CParseFile(), loadApplicationGraphFromFile(), loadArchitectureGraphFromFile(), loadSystemUsageFromFile(), Settings::settingsFile, Settings::tileMappingAlgo, Settings::xmlAppGraphs, Settings::xmlArchGraph, and Settings::xmlSystemUsage.
void setDefaults | ( | ) |
setDefaults () Set all settings at their default value.
References Settings::cnst_a, Settings::cnst_b, Settings::cnst_c, Settings::cnst_d, Settings::cnst_e, Settings::cnst_f, Settings::cnst_g, Settings::cnst_k, Settings::cnst_l, Settings::cnst_m, Settings::cnst_n, Settings::cnst_o, Settings::cnst_p, Settings::cnst_q, Settings::settingsFile, Settings::tileMappingAlgo, Settings::xmlArchGraph, and Settings::xmlSystemUsage.