Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use unified io location data | Miodrag Milanovic | 2023-03-20 | 1 | -12/+2 |
| | |||||
* | Use TRELLIS primitives | Miodrag Milanovic | 2023-03-20 | 8 | -40/+39 |
| | |||||
* | Use RelSlice, make more in line with ecp5 arch | Miodrag Milanovic | 2023-03-20 | 4 | -146/+113 |
| | |||||
* | cmake: Make HeAP placer always-enabled | gatecat | 2023-03-17 | 2 | -11/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | clangformat | gatecat | 2023-03-17 | 4 | -24/+21 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Fix out of tree builds and place h in generated | Miodrag Milanovic | 2023-03-16 | 3 | -3/+3 |
| | |||||
* | Let top tiles be on top | Miodrag Milanovic | 2023-03-16 | 1 | -3/+3 |
| | |||||
* | Enable wires and add dummy wire type for now | Miodrag Milanovic | 2023-03-16 | 4 | -7/+32 |
| | |||||
* | Basic GUI part selection | Miodrag Milanovic | 2023-03-16 | 2 | -3/+3 |
| | |||||
* | Fix examples | Miodrag Milanovic | 2023-03-16 | 5 | -6/+6 |
| | |||||
* | Extend chipdb with metadata | Miodrag Milanovic | 2023-03-16 | 10 | -202/+189 |
| | |||||
* | add new field handling in chip config format | Miodrag Milanovic | 2023-03-16 | 2 | -0/+4 |
| | |||||
* | Add simple BEL graphics | Miodrag Milanovic | 2023-03-16 | 5 | -1/+245 |
| | |||||
* | Expand list of possible devices | Miodrag Milanovic | 2023-03-16 | 2 | -4/+29 |
| | |||||
* | machxo2: Fix Python bindings for pip iterators | Lofty | 2023-02-13 | 1 | -2/+2 |
| | |||||
* | Add missing <set> includes | gatecat | 2023-01-20 | 2 | -0/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | api: add explain_invalid option to isBelLocationValid | gatecat | 2022-12-07 | 2 | -2/+2 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: ArcBounds -> BoundingBox | gatecat | 2022-12-07 | 2 | -3/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Use CMake's Python3 rather than PythonInterp in subdirs | Adam Sampson | 2022-08-21 | 1 | -2/+2 |
| | |||||
* | refactor: id(stringf(...)) to new idf(...) helper | gatecat | 2022-08-10 | 1 | -4/+4 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Switch to potentially-sparse net users array | gatecat | 2022-02-27 | 1 | -1/+1 |
| | | | | | | | | This uses a new data structure for net.users that allows gaps, so removing a port from a net is no longer an O(n) operation on the number of users the net has. Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: New member functions to replace design_utils | gatecat | 2022-02-18 | 2 | -10/+10 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: Use constids instead of id("..") | gatecat | 2022-02-16 | 7 | -64/+81 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: Use cell member functions to add ports | gatecat | 2022-02-16 | 1 | -72/+59 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: New NetInfo and CellInfo constructors | gatecat | 2022-02-16 | 2 | -16/+9 |
| | |||||
* | archapi: Use arbitrary rather than actual placement in predictDelay | gatecat | 2021-12-19 | 2 | -7/+8 |
| | | | | | | | | | | | | This makes predictDelay be based on an arbitrary belpin pair rather than a arc of a net based on cell placement. This way 'what-if' decisions can be evaluated without actually changing placement; potentially useful for parallel placement. A new helper predictArcDelay behaves like the old predictDelay to minimise the impact on existing passes; only arches need be updated. Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | clangformat. | William D. Jones | 2021-12-16 | 2 | -9/+12 |
| | |||||
* | machxo2: Remove no-iobs option. It was always enabled and should remain an ↵ | William D. Jones | 2021-12-16 | 6 | -8/+5 |
| | | | | implementation detail. | ||||
* | machxo2: Remove -noiopad option when generating miters for post-pnr ↵ | William D. Jones | 2021-12-16 | 1 | -1/+2 |
| | | | | verification. | ||||
* | machxo2: Add packing logic to forbid designs lacking FACADE_IO top-level ports. | William D. Jones | 2021-12-16 | 1 | -0/+46 |
| | |||||
* | machxo2: Correct which PIO wires get adjusted when writing text bitstream. ↵ | William D. Jones | 2021-12-16 | 1 | -9/+26 |
| | | | | Add verbose logging for adjustments. | ||||
* | machxo2: Fix packing for directly-connected DFFs. | William D. Jones | 2021-07-01 | 3 | -9/+28 |
| | |||||
* | machxo2: Add VHDL primitives, demo, and script. | William D. Jones | 2021-07-01 | 4 | -0/+81 |
| | |||||
* | machxo2: Add a special case for pips whose config bits are in multiple | William D. Jones | 2021-07-01 | 1 | -0/+12 |
| | | | | tiles. | ||||
* | machxo2: Hardcode a rule for emitting U_/D_ or G_ prefixes in ASCII output. | William D. Jones | 2021-07-01 | 1 | -2/+17 |
| | |||||
* | machxo2: Set Pip and Wire delays to reasonable fake values mirroring | William D. Jones | 2021-07-01 | 1 | -2/+2 |
| | | | | estimateDelay. | ||||
* | Fixing old emails and names in copyrights | gatecat | 2021-06-12 | 13 | -15/+15 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Remove redundant code after hashlib move | gatecat | 2021-06-02 | 1 | -43/+0 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Use hashlib in most remaining code | gatecat | 2021-06-02 | 1 | -2/+2 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Using hashlib in arches | gatecat | 2021-06-02 | 4 | -9/+8 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Use hashlib for core netlist structures | gatecat | 2021-06-02 | 3 | -17/+19 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Add hash() member functions | gatecat | 2021-06-02 | 1 | -0/+5 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Add stub cluster API impl for remaining arches | gatecat | 2021-05-06 | 1 | -1/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Add same fix as in issue #373 | Miodrag Milanovic | 2021-04-08 | 1 | -0/+4 |
| | |||||
* | Split nextpnr.h to allow for linear inclusion. | Keith Rothman | 2021-03-15 | 2 | -7/+18 |
| | | | | | | | | | | | | | | | | | | | "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> | ||||
* | Fix compiler warnings introduced by -Wextra | gatecat | 2021-02-25 | 3 | -15/+1 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Replace DelayInfo with DelayPair/DelayQuad | gatecat | 2021-02-19 | 2 | -36/+3 |
| | | | | | | | | | | | | | | | | | 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> | ||||
* | Remove isValidBelForCell | gatecat | 2021-02-16 | 3 | -12/+1 |
| | | | | | | | | | | | | | | | | | This Arch API dates from when we were first working out how to implement placement validity checking, and in practice is little used by the core parts of placer1/HeAP and the Arch implementation involves a lot of duplication with isBelLocationValid. In the short term; placement validity checking is better served by the combination of checkBelAvail and isValidBelForCellType before placement; followed by isBelLocationValid after placement (potentially after moving/swapping multiple cells). Longer term, removing this API makes things a bit cleaner for a new validity checking API. Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | machxo2: Misc tidying up | gatecat | 2021-02-12 | 2 | -8/+4 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | machxo2: Python bindings and stub GUI | gatecat | 2021-02-12 | 5 | -6/+188 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> |