aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange
Commit message (Collapse)AuthorAgeFilesLines
* Fixup GUI link dependencies on headers from libraries.Keith Rothman2021-03-181-0/+5
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* fpga_interchange: temporarily disable failing testAlessandro Comodi2021-03-171-1/+2
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: minor fixes and comments additionAlessandro Comodi2021-03-163-22/+57
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: address review commentsAlessandro Comodi2021-03-169-18/+92
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* github-actions: use capnp v0.8.0Alessandro Comodi2021-03-161-1/+1
| | | | | | This also updates the note in the README for the FPGA interchange Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: re-add README with updated instructionsAlessandro Comodi2021-03-161-0/+69
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: tests: add techmap optional source fileAlessandro Comodi2021-03-164-3/+19
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: add bbasm step and archcheckAlessandro Comodi2021-03-167-41/+78
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: address review commentsAlessandro Comodi2021-03-164-32/+91
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: tests: added comment and fixed XDCAlessandro Comodi2021-03-1616-29/+74
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: chipdb: use generic patching functionAlessandro Comodi2021-03-163-41/+96
| | | | | | Also moved the RapidWright invocation script path under a CMake variable Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: cmake: generate only one device familyAlessandro Comodi2021-03-169-49/+72
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_interchange: tests: add cmake functionsAlessandro Comodi2021-03-1627-50/+215
| | | | | | Also move all tests in a tests directory Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* fpga_intrchange: add cmake infrastructure to generate chipdbsAlessandro Comodi2021-03-166-133/+122
| | | | Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
* Use NEXTPNR_NAMESPACE macro's now that headers are seperated.Keith Rothman2021-03-154-5/+5
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Split nextpnr.h to allow for linear inclusion.Keith Rothman2021-03-155-25/+42
| | | | | | | | | | | | | | | | | | | "nextpnr.h" is no longer the god header. Important improvements: - Functions in log.h can be used without including BaseCtx/Arch/Context. This means that log_X functions can be called without included "nextpnr.h" - NPNR_ASSERT can be used without including "nextpnr.h" by including "nextpnr_assertions.h". This allows NPNR_ASSERT to be used safely in any header file. - Types defined in "archdefs.h" are now available without including BaseCtx/Arch/Context. This means that utility classes that will be used inside of BaseCtx/Arch/Context can be defined safely in a self-contained header. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* clangformatgatecat2021-03-033-114/+108
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Update FPGA interchange README.Keith Rothman2021-02-261-11/+7
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* For now just return false in the site router.Keith Rothman2021-02-261-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial LUT rotation logic.Keith Rothman2021-02-267-7/+739
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add counter test.Keith Rothman2021-02-265-0/+71
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Fix compiler warnings introduced by -Wextragatecat2021-02-252-3/+3
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Fix assorted bugs in FPGA interchange.Keith Rothman2021-02-238-422/+626
| | | | | | | | | | Fixes: - Only use map constant pins during routing, and not during placement. - Unmapped cell ports have no BEL pins. - Fix SiteRouter congestion not taking into account initial expansion. - Fix psuedo-site pip output. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Finish dedicated interconnect implementation.Keith Rothman2021-02-233-139/+611
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Working FF example now that constant merging is done.Keith Rothman2021-02-236-8/+218
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add initial logic for handling dedicated interconnect situations.Keith Rothman2021-02-2311-26/+587
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Move RapidWright git URI back to upstream.Keith Rothman2021-02-231-5/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Remove some signedness warnings.Keith Rothman2021-02-231-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Fix reference copy.Keith Rothman2021-02-231-6/+6
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Run "make clangformat".Keith Rothman2021-02-231-6/+8
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial working constant network support!Keith Rothman2021-02-234-14/+145
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add constant network test case.Keith Rothman2021-02-235-0/+42
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add tests to confirm constant routing import.Keith Rothman2021-02-232-0/+36
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Correct some bugs in the create_bba Makefile.Keith Rothman2021-02-231-3/+9
| | | | | | Also add debug_test target to debug archcheck. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add initial constant network support to FPGA interchange arch.Keith Rothman2021-02-232-7/+47
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Change CellInfo in getBelPinsForCellPin to be const.Keith Rothman2021-02-231-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Replace DelayInfo with DelayPair/DelayQuadgatecat2021-02-193-36/+5
| | | | | | | | | | | | | | | | | This replaces the arch-specific DelayInfo structure with new DelayPair (min/max only) and DelayQuad (min/max for both rise and fall) structures that form part of common code. This further reduces the amount of arch-specific code; and also provides useful data structures for timing analysis which will need to delay with pairs/quads of delays as it is improved. While there may be a small performance cost to arches that didn't separate the rise/fall cases (arches that aren't currently separating the min/max cases just need to be fixed...) in DelayInfo, my expectation is that inlining will mean this doesn't make much difference. Signed-off-by: gatecat <gatecat@ds0.me>
* Fix sign mismatch.Keith Rothman2021-02-182-2/+2
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Do some spell checking on site_router.ccKeith Rothman2021-02-181-18/+18
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add some utility methods for site instance access.Keith Rothman2021-02-183-13/+42
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Update README's with latest instructions and features.Keith Rothman2021-02-183-20/+94
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add utility targets for getting plain text outputs.Keith Rothman2021-02-171-1/+5
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add IOSTANDARD to ports.Keith Rothman2021-02-171-1/+3
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Emit fixed attributes to output physical netlist.Keith Rothman2021-02-171-8/+19
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Refactor "get only from iterator" to a utility.Keith Rothman2021-02-173-12/+9
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Keep all build artifacts under create_bba/build.Keith Rothman2021-02-172-4/+5
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Change how package pin IO sites are selected.Keith Rothman2021-02-173-16/+52
| | | | | | | 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>
* Change makefiles to build a FPGA interchange BBA.Keith Rothman2021-02-174-16/+106
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add examples invoking FPGA interchange nextpnr.Keith Rothman2021-02-1711-0/+152
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Continue fixes.Keith Rothman2021-02-175-23/+93
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>