SDC: Perform buffer propagation after clock divider propagation Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
diff --git a/sdc-plugin/clocks.cc b/sdc-plugin/clocks.cc index 82944a4..d634bb7 100644 --- a/sdc-plugin/clocks.cc +++ b/sdc-plugin/clocks.cc
@@ -141,6 +141,7 @@ log("PLL clock: %s\n", pll_clock.Name().c_str()); #endif AddClock(pll_clock); + PropagateThroughBuffer(pass, pll_clock, Bufg()); } } } @@ -149,7 +150,7 @@ #endif } -void Clocks::PropagateThroughBuffer(BufferPropagation* pass, Clock& clock, +void Clocks::PropagateThroughBuffer(Propagation* pass, Clock& clock, Buffer buffer) { auto clock_wires = clock.GetClockWires(); for (auto clock_wire : clock_wires) {
diff --git a/sdc-plugin/clocks.h b/sdc-plugin/clocks.h index df60b6d..f4b0e53 100644 --- a/sdc-plugin/clocks.h +++ b/sdc-plugin/clocks.h
@@ -28,6 +28,7 @@ class NaturalPropagation; class BufferPropagation; class ClockDividerPropagation; +class Propagation; class Clock { public: @@ -76,7 +77,7 @@ private: std::vector<Clock> clocks_; - void PropagateThroughBuffer(BufferPropagation* pass, Clock& clock, + void PropagateThroughBuffer(Propagation* pass, Clock& clock, Buffer buffer); };