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
Keith Rothman
8a50b02b9b
Use new parameter definition data in FPGA interchange processing.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:01:43 -07:00
Keith Rothman
af1fba9f52
Update latest version of FPGA interchange schema.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 09:00:58 -07:00
gatecat
79400756f5
interchange: Add nice error for missing cell pins
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-23 15:40:34 +00:00
Keith Rothman
8d1eb0a195
Initial lookahead for FPGA interchange.
...
Currently the lookahead is disabled by default because of the time to
compute and RAM usage. However it does appear to work reasonably well
in testing. Further effort is required to lower RAM usage after initial
computation, and explore trade-off for cheaper time to compute.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-23 08:16:50 -07:00
gatecat
9ef412c2cc
Merge pull request #638 from litghost/fixup_physical_netlist_writer
...
Correct some bugs in writing of physical netlist w.r.t. site sources.
2021-03-22 18:32:26 +00:00
gatecat
a3ed97c0db
Merge pull request #637 from litghost/refine_site_router
...
Refine site router
2021-03-22 18:32:04 +00:00
gatecat
e8d36bf5bd
Merge pull request #634 from litghost/add_get_bel_pin_type
...
Add getBelPinType to Python interface.
2021-03-22 18:31:48 +00:00
Keith Rothman
32f2ec86c4
Rework FPGA interchange site router.
...
The new site router should be robust to most situations, and isn't
significantly slower with the use of caching.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:54:49 -07:00
Keith Rothman
0f4014615c
Add missing dependencies to CMake targets.
...
- Add additional targets useful for various situations.
- Have counter test use common remap.v file.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:47:33 -07:00
Keith Rothman
06bcde6243
Correct some bugs in writing of physical netlist w.r.t. site sources.
...
Local site sources should have their driving BEL pin included in the net
so that the site wire is driven by an output BEL pin.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:46:43 -07:00
Keith Rothman
4cd74bba2c
Add getBelPinType to Python interface.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:25:45 -07:00
Keith Rothman
e7d81913a4
Add "checkPipAvailForNet" to Arch API.
...
This is important for distiguishing valid pseudo pips in the FPGA
interchange arch. This also avoids a double or triple lookup of
pip->net map.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:17:55 -07:00
Keith Rothman
db12a83ced
Add pseudo pip data to chipdb (with schema bump).
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-22 09:33:12 +00:00
Keith Rothman
2cd5bacca0
Refactor header structures in FPGA interchange Arch.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-19 21:36:06 -07:00
Keith Rothman
f4dc67879e
Fixup GUI link dependencies on headers from libraries.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-18 14:00:19 -07:00
Alessandro Comodi
01a95faf21
fpga_interchange: temporarily disable failing test
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-17 10:32:35 +01:00
Alessandro Comodi
f6583f7ecc
fpga_interchange: minor fixes and comments addition
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 22:59:20 +01:00
Alessandro Comodi
c1e668f823
fpga_interchange: address review comments
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 22:02:06 +01:00
Alessandro Comodi
f9e9fadbc8
github-actions: use capnp v0.8.0
...
This also updates the note in the README for the FPGA interchange
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 16:57:07 +01:00
Alessandro Comodi
f63a9a48a4
fpga_interchange: re-add README with updated instructions
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
f52b5b39ed
fpga_interchange: tests: add techmap optional source file
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
3f3cabea2d
fpga_interchange: add bbasm step and archcheck
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
0b62e540a3
fpga_interchange: address review comments
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
bd2da27e4e
fpga_interchange: tests: added comment and fixed XDC
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
e5cc03965e
fpga_interchange: chipdb: use generic patching function
...
Also moved the RapidWright invocation script path under a CMake variable
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:02 +01:00
Alessandro Comodi
490fdb0a1c
fpga_interchange: cmake: generate only one device family
...
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-03-16 15:39:01 +01:00