aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-11-22 17:00:35 -0800
committerEddie Hung <eddie@fpgeh.com>2019-11-22 17:00:35 -0800
commitbf7d36627ebde07cbd1ca90c40a776389b73cd7f (patch)
tree69a8f313d5d5ed63461fc0bdcb7940e4042e77f1
parent74ea4381362d4f402e7fc262b960e14122128303 (diff)
parent95af8f56e45e23dd29c9a3992f18eee2fa6ceeb1 (diff)
downloadyosys-bf7d36627ebde07cbd1ca90c40a776389b73cd7f.tar.gz
yosys-bf7d36627ebde07cbd1ca90c40a776389b73cd7f.tar.bz2
yosys-bf7d36627ebde07cbd1ca90c40a776389b73cd7f.zip
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
-rw-r--r--passes/techmap/clkpart.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/passes/techmap/clkpart.cc b/passes/techmap/clkpart.cc
index bf3b5bd30..8f671c175 100644
--- a/passes/techmap/clkpart.cc
+++ b/passes/techmap/clkpart.cc
@@ -58,7 +58,7 @@ struct ClkPartPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
{
- log_header(design, "Executing CLKPART pass (TODO).\n");
+ log_header(design, "Executing CLKPART pass (partition design according to clock domain).\n");
log_push();
clear_flags();
@@ -233,15 +233,16 @@ struct ClkPartPass : public Pass {
std::get<0>(it.first) ? "" : "!", log_signal(std::get<1>(it.first)),
std::get<2>(it.first) ? "" : "!", log_signal(std::get<3>(it.first)));
- for (auto &it : assigned_cells) {
- RTLIL::Selection sel(false);
- sel.selected_members[mod->name] = pool<IdString>(it.second.begin(), it.second.end());
+ if (assigned_cells.size() > 1)
+ for (auto &it : assigned_cells) {
+ RTLIL::Selection sel(false);
+ sel.selected_members[mod->name] = pool<IdString>(it.second.begin(), it.second.end());
- RTLIL::IdString submod = stringf("%s.%s", mod->name.c_str(), NEW_ID.c_str());
- Pass::call_on_selection(design, sel, stringf("submod -name %s", submod.c_str()));
+ RTLIL::IdString submod = stringf("%s.%s", mod->name.c_str(), NEW_ID.c_str());
+ Pass::call_on_selection(design, sel, stringf("submod -name %s", submod.c_str()));
- design->module(submod)->set_bool_attribute(ID(clkpart));
- }
+ design->module(submod)->set_bool_attribute(ID(clkpart));
+ }
}
}