| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|
|
|
| |
Signed-off-by: gatecat <gatecat@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>
|
|
|
|
|
|
|
|
|
| |
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: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
| |
Single argument constructors will silently convert to that type. This
is typically not the right thing to do. For example, the nexus and
ice40 arch_pybindings.h files were incorrectly parsing bel name strings,
etc.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|
|
|
|
|
|
|
| |
This avoids storing the entire pip to wire map in memory with a moderate
runtime increase and a dramatic memory decrease (2 GB to 200 MB for
A50T).
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
|
|
|
| |
This is a complete implementation of IdStringList for ECP5; excluding
the GUI (which you will have to disable for it to build).
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
|
|
| |
This makes the ongoing migration to IdStringList easier.
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the new IdStringList API to store bel names for the ECP5. Note
that other arches and the GUI do not yet build with this
proof-of-concept patch.
getBelByName still uses the old implementation and could be more
efficiently implemented with further development.
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
|
|
|
| |
Using an optimised storage for <=4 objects to avoid excessive heap
allocations.
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|\
| |
| | |
Seperate PipRange types in pybindings_shared.
|
| |
| |
| |
| | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|/
|
|
|
|
|
| |
The previous additions to archcheck increased the runtime of the nexus
archcheck quiet a bit.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
|
|
|
| |
Note that some '#if 0' code that might still be useful for debugging in
the future has been retained.
Signed-off-by: D. Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: D. Shah <dave@ds0.me>
|
|\
| |
| | |
Switch from RelPtr to RelSlice
|
| |
| |
| |
| | |
Signed-off-by: D. Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| | |
The bba approach seems widely used enough that it's reasonable for this
to become part of common code.
Signed-off-by: D. Shah <dave@ds0.me>
|
|/
|
|
| |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|
|
|
| |
std::random_shuffle deprecated in C++14 and was removed in C++17.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* load wires
* add slice bels
* add IOB
* add aliases
* local aliases
* broken packing stuff
* working packer
* add constraints
* pnr runs1111
* add timing info
* constraints
* more constraint stuff
* add copyright
* remove generic reference
* remove parameters
* remove generic python api
* add newline to end of file
* some small refactoring
* warn on invalid constraints
* don't error on missing cell
* comment out debugging print
* typo
* avoid copy
* faster empty idstring
* remove intermediate variable
* no more deadnames
* fix cst warnings
* increase ripup and epsilon a bit
* take single device parameter
* add info to readme
* gui stubs
* Revert 4d03b681a8634e978bd5af73c97665500047e055
* assign ff_used in assignArchInfo
* decrease beta for better routability
* try to fix CI
|