39 QString clk, QString rst);
59 void writeAXI4(QTextStream& stream);
68 void writeAXI4LITE(QTextStream& stream);
76 void writeAxiParams(QTextStream& stream);
86 void writeAxiAddrMap(QTextStream& stream);
94 void writeAxiXbarCfg(QTextStream& stream);
103 void writeAxiXbar(QTextStream& stream);
118 void writeSignalAssignments(QTextStream& stream, QString busName,
int index,
bool isInit);
127 void writeTargetAssign(QTextStream& stream);
136 void writeInitAssign(QTextStream& stream);
145 void writeObiParams(QTextStream& stream);
156 void writeObiInterfaces(QTextStream& stream);
165 void writeObiAddrMap(QTextStream& stream);
173 void writeObiXbar(QTextStream& stream);
182 void removeEndmodule(QFile& file);
191 QString indent(
int n = 1);
203 QString parseAddress(QString original);
213 QString commentWriter(QString title, QString subtitle =
"");
215 QSharedPointer<Component> component_{
nullptr };
222 ConfigStruct* config_;
229 QStringList axiPorts_ = {
231 "aw_id",
"aw_addr",
"aw_len",
"aw_size",
"aw_burst",
"aw_lock",
"aw_cache",
232 "aw_prot",
"aw_qos",
"aw_region",
"aw_atop",
"aw_user",
"aw_writetoken",
"aw_readpointer",
235 "w_data",
"w_strb",
"w_last",
"w_user",
"w_writetoken",
"w_readpointer",
238 "b_id",
"b_resp",
"b_user",
"b_writetoken",
"b_readpointer",
241 "ar_id",
"ar_addr",
"ar_len",
"ar_size",
"ar_burst",
"ar_lock",
"ar_cache",
242 "ar_prot",
"ar_qos",
"ar_region",
"ar_user",
"ar_writetoken",
"ar_readpointer",
245 "r_id",
"r_data",
"r_resp",
"r_last",
"r_user",
"r_writetoken",
"r_readpointer"
250 QStringList axiLitePorts_ = {
252 "aw_addr",
"aw_prot",
"aw_valid",
"aw_ready",
255 "w_data",
"w_strb",
"w_valid",
"w_ready",
258 "b_resp",
"b_valid",
"b_ready",
261 "ar_addr",
"ar_prot",
"ar_valid",
"ar_ready",
264 "r_data",
"r_resp",
"r_valid",
"r_ready"
269 QStringList obiPorts_ = {
271 "req",
"reqpar",
"gnt",
"gntpar",
"addr",
"we",
"be",
"wdata",
"aid",
"a_optional",
274 "rvalid",
"rvalidpar",
"rready",
"rreadypar",
"rdata",
"rid",
"err",
"r_optional"
277 QStringList supportedInterfaces = {
"axi4",
"axi4lite",
"obi" };
279 QString axiTargetBus_ =
"_target";
280 QString axiInitBus_ =
"_init";
283 QString axiTargetParam_ =
"AXI_TARGETS";
284 QString axiInitParam_ =
"AXI_INITIATORS";
285 QString IdWidthInits_ =
"IdWidthInits";
286 QString addrRulesParam_ =
"NoAddrRules";
287 QString ruleType_ =
"rule_t";
288 QString addrMapXBAR_ =
"AddrMapXBAR";
289 QString axiCfg_ =
"xbar_cfg";
291 QString obiTargetParam_ =
"OBI_TARGETS";
292 QString obiInitParam_ =
"OBI_INITIATORS";
293 QString obiAddrRule_ =
"addr_rule_t";
294 QString obiInitInterface_ =
"obi_init_bus";
295 QString obiTargetInterface_ =
"obi_target_bus";
298 QStringList obiXbarCfgParams_ = {
302 "obi_pkg::ObiMinimalOptionalConfig"
InterconnectRTLWriter(QSharedPointer< Component > component, LibraryInterface *library, MessageMediator *messager, QString directory, ConfigStruct *config, QString clk, QString rst)
The constructor.