Go to the documentation of this file.
63 const std::string& name,
64 const std::string& opcodePort,
65 const std::string& clkPort,
66 const std::string& rstPort,
67 const std::string& glockPort,
68 const std::string& glockReqPort) :
70 opcodePort_(opcodePort), glockReqPort_(glockReqPort) {
212 OpcodeMap::const_iterator iter =
opcodes_.begin();
213 for (
int i = 0; i < index; i++) {
244 return MapTools::valueForKey<int>(
opcodes_, opName);
353 const string procName =
"FUImplementation::architecturePort";
354 throw OutOfRange(__FILE__, __LINE__, procName);
371 const std::string& architectureName)
const {
378 "No port implementation with the given architecture name found.");
392 const string procName =
"FUImplementation::externalPort";
393 throw OutOfRange(__FILE__, __LINE__, procName);
410 const std::string& name,
const std::string& type,
411 const std::string& value) {
427 for (ParameterTable::iterator iter =
parameters_.begin();
429 if (iter->name == name) {
473 for (ParameterTable::const_iterator iter =
parameters_.begin();
475 if (iter->name == name) {
ParameterTable parameters_
Contains the parameters.
void addArchitecturePort(FUPortImplementation *port)
OpcodeMap opcodes_
Contains the operation codes.
bool hasOpcode(const std::string &operation) const
std::string glockReqPort_
Name of the global lock request port.
void addExternalPort(FUExternalPort *port)
FUExternalPort & externalPort(int index) const
std::string opcodePort() const
std::string opcodePort_
Name of the opcode port.
std::string glockReqPort() const
int parameterCount() const
void setGlockReqPort(const std::string &name)
ExternalPortTable externalPorts_
Contains the external ports.
void addParameter(const std::string &name, const std::string &type, const std::string &value)
std::string opcodeOperation(int index) const
FUImplementation(const std::string &name, const std::string &opcodePort, const std::string &clkPort, const std::string &rstPort, const std::string &glockPort, const std::string &glockReqPort)
void setOpcode(const std::string &operation, int opcode)
void deleteExternalPort(FUExternalPort *port)
void setOpcodePort(const std::string &name)
int opcode(const std::string &operation) const
void deleteArchitecturePort(FUPortImplementation *port)
Parameter parameter(int index) const
void unsetOpcode(const std::string &operation)
int architecturePortCount() const
virtual ~FUImplementation()
int maxOpcodeWidth() const
FUPortImplementation & portImplementationByArchitectureName(const std::string &architectureName) const
FUPortImplementation & architecturePort(int index) const
int externalPortCount() const
bool hasParameter(const std::string &name) const
void removeParameter(const std::string &name)
PortTable ports_
Contains the architectural ports.