1 #ifndef L1GtConfigProducers_L1GtVhdlWriterCore_h 2 #define L1GtConfigProducers_L1GtVhdlWriterCore_h 85 std::map<std::string, std::string> &commonParams);
96 void addJetCountsToCond2IntMap(
const int chip,
const std::vector<ConditionMap> &conditionMap, std::map<std::string,int> &conditionToIntegerMap);
103 void buildCommonHeader(std::map<std::string,std::string> &headerParameters ,
const std::vector<std::string> &connectedChannels);
121 void writeConditionChipSetup(
const std::map<std::string, L1GtVhdlTemplateFile>& templates,
const std::map<std::string, std::string> &
common,
const unsigned short int &chip);
124 void writeDefValPkg(
const std::vector<ConditionMap> &conditionMap,
const int &chip);
130 void writeAlgoSetup(std::vector< std::map<int, std::string> > &algoStrings);
139 bool getIntVal(
const std::map<std::string,int> &map,
const std::string &searchValue,
int &intVal);
std::string vhdlDir_
templates directory
std::string sp(const std::string &name)
converts string name to substiution parameter synthax; name –>
void writeQsfSetupFiles(const std::string &version)
builds the two quartus setup files. This routine is called in buildCommonHeader!
std::vector< L1GtObject > esumObjects_
list of all possible esums objects
std::map< L1GtObject, std::string > caloType2Int_
converts L1GtObject to calo_nr
void writeDefValPkg(const std::vector< ConditionMap > &conditionMap, const int &chip)
writes def_val_pkg.vhd
std::map< L1GtConditionType, std::string > condType2Str_
converts L1GtConditionType to firmware string
bool getCaloSetupContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, std::string > &caloParameters, const L1GtObject &caloObject)
L1GtVhdlWriterBitManager bm_
bit manager for bit operations
std::string getDefValsFromTriggerMenu(const L1GtConditionType &type, const L1GtObject &object, const VmeRegister ®)
L1GtVhdlWriterCore(const std::string &templatesDirectory, const std::string &outputDirectory, const bool &debug)
constructor
std::vector< L1GtObject > caloObjects_
list of all possible calo objects
std::string index4CondChipVhd(int intval)
std::vector< std::vector< std::string > > numberOfConditions_
vector containing the initialization of all conditions
bool getIntVal(const std::map< std::string, int > &map, const std::string &searchValue, int &intVal)
checks weather value searchValue exists in a <string,int> map, saves it in &intVal if it exists and r...
static std::string int2str(const int &integerValue)
converts a integer into a string
bool returnConditionsOfOneClass(const L1GtConditionType &type, const L1GtConditionCategory &category, const L1GtObject &object, const ConditionMap &map, ConditionMap &outputMap)
bool getEsumsSetupContentFromTriggerMenu(const unsigned short int &condChip, const L1GtObject &object, std::string &energySumParameter)
contains only one subsitution parameter which is stored in reference energySumParameter ...
L1GtConditionCategory getCategoryFromObject(const L1GtObject &object)
gets condition category from object
const AlgorithmMap * algorithmMap_
algorithm map
std::vector< std::string > getMsgBuf()
returns intern message buffer
void writeEtmSetup(std::string &etmString, const int &condChip)
builds etm setup files
~L1GtVhdlWriterCore() override
destructor
bool makeFirmware(const std::vector< ConditionMap > &conditionMap, const AlgorithmMap &algorithmMap)
produces the firmware code
void writeCond2intMap2File()
produces a control output file for condition to integer conversion
bool getSubstParamCommonFromTriggerMenu(const unsigned short int &condChip, L1GtVhdlTemplateFile &particle, const L1GtObject &object, const L1GtConditionCategory &category, std::string ¶meterStr)
builds the parameters particle_common for the cond_chip.vhd's
void printCommonHeader()
prints the common header
L1GtVhdlTemplateFile commonHeader_
common header for all files
L1GtConditionCategory
condition categories
void initializeDeltaConditions()
void writeCondChipPkg(const int &chip)
L1GtVhdlTemplateFile retrunCommonHeader()
returns the common header
void countCondsAndAdd2NumberVec(const L1GtConditionType &type, const L1GtConditionCategory &category, const L1GtObject &object, const ConditionMap &map, ConditionMap &outputMap, const int &condChip)
const std::vector< ConditionMap > * conditionMap_
condition map
std::string retNumberOfConditionsString(const std::string &typeStr, const int &number)
std::string gtTemplatesPath()
returns the templates path
void getMuonSetupContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, std::string > &muonParameters)
void msg(const std::string &message)
adds a string to intern message buffer
std::vector< std::string > internMessageBuf_
std::string outputDir_
output directory
bool getCondChipVhdContentFromTriggerMenu(const unsigned short int &condChip, std::map< std::string, L1GtVhdlTemplateFile > &templates, std::map< std::string, std::string > &commonParams)
void writeConditionChipSetup(const std::map< std::string, L1GtVhdlTemplateFile > &templates, const std::map< std::string, std::string > &common, const unsigned short int &chip)
builds cond_chip.vhds
std::map< std::string, int > getCond2IntMap()
std::string chip2OutputSubDir(const int &chip)
std::string buildDefValString(const int &conditionIndex, const std::vector< int > &values)
void addJetCountsToCond2IntMap(const int chip, const std::vector< ConditionMap > &conditionMap, std::map< std::string, int > &conditionToIntegerMap)
L1GtVhdlTemplateFile openVhdlFileWithCommonHeader(const std::string &filename, const std::string &outputFilename)
opens a new template file and inserts the common header
void writeMuonSetupVhdl(std::map< std::string, std::string > &muonParameters, const std::string &particle, unsigned short int &condChip)
builds muon setup files
std::map< std::string, int > conditionToIntegerMap_
stores to condition name to integer conversion table
void printConditionsOfCategory(const L1GtConditionCategory &category, const ConditionMap &map)
for debuggin
bool findObjectType(const L1GtObject &object, ConditionMap &map)
void buildCommonHeader(std::map< std::string, std::string > &headerParameters, const std::vector< std::string > &connectedChannels)
builds the common header for all files
void writeAlgoSetup(std::vector< std::map< int, std::string > > &algoStrings)
builds the prealgo_and_or setup
bool processAlgorithmMap(std::vector< std::map< int, std::string > > &algoStrings)
std::map< L1GtObject, std::string > objType2Str_
converts L1GtObject to string
bool buildDefValuesBuffer(L1GtVhdlTemplateFile &buffer, const std::map< L1GtConditionType, std::string > &typeList, const std::vector< std::string > &defValuesList, const L1GtObject &object)
bool debugMode_
class will produce some additional debugging output if set