Commit Graph

3135 Commits

Author SHA1 Message Date
Keith Rothman c21e23b3eb Fix sign mismatch.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-18 14:08:22 -08:00
Keith Rothman e138a6c56d Do some spell checking on site_router.cc
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-18 13:34:06 -08:00
Keith Rothman 4766e889c0 Add some utility methods for site instance access.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-18 13:26:52 -08:00
Keith Rothman 532954847a Update README's with latest instructions and features.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-18 13:01:42 -08:00
Keith Rothman 7ecfd98b2d Update tests library to include Bits unit test.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:35 -08:00
Keith Rothman 8ef5411f70 Add utility targets for getting plain text outputs.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:17 -08:00
Keith Rothman b3dcc9d507 Add IOSTANDARD to ports.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:17 -08:00
Keith Rothman 5833c90210 Emit fixed attributes to output physical netlist.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:17 -08:00
Keith Rothman 8f668f06ca Use Bits library for bit instrisics.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:17 -08:00
Keith Rothman 558a753d3d Refactor "get only from iterator" to a utility.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:17 -08:00
Keith Rothman 9e0ca72827 Keep all build artifacts under create_bba/build.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman f9bd692f75 Change how package pin IO sites are selected.
The first site type that matches is now selected, under the premise that
the early site types are more general.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman cc687b3b72 Change makefiles to build a FPGA interchange BBA.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman 5a7f83c705 Add examples invoking FPGA interchange nextpnr.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman 7c1544f4d8 Continue fixes.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman 6f1c835221 Disable traversal limit when reading logical netlist.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman c385321248 Add initial site router.
This site router likely cannot handle the full problem space.  It may
need to be replaced with a more generalize approach as testing
continues.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
Keith Rothman a7421399f7 Working on standing up initial constraints system.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 12:03:16 -08:00
gatecat 782747cc0c
Merge pull request #589 from litghost/add_bits_library
Add a Bits utility library.
2021-02-17 20:01:24 +00:00
Keith Rothman e189666a2d Add a Bits utility library.
This library captures use of __builtin_popcount and __builtin_ctz on
GCC/clang and hopefully handles the MSVC case.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-17 11:00:39 -08:00
gatecat cb957795a3 Update docs/archapi.md
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-17 11:25:53 +00:00
gatecat d83259828e
Merge pull request #587 from YosysHQ/gatecat/generic-vcc
generic: Don't generate Vcc if not needed
2021-02-17 11:17:25 +00:00
gatecat 399c24c805 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-17 10:45:23 +00:00
gatecat 6b4bd0993f generic: Don't generate Vcc if not needed
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-17 10:24:06 +00:00
gatecat da1ecf0813
Merge pull request #586 from litghost/add_cell_bel_mapping_only
Add Cell -> BEL Pin maps to FPGA interchange arch.
2021-02-17 10:16:45 +00:00
gatecat a77ceec5cf
Merge pull request #585 from YosysHQ/gatecat/remove-ivbfc
Remove isValidBelForCell
2021-02-17 08:50:31 +00:00
Keith Rothman 26a187e5eb Require `--package` when arch BBA contains multiple packages.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-16 14:00:01 -08:00
Keith Rothman bb4fa7af5b [FPGA Interchange] Add Cell -> BEL Pin maps.
This also expands the FPGA interchange Arch BBA to include placement
constraints, but doesn't implement them yet.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-16 09:37:19 -08:00
gatecat a74d1a8b32 Bump test submodule
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-16 13:35:01 +00:00
gatecat c7c13cd95f Remove isValidBelForCell
This Arch API dates from when we were first working out how to
implement placement validity checking, and in practice is little used by
the core parts of placer1/HeAP and the Arch implementation involves a
lot of duplication with isBelLocationValid.

In the short term; placement validity checking is better served by the
combination of checkBelAvail and isValidBelForCellType before placement;
followed by isBelLocationValid after placement (potentially after
moving/swapping multiple cells).

Longer term, removing this API makes things a bit cleaner for a new
validity checking API.

Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-16 13:31:36 +00:00
gatecat 815b57b9e1
Merge pull request #583 from litghost/add_fpga_interchange_front_and_backend
Add FPGA interchange front and backend
2021-02-16 09:48:40 +00:00
Keith Rothman 1be70320b9 Pull in fix for out of source builds.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
Keith Rothman 2c7ee44046 Move CMake logic into fpga-interchange-schema.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
Keith Rothman 6b04fd1524 Small fixes from review.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
Keith Rothman e60dda57f3 Add libcapnp-dev for FPGA interchange compilation support.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
Keith Rothman 664407089b Add FPGA interchange frontend and backend.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
Keith Rothman 5e11e29ba2 Add interchange schema 3rdparty.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-15 09:54:58 -08:00
gatecat 9fc02041fe
Merge pull request #584 from YosysHQ/gatecat/generic-belpin
Add bel pin mapping control to nextpnr-generic
2021-02-15 16:19:25 +00:00
gatecat f0b2a91bda generic: Update docs
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-15 10:37:06 +00:00
gatecat a8a5153873 generic: Add bel pin mapping test
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-15 10:22:29 +00:00
gatecat a002ccfbc1 generic: Add APIs for controlling cell->bel pin mapping
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-15 09:58:56 +00:00
gatecat 065f46daeb
Merge pull request #578 from YosysHQ/machxo2-rebase
machxo2, rebased and updated
2021-02-15 09:39:56 +00:00
gatecat 1b6cdce925
Merge pull request #575 from YosysHQ/gatecat/belpin-2
Support for cell pin to bel pin mappings
2021-02-15 09:38:22 +00:00
gatecat f1ccc0e205
Merge pull request #582 from litghost/add_xdc_parser
Add XDC parser to FPGA interchange
2021-02-12 22:40:41 +00:00
Keith Rothman 033cc6731b Add FPGA interchange tests to CI.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 13:48:50 -08:00
Keith Rothman 5312945757 Update tests to include XDC unit test.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 10:31:05 -08:00
Keith Rothman 82ab3c1aad Run "make clangformat".
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 10:31:05 -08:00
Keith Rothman 8a860857ea Remove capnp and libz for XDC parser PR.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 10:31:05 -08:00
Keith Rothman c96d0f225c Refactor XDC parser into a little class for testing purposes.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 10:31:04 -08:00
Keith Rothman d987bd2997 Add unknown handles to convert [0] to "[0]".
Tcl reads something like "set port [get_ports x[0]]" as "invoke proc 0
with zero arguments", rather than just "[0]".  To prevent exposing
non-Tcl users this, "[<number>]" just return themselves.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 10:31:04 -08:00