aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ast
diff options
context:
space:
mode:
authorDag Lem <dag@nimrod.no>2023-02-13 00:25:39 +0100
committerGitHub <noreply@github.com>2023-02-12 18:25:39 -0500
commit615adc4253a25fd9053d7893cc1f8120908c9e4a (patch)
treeb5696d95e15e0082ad6a49e32cd9d3c8dbb1ba19 /frontends/ast
parent5ea2c290a58dcc2a2eacacd8b3288d9a1d7037bb (diff)
downloadyosys-615adc4253a25fd9053d7893cc1f8120908c9e4a.tar.gz
yosys-615adc4253a25fd9053d7893cc1f8120908c9e4a.tar.bz2
yosys-615adc4253a25fd9053d7893cc1f8120908c9e4a.zip
Resolve package types in interfaces (#3658)
* Resolve package types in interfaces * Added test for resolving of package types in interfaces
Diffstat (limited to 'frontends/ast')
-rw-r--r--frontends/ast/simplify.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc
index 2dbabca28..717645183 100644
--- a/frontends/ast/simplify.cc
+++ b/frontends/ast/simplify.cc
@@ -1016,7 +1016,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
// create name resolution entries for all objects with names
// also merge multiple declarations for the same wire (e.g. "output foobar; reg foobar;")
- if (type == AST_MODULE) {
+ if (type == AST_MODULE || type == AST_INTERFACE) {
current_scope.clear();
std::set<std::string> existing;
int counter = 0;
@@ -1701,7 +1701,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
current_filename = filename;
- if (type == AST_MODULE)
+ if (type == AST_MODULE || type == AST_INTERFACE)
current_scope.clear();
// convert defparam nodes to cell parameters
@@ -4691,7 +4691,7 @@ void AstNode::mem2reg_as_needed_pass1(dict<AstNode*, pool<std::string>> &mem2reg
if (type == AST_MEMORY && (get_bool_attribute(ID::mem2reg) || (flags & AstNode::MEM2REG_FL_ALL) || !(is_reg || is_logic)))
mem2reg_candidates[this] |= AstNode::MEM2REG_FL_FORCED;
- if (type == AST_MODULE && get_bool_attribute(ID::mem2reg))
+ if ((type == AST_MODULE || type == AST_INTERFACE) && get_bool_attribute(ID::mem2reg))
children_flags |= AstNode::MEM2REG_FL_ALL;
dict<AstNode*, uint32_t> *proc_flags_p = NULL;