diff --git a/passes/cmds/rename.cc b/passes/cmds/rename.cc index 078ffb769..0f055b81d 100644 --- a/passes/cmds/rename.cc +++ b/passes/cmds/rename.cc @@ -379,6 +379,9 @@ struct RenamePass : public Pass { break; } + // TODO disable signorm due to rename I think? + design->sigNormalize(false); + if (flag_src) { extra_args(args, argidx, design); diff --git a/passes/hierarchy/flatten.cc b/passes/hierarchy/flatten.cc index 9ee410589..584370304 100644 --- a/passes/hierarchy/flatten.cc +++ b/passes/hierarchy/flatten.cc @@ -410,6 +410,8 @@ struct FlattenPass : public Pass { } extra_args(args, argidx, design); + bool was_signormed = design->flagSigNormalized; + RTLIL::Module *top = nullptr; if (design->full_selection()) for (auto module : design->modules()) @@ -449,6 +451,11 @@ struct FlattenPass : public Pass { design->remove(module); } + if (was_signormed) { + // TODO inconvenient workaround for fanout out of sync + design->sigNormalize(false); + design->sigNormalize(true); + } log_pop(); } } FlattenPass;