vendor.xilinx_7series: fix IOB packing.
authorJean-François Nguyen <jf@lambdaconcept.com>
Mon, 17 Jun 2019 18:01:26 +0000 (20:01 +0200)
committerwhitequark <whitequark@whitequark.org>
Mon, 17 Jun 2019 20:48:46 +0000 (20:48 +0000)
nmigen/vendor/xilinx_7series.py

index 0235896b74e2ff3bf4aa9857d3b09c93e773ef7d..a9836d9041610d172204a6e9f488841ea47288a7 100644 (file)
@@ -121,6 +121,9 @@ class Xilinx7SeriesPlatform(TemplatedPlatform):
             for bit in range(len(q)):
                 _q = Signal()
                 _q.attrs["IOB"] = "TRUE"
+                # XXX: Vivado 2019.1 seems to make this flip-flop ineligible for IOB packing
+                # unless we prevent it from being optimized.
+                _q.attrs["DONT_TOUCH"] = "TRUE"
                 m.submodules += Instance("FDCE",
                     i_C=clk,
                     i_CE=Const(1),