synth_xilinx: Merge blackbox primitive libraries.
authorMarcin Kościelnicki <koriakin@0x04.net>
Fri, 1 Nov 2019 14:00:15 +0000 (14:00 +0000)
committerMarcin Kościelnicki <mwk@0x04.net>
Wed, 6 Nov 2019 14:11:27 +0000 (15:11 +0100)
commitc4bd318e76240d3e6a95109c19641cdfd86517b8
tree652f7209fd5b65045084914b04f98fbbaecede3e
parent5110a34dd74bc96c47d4aef47bc155110de2d87e
synth_xilinx: Merge blackbox primitive libraries.

First, there are no longer separate cell libraries for xc6s/xc7/xcu.
Manually instantiating a primitive for a "wrong" family will result
in yosys passing it straight through to the output, and it will be
either upgraded or rejected by the P&R tool.

Second, the blackbox library is expanded to cover many more families:
everything from Spartan 3 up is included.  Primitives for Virtex and
Virtex 2 are listed in the Python file as well if we ever want to
include them, but that would require having two different ISE versions
(10.1 and 14.7) available when running cells_xtra.py, and so is probably
more trouble than it's worth.

Third, the blockram blackboxes are no longer in separate files — there
is no practical reason to do so (from synthesis PoV, they are no
different from any other cells_xtra blackbox), and they needlessly
complicated the flow (among other things, merging them allows the user
to use eg. Series 7 primitives and have them auto-upgraded to
Ultrascale).

Last, since xc5v logic synthesis appears to work reasonably well
(the only major problem is lack of blockram inference support), xc5v is
now an accepted setting for the -family option.
techlibs/xilinx/Makefile.inc
techlibs/xilinx/cells_xtra.py
techlibs/xilinx/cells_xtra.v [new file with mode: 0644]
techlibs/xilinx/synth_xilinx.cc
techlibs/xilinx/xc6s_brams_bb.v [deleted file]
techlibs/xilinx/xc6s_cells_xtra.v [deleted file]
techlibs/xilinx/xc6v_cells_xtra.v [deleted file]
techlibs/xilinx/xc7_brams_bb.v [deleted file]
techlibs/xilinx/xc7_cells_xtra.v [deleted file]
techlibs/xilinx/xcu_brams_bb.v [deleted file]
techlibs/xilinx/xcu_cells_xtra.v [deleted file]