ice40: Honor the "dont_touch" attribute in FFSSR pass
authorSylvain Munaut <tnt@246tNt.com>
Sat, 8 Dec 2018 21:46:28 +0000 (22:46 +0100)
committerSylvain Munaut <tnt@246tNt.com>
Sat, 8 Dec 2018 21:46:28 +0000 (22:46 +0100)
This is useful if you want to place FF manually ... can't merge SR in those
because it might make the manual placement invalid

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
techlibs/ice40/ice40_ffssr.cc

index 668df09dda18661b4d768e08b807cf13e09c3305..a7649d7a0c82525f7bac4276e1185a0ac98fd912 100644 (file)
@@ -81,6 +81,9 @@ struct Ice40FfssrPass : public Pass {
 
                        for (auto cell : ff_cells)
                        {
+                               if (cell->get_bool_attribute("\\dont_touch"))
+                                       continue;
+
                                SigSpec sig_d = cell->getPort("\\D");
 
                                if (GetSize(sig_d) < 1)