SDC: Don't write create_clock commands for port nets Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
diff --git a/sdc-plugin/clocks.cc b/sdc-plugin/clocks.cc index 4a99e37..e0c7e9d 100644 --- a/sdc-plugin/clocks.cc +++ b/sdc-plugin/clocks.cc
@@ -170,10 +170,20 @@ void Clocks::WriteSdc(std::ostream& file) { for (auto& clock : clocks_) { auto clock_wires = clock.GetClockWires(); + // FIXME: Input port nets are not found in VPR + if (std::all_of(clock_wires.begin(), clock_wires.end(), + [&](RTLIL::Wire* wire) { return wire->port_input; })) { + continue; + } file << "create_clock -period " << clock.Period(); file << " -waveform {" << clock.RisingEdge() << " " << clock.FallingEdge() << "}"; - file << " " << Clock::ClockWireName(clock_wires.at(0)); + for (auto clock_wire : clock_wires) { + if (clock_wire->port_input) { + continue; + } + file << " " << Clock::ClockWireName(clock_wire); + } file << std::endl; } }