Go to the documentation of this file.
37 #include "tce_config.h"
100 "The directory for HDL files that are potentially shared between "
101 "multiple generated processors.",
"s");
107 "IC/Decoder generator plugin file.",
"u");
118 "Instruction memory type. Available types depends on "
119 "the platform integrator. Types are 'vhdl_array', 'onchip', "
120 "'sram', 'dram' and 'none'.",
126 DMEM_TYPE,
"Data memory type. Available types depends on the "
127 "platform integrator. Types are 'vhdl_array', 'onchip', 'sram',"
128 " 'dram' and 'none'",
"d");
138 TPEF_NAME,
"Name of tpef program.",
"p");
143 "String to use to make the generated VHDL entities unique. This "
144 "is also used in the name of the top level entity platform "
145 "integrator creates. Default is 'tta0' for the core, thus "
146 "'tta0_toplevel' for the platform integrator top level "
154 "integrator files.",
"a");
171 "Set FPGA device family for integration. Stand-alone integrators "
172 "may ignore this parameter. Example: \"Stratix II\" or "
173 "Stratix\\ II",
"m");
178 "Set FPGA device family for integration. Stand-alone integrators "
179 "may ignore this parameter. Example: \"xc7z020clg400-1\"");
184 "The runtime of the simulation in nanoseconds. Default: 52390 ns",
189 FORCE_OUTPUT,
"Forces output writing into existing directory.",
"F");
193 SYNC_RESET,
"Generate Synchronous reset (default async).");
197 HDB_LIST,
"Comma separated list of HDBs for automated generation.",
203 "Comma separated list of IC decoder plugin arguments "
204 "for automated generation.");
209 "Prefer HDL generation over existing HDB implementations.");
214 "Doesn't reset unnecessary registers (default false).");
227 "Comma separated list of FUs to back-register.");
232 "Comma separated list of FUs to front-register.");
238 "Comma separated list of FUs to middle-register.");
383 string deviceFamily =
"";
392 string devicePart =
"";
409 std::ostringstream s;
443 std::vector<std::string>
445 const std::string argumentName)
const {
446 std::vector<std::string> list;
451 std::stringstream ss(str);
454 std::getline(ss,
sub,
',');
455 if (
sub.size() > 1) {
456 list.emplace_back(
sub);
465 std::vector<std::string>
473 std::vector<std::string>
481 std::vector<std::pair<std::string, std::string>>
484 std::vector<std::pair<std::string, std::string>> parsed_pairs;
486 for (std::string key_val_pair : raw_pairs) {
487 if (key_val_pair.size() > 1) {
488 std::stringstream kvp(key_val_pair);
491 std::getline(kvp, key,
':');
492 std::getline(kvp, value,
':');
493 parsed_pairs.emplace_back(key, value);
502 std::vector<std::string>
507 std::vector<std::string>
512 std::vector<std::string>
517 std::vector<std::string>
543 std::cout <<
"generateprocessor - OpenASIP Processor Generator "
554 cout <<
"Usage: generateprocessor [options] <processor>" << endl
555 <<
"where <processor> means either an ADF or PCF file." << endl;
virtual ~ProGeCmdLineOptions()
virtual void printHelp() const
std::string processorToGenerate() const
const string FORCE_OUTPUT
std::string tpefName() const
const string ICD_ARG_LIST
std::string bemFile() const
const string INTEGRATOR_NAME
virtual int numberOfArguments() const
bool useAbsolutePaths() const
const string FU_BACKREGISTER_LIST
const string FU_MIDDLEREGISTER_LIST
const string HDL_PARAM_NAME
std::vector< std::pair< std::string, std::string > > icdArgList() const
bool generateTestbench() const
virtual void printVersion() const
const string PLUGIN_PARAMETERS_PARAM_NAME
virtual bool isFlagOn() const
std::string pluginParametersQuery() const
const string BEM_PARAM_NAME
const string SHARED_OUTPUTDIR_PARAM_NAME
std::string idfFile() const
std::vector< std::string > commaSeparatedList(const std::string argumentName) const
const string SIMULATION_RUNTIME
std::vector< std::string > fuFrontRegistered() const
const string FU_FRONTREGISTER_LIST
void addOption(CmdLineOptionParser *opt)
std::vector< std::string > fuIcGateList() const
bool listAvailableIntegrators() const
std::vector< std::string > hdbList() const
const string DONT_RESET_ALL
std::vector< std::string > fuBackRegistered() const
const string USE_ABSOLUTE_PATHS
virtual void printHelp() const
int clockFrequency() const
std::string imemType() const
std::string simulationRuntime() const
const string IDF_PARAM_NAME
const string ICDECODER_PARAM_NAME
virtual std::string String(int index=0) const
const string GENERATE_TESTBENCH
const string RF_ICGATE_LIST
bool preferHDLGeneration() const
const string OUTPUTDIR_PARAM_NAME
std::string sharedOutputDirectory() const
bool forceOutputDirectory() const
const string LIST_INTEGRATORS
std::vector< std::string > fuMiddleRegistered() const
std::string dmemType() const
const string DEVICE_FAMILY
std::string deviceFamilyName() const
std::string outputDirectory() const
virtual int integer(int index=0) const
CmdLineOptionParser * findOption(std::string name) const
virtual std::string argument(int index) const
bool resetAllRegisters() const
static std::string TCEVersionString()
std::string integratorName() const
std::string deviceName() const
std::string entityName() const
const string CLK_FREQUENCY
const string FU_ICGATE_LIST
std::vector< std::string > rfIcGateList() const