aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-11-25 12:04:11 -0800
committerEddie Hung <eddie@fpgeh.com>2019-11-25 13:39:37 -0800
commit67be62a957c565bfa03f084c8f110d65ca14196b (patch)
tree263033883286b4c8e3babfff5165c6bfe01790c3
parent15aa3f460d1aa873108360df1cf2d5f22137946d (diff)
downloadyosys-67be62a957c565bfa03f084c8f110d65ca14196b.tar.gz
yosys-67be62a957c565bfa03f084c8f110d65ca14196b.tar.bz2
yosys-67be62a957c565bfa03f084c8f110d65ca14196b.zip
clkpart to analyse async flops too
-rw-r--r--passes/hierarchy/clkpart.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/passes/hierarchy/clkpart.cc b/passes/hierarchy/clkpart.cc
index b79625540..15a5328b9 100644
--- a/passes/hierarchy/clkpart.cc
+++ b/passes/hierarchy/clkpart.cc
@@ -162,6 +162,14 @@ struct ClkPartPass : public Pass {
key = clkdomain_t(this_clk_pol, assign_map(cell->getPort(ID(C))), this_en_pol, enable_mode ? assign_map(cell->getPort(ID(E))) : RTLIL::SigSpec());
}
else
+ if (cell->type.in(ID($_DFF_NN0_), ID($_DFF_NN1_), ID($_DFF_NP0_), ID($_DFF_NP1_),
+ ID($_DFF_PN0_), ID($_DFF_PN1_), ID($_DFF_PP0_), ID($_DFF_PP1_)))
+ {
+ bool this_clk_pol = cell->type.in(ID($_DFF_PN0_), ID($_DFF_PN1_), ID($_DFF_PP0_), ID($_DFF_PP1_));
+ log_assert(!enable_mode); // TODO
+ key = clkdomain_t(this_clk_pol, assign_map(cell->getPort(ID(C))), true, RTLIL::SigSpec());
+ }
+ else
continue;
unassigned_cells.erase(cell);