diff --git a/src/Chimera.cpp b/src/Chimera.cpp index dfe7dd4429..5abfc49d62 100644 --- a/src/Chimera.cpp +++ b/src/Chimera.cpp @@ -1028,6 +1028,16 @@ static void removeInoutRegisters(Node *head) { } } +static void addGenvar(Node *head) { + if (head->type == NodeType::GENVAR_OPT) { + head->getChildren()[0]->setElement("genvar"); + } + + for (size_t i = 0; i < head->getChildren().size(); i++) { + addGenvar(head->getChildren()[i].get()); + } +} + static void generateModules( int n, std::unordered_map> map, @@ -1096,6 +1106,7 @@ static void generateModules( // Prepares for type inference replaceTypes(m, lastID); addConstantIDsToParameterList(m, declMap, dirMap); + addGenvar(m); std::unordered_map idToType; // maps an id to its inferred type