| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Support for cell pin to bel pin mappings
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This replaces getNetinfoSinkWire with 3 new functions for different use
cases.
At the moment all existing code has been moved to getNetinfoSinkWire
with phys_idx=0 so the build doesn't break; but this won't yet function
properly with more than one sink. But it provides a base on which to
work on refactoring the routers to support this case.
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a basic implementation, without considering "M of N"
arrangements (e.g. for LUT permuation where you only want to route to 1
out of 4/6 sinks) or using a type other than IdString to identify bel
pins.
But this is also enough to start working out where in nextpnr will break
due to removing the 1:1 cell:bel pin cardinality, as a next step.
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \
| | |
| | | |
Add XDC parser to FPGA interchange
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|\ \
| | |
| | | |
Add control to whether GenericFrontend splits IO ports.
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix assertion failure when opening the GUI on an arch without any
decals.
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\ \ \
| | | |
| | | | |
Add design_loaded state variable.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
This is to decouple the command line flag "--json" and enable other
frontend's.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|\ \ \
| |/ /
|/| | |
Add getBelHidden and add some missing "override" statements.
|
|/ /
| |
| |
| | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|\|
| |
| | |
Remove the unused CellInfo::pins field
|
|/
|
|
|
|
|
|
|
|
|
| |
No arches ever actually used this to implement a Cell->Bel pin mapping,
and in practice if any did try they would inevitably hit bitrot.
This field had limited use in practice as it is necessary to also
support cases where one cell pin maps to more than one bel pin. Removing
this old field is the first step towards developing a new API for this.
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\
| |
| | |
Add BaseArchRanges for default ArchRanges types
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|/
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|\
| |
| | |
Create a new BaseArch that formally specifies the Arch API and provides some base implementations
|
| |
| |
| |
| | |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| | |
Arches might otherwise have range types named ambigiously with the entry
in ArchRanges.
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| | |
As generic is often picked as our 'odd-one-out' we also use it as an
example of an Arch that does not build upon BaseArch.
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This splits out the pure-virtual definition of the architecture API into
ArchAPI; leaving BaseArch to only provide default implementations (which
can now be completely opted out of by deriving from ArchAPI instead of
BaseArch).
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| | |
Currently not actually being tested
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the Arch API clearer and also allows a base implementation of
functions to reduce the amount of complexity to get a basic Arch up and
running.
Currently this only implements these for functions that don't return a
range. Range-returning functions will require more work in order due to
the current 'duck typing' approach (probably a struct that contains the
range types combined with templating.)
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <gatecat@ds0.me>
|
|\ \
| |/
|/| |
Use RelSlice::ssize instead of cast-to-int throughout
|
|/
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|\
| |
| | |
Initial FPGA interchange arch
|