adds initial files for mt test
Some checks failed
SCC Test/pipeline/head There was a failure building this commit
Some checks failed
SCC Test/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#define EXAMPLES_EX09_HIERARCHICAL_OVERRIDE_OF_PARAMETER_VALUES_TOP_MODULE_H_
|
||||
|
||||
#include <cci_configuration>
|
||||
#include <fmt/core.h>
|
||||
#include <scc/report.h>
|
||||
#include <sstream>
|
||||
#include <tlm>
|
||||
@@ -40,6 +41,7 @@
|
||||
#include "initiator.h"
|
||||
#include "router.h"
|
||||
#include "target.h"
|
||||
#include <fmt/format.h>
|
||||
|
||||
/**
|
||||
* @class top_module
|
||||
@@ -89,15 +91,13 @@ public:
|
||||
|
||||
/// Creating instances of initiator(s)
|
||||
for(int i = 0; i < n_initiators; i++) {
|
||||
snprintf(initiatorName, sizeof(initiatorName), "initiator_%d", i);
|
||||
auto initiatorName = fmt::format("initiator_{}", i);
|
||||
SCCINFO(SCMOD) << "[TOP_MODULE C_TOR] : Creating initiator : " << initiatorName;
|
||||
|
||||
snprintf(stringMisc, sizeof(stringMisc), "%s.%s.initiator_ID", name(), initiatorName);
|
||||
|
||||
snprintf(initiatorName, sizeof(initiatorName), "\"initiator_%d\"", i);
|
||||
m_broker.set_preset_cci_value(stringMisc, cci::cci_value::from_json(initiatorName));
|
||||
snprintf(initiatorName, sizeof(initiatorName), "initiator_%d", i);
|
||||
initiatorList.push_back(new initiator(initiatorName));
|
||||
auto paramName = fmt::format("{}.{}.initiator_ID", name(), initiatorName);
|
||||
auto quotedInitiatorName = fmt::format("\"initiator_{}\"", i);
|
||||
m_broker.set_preset_cci_value(paramName, cci::cci_value::from_json(quotedInitiatorName));
|
||||
initiatorList.push_back(new initiator(initiatorName.c_str()));
|
||||
|
||||
// Binding of initiator to Router
|
||||
SCCINFO(SCMOD) << "[TOP MODULE C_TOR] : Binding Router_Initiator to " << initiatorName;
|
||||
@@ -109,22 +109,21 @@ public:
|
||||
|
||||
// Creating instances of target(s)
|
||||
for(int i = 0; i < n_targets; i++) {
|
||||
snprintf(targetName, sizeof(targetName), "target_%d", i);
|
||||
auto targetName = fmt::format("target_{}", i);
|
||||
SCCINFO(SCMOD) << "[TOP_MODULE C_TOR] : Creating target : " << targetName;
|
||||
|
||||
snprintf(stringMisc, sizeof(stringMisc), "%s.%s.target_ID", name(), targetName);
|
||||
snprintf(targetName, sizeof(targetName), "\"target_%d\"", i);
|
||||
m_broker.set_preset_cci_value(stringMisc, cci::cci_value::from_json(targetName));
|
||||
snprintf(targetName, sizeof(targetName), "target_%d", i);
|
||||
auto paramName0 = fmt::format("{}.{}.initiator_ID", name(), targetName);
|
||||
auto quotedTargetName = fmt::format("\"target_{}\"", i);
|
||||
m_broker.set_preset_cci_value(paramName0, cci::cci_value::from_json(targetName));
|
||||
|
||||
// Set preset value for maximum target size(memory)
|
||||
snprintf(stringMisc, sizeof(stringMisc), "%s.%s.s_size", name(), targetName);
|
||||
auto paramName1 = fmt::format("{}.{}.initiator_ID", name(), targetName);
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
ss << targetSize;
|
||||
|
||||
m_broker.set_preset_cci_value(stringMisc, cci::cci_value::from_json(ss.str()));
|
||||
targetList.push_back(new target(targetName));
|
||||
m_broker.set_preset_cci_value(paramName1, cci::cci_value::from_json(ss.str()));
|
||||
targetList.push_back(new target(targetName.c_str()));
|
||||
|
||||
// Binding Router to target
|
||||
SCCINFO(SCMOD) << "[TOP MODULE C_TOR] : Binding Router_Initiator to " << targetName;
|
||||
@@ -133,7 +132,7 @@ public:
|
||||
|
||||
// Try re-setting locked values for Router Table contents
|
||||
for(int i = 0; i < n_targets; i++) {
|
||||
snprintf(targetName, sizeof(targetName), "%s.RouterInstance.r_index_%d", name(), i);
|
||||
auto targetName = fmt::format("{}.RouterInstance.r_index_{}", name(), i);
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
ss << i;
|
||||
@@ -145,12 +144,12 @@ public:
|
||||
SCCINFO(SCMOD) << "[ROUTER : Caught] : " << exception.what();
|
||||
}
|
||||
|
||||
snprintf(targetName, sizeof(targetName), "%s.RouterInstance.r_sa_%d", name(), i);
|
||||
targetName = fmt::format("{}.RouterInstance.r_sa_{}", name(), i);
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
ss << (i * targetSize);
|
||||
|
||||
snprintf(targetBaseAddr, sizeof(targetBaseAddr), "%s.target_%d.s_base_addr", name(), i);
|
||||
auto targetBaseAddr = fmt::format("{}.target_{}.s_base_addr", name(), i);
|
||||
|
||||
cci::cci_param_untyped_handle h = m_broker.get_param_handle(targetBaseAddr);
|
||||
h.set_cci_value(cci::cci_value::from_json(ss.str()));
|
||||
@@ -162,7 +161,7 @@ public:
|
||||
SCCINFO(SCMOD) << "[ROUTER : Caught] : " << exception.what();
|
||||
}
|
||||
|
||||
snprintf(targetName, sizeof(targetName), "%s.RouterInstance.r_ea_%d", name(), i);
|
||||
targetName = fmt::format("{}.RouterInstance.r_ea_{}", name(), i);
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
ss << ((i + 1) * targetSize - 1);
|
||||
@@ -210,15 +209,10 @@ private:
|
||||
std::vector<initiator*> initiatorList; ///< STD::VECTOR for initiators
|
||||
std::vector<target*> targetList; ///< STD::VECTOR for targets
|
||||
|
||||
char initiatorName[50]; ///< initiator_ID
|
||||
char targetName[50]; ///< target_ID
|
||||
char stringMisc[50]; ///< String to be used for misc things
|
||||
char targetBaseAddr[50]; ///< The base address of the target
|
||||
|
||||
int addrValue{0}; ///< Address Value
|
||||
int targetSize; ///< Maximum target Size (preset value)
|
||||
int r_addr_max; ///< Maximum Router Table's memory range
|
||||
};
|
||||
// top_module
|
||||
// top_module
|
||||
|
||||
#endif // EXAMPLES_EX09_HIERARCHICAL_OVERRIDE_OF_PARAMETER_VALUES_TOP_MODULE_H_
|
||||
|
||||
Reference in New Issue
Block a user