aboutsummaryrefslogtreecommitdiffstats
path: root/nexus
Commit message (Collapse)AuthorAgeFilesLines
* Fixing old emails and names in copyrightsgatecat2021-06-1214-15/+15
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix LRAM x coordgatecat2021-06-101-0/+2
|
* Remove redundant code after hashlib movegatecat2021-06-021-61/+0
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Use hashlib in most remaining codegatecat2021-06-021-2/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Using hashlib in archesgatecat2021-06-028-49/+47
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Use hashlib for core netlist structuresgatecat2021-06-026-62/+62
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Add hash() member functionsgatecat2021-06-021-0/+6
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Add heatmap by routing resource typegatecat2021-05-203-0/+15
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Revert "nexus: Enable placeAllAtOnce"gatecat2021-05-061-1/+4
| | | | This reverts commit 0abe425675ae0cc550194171f1f15ec4058a05d6.
* nexus: Use new cluster APIgatecat2021-05-063-13/+17
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Enable placeAllAtOncegatecat2021-04-251-4/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix some IO FASM gengatecat2021-03-301-0/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix LIFCL-17 LRAM FASMgatecat2021-03-301-0/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix default IO configgatecat2021-03-291-0/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #651 from YosysHQ/gatecat/nexus-vccogatecat2021-03-291-3/+51
|\ | | | | nexus: Fix bank Vcco FASM
| * nexus: Fix bank Vcco FASMgatecat2021-03-291-3/+51
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | nexus: Default HF_OSC_EN to ENABLEDgatecat2021-03-291-1/+1
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix FASM gen for LIFCL-17gatecat2021-03-261-1/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Add support for get_pins PDC commandgatecat2021-03-251-7/+56
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Split nextpnr.h to allow for linear inclusion.Keith Rothman2021-03-153-9/+20
| | | | | | | | | | | | | | | | | | | "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>
* Merge pull request #609 from YosysHQ/gatecat/sta-v2gatecat2021-03-091-3/+3
|\ | | | | Use new timing engine for criticality
| * timing: Replace all users of criticality with new enginegatecat2021-03-041-3/+3
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | nexus: Support for hard DPHYgatecat2021-03-084-2/+73
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | nexus: Add pin definitions for DPHYgatecat2021-03-083-0/+48
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | nexus: Fix copypastagatecat2021-03-081-1/+1
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | nexus: Fail gracefully when seeing special pinsgatecat2021-03-051-1/+1
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix global handling for LIFCL-17gatecat2021-03-031-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* nexus: Fix getPipDelay returning negative after refactorgatecat2021-02-231-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Replace DelayInfo with DelayPair/DelayQuadgatecat2021-02-194-64/+29
| | | | | | | | | | | | | | | | | 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 isValidBelForCellgatecat2021-02-162-11/+0
| | | | | | | | | | | | | | | | | 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>
* Merge pull request #575 from YosysHQ/gatecat/belpin-2gatecat2021-02-151-1/+1
|\ | | | | Support for cell pin to bel pin mappings
| * Start making use of getBelPinsForCellPin APIgatecat2021-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add getBelHidden and add some missing "override" statements.Keith Rothman2021-02-111-1/+1
|/ | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add BaseArchRanges for default ArchRanges typesgatecat2021-02-091-16/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #568 from YosysHQ/dave/arch-overridegatecat2021-02-085-303/+106
|\ | | | | Create a new BaseArch that formally specifies the Arch API and provides some base implementations
| * Use 'T' postfix to disambiguate LHS and RHS of usingD. Shah2021-02-081-21/+21
| | | | | | | | | | | | | | Arches might otherwise have range types named ambigiously with the entry in ArchRanges. Signed-off-by: D. Shah <dave@ds0.me>
| * Add archArgs and archArgsToId to Arch APID. Shah2021-02-051-2/+3
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * nexus: Switch to BaseArchD. Shah2021-02-055-301/+103
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
* | Use RelSlice::ssize instead of cast-to-int throughoutD. Shah2021-02-081-10/+10
|/ | | | Signed-off-by: D. Shah <dave@ds0.me>
* Mark IdString and IdStringList single argument constructors explicit.Keith Rothman2021-02-045-16/+16
| | | | | | | | | 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>
* nexus: Implement IdStringList for all arch object namesD. Shah2021-02-023-59/+56
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* arch: Add getNameDelimiter API for string listsD. Shah2021-02-021-0/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* Run "make clangformat".Keith Rothman2021-02-024-27/+21
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add pybindings for new APIs.Keith Rothman2021-02-022-0/+15
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Rename Partition -> BelBucket.Keith Rothman2021-02-023-29/+29
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add Partition APIs to ice40, nexus, gowin archs.Keith Rothman2021-02-023-2/+80
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial refactoring of placer API.Keith Rothman2021-02-021-0/+5
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Seperate PipRange types in pybindings_shared.Keith Rothman2021-02-012-2/+2
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* cleanup: Spelling fixesD. Shah2021-01-281-1/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* cleanup: Fix compiler warningsD. Shah2021-01-281-2/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>