Commit Graph

71 Commits

Author SHA1 Message Date
Keith Rothman
0758f68020 Update archapi.md with latest signature.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-23 14:08:59 -08:00
gatecat
e571c707b5 Update generic.md
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-20 10:51:30 +00:00
gatecat
7922b3bfc4 Replace DelayInfo with DelayPair/DelayQuad
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>
2021-02-19 11:31:33 +00:00
gatecat
cb957795a3 Update docs/archapi.md
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-17 11:25:53 +00:00
gatecat
c7c13cd95f Remove isValidBelForCell
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>
2021-02-16 13:31:36 +00:00
gatecat
f0b2a91bda generic: Update docs
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-15 10:37:06 +00:00
gatecat
1b6cdce925
Merge pull request #575 from YosysHQ/gatecat/belpin-2
Support for cell pin to bel pin mappings
2021-02-15 09:38:22 +00:00
gatecat
cede682585
Merge pull request #579 from litghost/add_control_for_split_io
Add control to whether GenericFrontend splits IO ports.
2021-02-12 18:22:06 +00:00
Keith Rothman
e28dedbbe3 Update docs.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-12 08:07:09 -08:00
gatecat
c956cae824 Make BaseArch getDecalGraphics return an empty range
Fix assertion failure when opening the GUI on an arch without any
decals.

Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:35:51 +00:00
Keith Rothman
99e397000c Add getBelHidden and add some missing "override" statements.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-11 14:58:02 -08:00
gatecat
85bb108ba4 Add getBelPinsForCellPin to Arch API
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>
2021-02-10 11:54:54 +00:00
gatecat
11db5a2f1d Add BaseArchRanges for default ArchRanges types
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-09 10:39:14 +00:00
D. Shah
697c4fd08b Update docs with API changes
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-08 11:08:45 +00:00
D. Shah
3e631fe2f4 Add archArgs and archArgsToId to Arch API
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-05 19:19:17 +00:00
D. Shah
0865198a9e Update coding.md
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-03 10:53:15 +00:00
D. Shah
9614d37229 docs: Update archapi.md with IdStringList
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:14 +00:00
D. Shah
ff92d19fed arch: Add getNameDelimiter API for string lists
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 16:59:40 +00:00
Keith Rothman
01509ec7c9 Make BELs/PIPs lowercase as bels/pips per review comment.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:43:38 -08:00
Keith Rothman
11c80c048b Update documentation.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
878fcdd22d Implement partitioning in placer_heap.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
b4160c228e Add archcheck for partition methods.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
f3a7c691a3 Make some partition names consistent.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
2285c8dbbd Initial refactoring of placer API.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
D. Shah
94e8847d67 cleanup: Spelling fixes
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 15:19:06 +00:00
David Shah
2fe8bebc6c nexus: Update docs and CMake
Signed-off-by: David Shah <dave@ds0.me>
2020-11-30 08:59:04 +00:00
William D. Jones
996b4100b9
Update netlist.md
Add information about how top-level ports and connected nets differ from other ports and nets.
2020-11-24 14:30:30 -05:00
David Shah
b18ea204c2 Remove wire alias API
It has not actually been implemented in any router for over 2.5 years and causes nothing more than confusion. It can always be added back if it forms part of a future solution; possibly as part of a more general database structure rethink.

Signed-off-by: David Shah <dave@ds0.me>
2020-10-15 09:36:15 +01:00
David Shah
c4244d967d docs: Tidy up
Signed-off-by: David Shah <dave@ds0.me>
2020-10-01 09:02:29 +01:00
kittennbfive
b2438caec3
update doc - UNTESTED on real hardware 2020-09-28 14:49:35 +00:00
David Shah
7123209324 Allow selection of router algorithm
Signed-off-by: David Shah <dave@ds0.me>
2020-02-03 11:54:38 +00:00
David Shah
25f57a1e38 docs: Document getRouteBoundingBox
Signed-off-by: David Shah <dave@ds0.me>
2020-02-03 11:43:35 +00:00
David Shah
5774b13984 Document hierarchy structures
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
6bf3c261fa First pass at data structures for hierarchy
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
b7079d159b Update generic arch docs
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 21:52:02 +00:00
David Shah
1e4feed383 General documentation updates
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 21:47:20 +00:00
David Shah
98fe4438f1 ECP5 support is no longer experimental
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 16:10:53 +00:00
David Shah
8c0610e84f ice40: Add set_frequency pcf command; and document pcf
Signed-off-by: David Shah <dave@ds0.me>
2019-10-13 18:48:39 +01:00
David Shah
a00d6c75aa docs: Improvements to coding notes
Signed-off-by: David Shah <dave@ds0.me>
2019-10-03 11:34:31 +01:00
David Shah
137d9d33c1 docs: Working on coding tips
Signed-off-by: David Shah <dave@ds0.me>
2019-09-29 15:50:08 +02:00
David Shah
72244066bb docs: More netlist documentation
Signed-off-by: David Shah <dave@ds0.me>
2019-09-29 15:22:56 +02:00
David Shah
cfe86dfd15 docs: Add docs for CellInfo and NetInfo
Signed-off-by: David Shah <dave@ds0.me>
2019-09-29 12:12:28 +02:00
David Shah
6bb098b476 docs: Add Python API documentation
Signed-off-by: David Shah <dave@ds0.me>
2019-09-19 15:52:18 +01:00
David Shah
ba050c21b9 docs: Fix typo
Signed-off-by: David Shah <dave@ds0.me>
2019-07-22 09:12:33 +01:00
David Shah
f0cd51e6bc generic: Cell timing support
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:34:06 +01:00
David Shah
f2c911bf07 generic: Adding API usage documentation
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
02ae21d8fc Add --placer option and refactor placer selection
Signed-off-by: David Shah <dave@ds0.me>
2019-03-24 11:10:20 +00:00
Ben Gamari
7a61ffc3f4
docs/constraints: Fix typo 2018-11-22 16:55:46 -05:00
David Shah
9f9b242cf0 docs: Add documentation on constraints support
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:25:26 +00:00
Eddie Hung
2d39cde17b Merge remote-tracking branch 'origin/master' into timingapi 2018-11-13 12:12:11 -08:00