Keith Rothman
ae2f7551c1
[interchange] Provide estimateDelay when USE_LOOKAHEAD is not defined.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
3200026e1f
[interchange] Remove requirement to have wire_lut.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
c2a6f6ce62
[interchange] Fix invalid use of local variables due to refactoring.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
8773c645ca
[interchange] Prevent site router from generating incorrect LUTs.
...
The previous logic tied LUT input pins to VCC if a wire was unplacable.
This missed a case where the net was present to the input of the LUT,
but a wire was still not legal. This case is now prevented by tying the
output of the LUT to an unused net.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
c11ad31393
[interchange] Scale edge cost of pseudo pips.
...
Previous pseudo pips were the same cost as regular pips, but this is
definitely too fast, and meant that the router was prefering them.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
9b82ded77b
[interchange] Fix missing inline methods in site_arch.impl.h
...
getBelPinWire and getBelPinType are marked as always inline, but were
not defined in a header.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
90aa1d3b7e
[interchange] Disallow site edges during general routing.
...
This prevents the general router from routing through sites, which is
not legal in FPGA interchange.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
Keith Rothman
0d41fff3a7
[interchange] Add crude pseudo pip model.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-06 10:42:05 -07:00
gatecat
ff449ca997
Merge pull request #661 from litghost/document_site_router
...
[interchange] Add some documentation for the site router.
2021-04-06 09:20:03 +01:00
gatecat
8e0d8df791
Merge pull request #657 from acomodi/interchange-counter-multi-board
...
interchange: counter: testing on multiple boards
2021-04-06 08:12:02 +01:00
Keith Rothman
4301e4705b
[interchange] Add some documentation for the site router.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-05 15:15:48 -07:00
Keith Rothman
009d3b64b6
[interchange] Update to v6 of FPGA interchange chipdb.
...
Changes:
- Adds LUT output pin to LutBelPOD.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-04-01 15:24:06 -07:00
Alessandro Comodi
366f8782cb
interchange: counter: testing on multiple boards
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-04-01 10:23:07 +02:00
gatecat
ec98fee1ee
Merge pull request #646 from YosysHQ/gatecat/nexus-cmake
...
fpga_interchange: Add CMake support for Nexus/prjoxide
2021-03-31 15:14:51 +01:00
gatecat
3678eff5dc
interchange: Fix nexus cmake review comments
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-31 10:11:09 +01:00
Keith Rothman
8675945b26
Fix bug where DedicateInterconnect incorrectly allows some placement.
...
This occurs when the driver pin and sink pin are part of the same site,
but not reachable with site routing only.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-30 13:24:39 -07:00
Keith Rothman
7e47af1085
[interchange] Fix site pip check for drivers.
...
Previous code allowed router to entire sites with no sinks.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-30 10:04:18 -07:00
gatecat
a003aae7c2
interchange: Split xc7 and nexus chipdb cmake
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-30 16:31:51 +01:00
gatecat
ecfaae7f9e
interchange: Add Nexus LUT test
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-30 16:31:51 +01:00
gatecat
b6b8959397
interchange: Add Nexus to CI
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-30 16:31:51 +01:00
gatecat
3cb5e81d50
interchange: Add CMake support for Nexus/prjoxide
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-30 16:31:51 +01:00
gatecat
8863b962fd
interchange: Fix illegal placements
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-30 15:28:19 +01:00
gatecat
692d7dc26d
Merge pull request #645 from litghost/add_counter_and_ram
...
FPGA interchange: Add counter and ram tests
2021-03-29 18:23:16 +01:00
Alessandro Comodi
b5ba3ee9ee
interchange: add archcheck tests to all-device-test target
...
This increases parallelism and should make the FPGA interchange CI
faster
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-26 15:11:03 +01:00
Keith Rothman
f33d02dca9
Update README with latest develpment progress.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:56:15 -07:00
Keith Rothman
55c9d43c70
interchange: Fix bug in site router where a bad solution isn't remove.
...
This resulted in valid site routing solutions being missed. Underlying
bug was an off-by-one error when unwinding a failed solution.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:56:14 -07:00
Keith Rothman
c8dccd3e7b
Implement debugging tools for site router.
...
- Finishes implementation of SiteArch::nameOfPip and SiteArch::nameOfWire
- Adds "explain_bel_status", which should be an exhaustive diagnostic
of the status of a BEL placement.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:56:11 -07:00
Keith Rothman
cc4f2b4516
Add some FIXME's around VCC assumption in LUT logic.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:20:13 -07:00
Keith Rothman
bbe1881293
Add targets to generate YAML outputs for DeviceResource files.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:20:13 -07:00
Keith Rothman
91ca5f110b
Re-work LUT mapping logic to only put VCC pins when required.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:20:13 -07:00
Keith Rothman
5dda3a14ff
Fixup some of the re-mapping logic.
...
- Add IDEMPOTENT_CHECK define to perform some expected idempotent
operations more than once to verify they work as expected.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:20:13 -07:00
Keith Rothman
77bc2f9130
Add initial handling of local site inverters and constant signals.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:20:09 -07:00
Keith Rothman
5e96740451
[FPGA interchange] Small fix to get_net_type.
...
If get_net_type was called before the driver was placed, it could return
the wrong value.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:14:53 -07:00
Keith Rothman
22fb2c1548
Enable counter tests and add RAM tests.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-25 17:14:53 -07:00
Alessandro Comodi
9f28fa4e75
gh-actions: interchange: multiple jobs, one for each device
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-24 15:37:03 +01:00
Alessandro Comodi
1a774a0526
interchange: examples: remove unused makefiles
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-24 15:37:02 +01:00
Alessandro Comodi
b6d2a59fc2
interchange: devices: bel_bucket_seeds -> device_config
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-23 21:06:01 +01:00
Alessandro Comodi
15e945aa1c
interchange: added boards and group testing across multiple boards
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-23 21:05:58 +01:00
Alessandro Comodi
4812092cdb
fpga_interchange: add test data for new architectures
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-23 20:36:23 +01:00
Alessandro Comodi
658dadaa70
fpga_interchange: use higher java heap space
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-23 20:36:23 +01:00
Alessandro Comodi
336d31cbcf
fpga_interchange: add more devices
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-23 20:36:23 +01:00
gatecat
3cc50a5744
Merge pull request #644 from litghost/add_global_buffers
...
[FPGA interchange] Add support for global buffers from chipdb.
2021-03-23 17:33:55 +00:00
gatecat
323da87dec
Merge pull request #643 from litghost/id_constants
...
[FPGA interchange] Convert some string constants to IdString.
2021-03-23 17:33:40 +00:00
gatecat
2300d81c3c
Merge pull request #640 from litghost/inversion_logic
...
Initial inverter logic for FPGA interchange
2021-03-23 16:59:35 +00:00
gatecat
8c85e648df
Merge pull request #639 from litghost/parameter_iteration
...
Update parameter processing based on new DeviceResources metadata
2021-03-23 16:51:28 +00:00
Keith Rothman
720f64ea60
[FPGA interchange] Add support for global buffers from chipdb.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:41:45 -07:00
Keith Rothman
0dd93035e4
[FPGA interchange] Convert some string constants to IdString.
...
Also add some optional diagnostic prints for cell -> BEL pin mapping.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:38:37 -07:00
gatecat
b7bf2c706f
Merge pull request #642 from YosysHQ/gatecat/missing-cell-pin
...
interchange: Add nice error for missing cell pins
2021-03-23 16:34:10 +00:00
Keith Rothman
831b94cdac
Initial version of inverter logic.
...
For now just implements some inspection capabilities, and the site
router (for now) avoids inverted paths.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:03:07 -07:00
Keith Rothman
ae71206e1f
Update FPGA interchange chipdb to v4 with inverter data.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:01:45 -07:00