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
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
D. Shah
efca63862c
Use 'T' postfix to disambiguate LHS and RHS of using
...
Arches might otherwise have range types named ambigiously with the entry
in ArchRanges.
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-08 10:29:50 +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
c7ef7e1902
generic: Base upon ArchAPI
...
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>
2021-02-05 19:19:17 +00:00
D. Shah
450bfae86c
generic: Fix pin names accidentally being IdStringList not IdString
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-05 10:43:35 +00:00
Keith Rothman
c99fbde0eb
Mark IdString and IdStringList single argument constructors explicit.
...
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>
2021-02-04 16:38:07 -08:00
D. Shah
15bf9e4f74
Post-rebase fix
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:07:44 +00:00
D. Shah
7cff69f945
generic: Use IdStringList for all arch object names
...
Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:56 +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
da74a425d2
Run "make clangformat".
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:44:49 -08:00
Keith Rothman
9fe546f279
Rename Partition -> BelBucket.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-02 07:34:56 -08:00
Keith Rothman
310f9f7b84
Finish implementing new generic APIs.
...
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
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
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
a1c902dadc
generic: Implement getRouteBoundingBox
...
Signed-off-by: David Shah <dave@ds0.me>
2020-02-03 13:48:51 +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
2957eb7cc9
generic: Improve error handling when Wire/Pip/Bel is not found
...
Signed-off-by: David Shah <dave@ds0.me>
2019-11-27 14:33:35 +00:00
David Shah
f12a209391
generic: Router param tweaks
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:46:05 +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
6a383cd4c5
generic: Simple procedural example works
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
ca918078bf
generic: Add a simple packer for generic SLICEs and IOBs
...
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
Eddie Hung
2d39cde17b
Merge remote-tracking branch 'origin/master' into timingapi
2018-11-13 12:12:11 -08:00
David Shah
dab70466cd
generic: Update arch to new timing API
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
Clifford Wolf
f93129634b
Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:28:41 +01:00
Clifford Wolf
d2bdb670c0
Add getConflictingPipWire() arch API, router1 improvements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 11:34:38 +01:00
Clifford Wolf
428f0b9eba
Add Arch attrs API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 17:16:14 +02:00
Clifford Wolf
5ddde5c49f
Add pip locations
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-09 10:39:53 +02:00
Clifford Wolf
f6189e4677
Merge branch 'master' of github.com:YosysHQ/nextpnr into constids
2018-08-08 19:35:13 +02:00
David Shah
cd4e761bb7
Merge pull request #44 from YosysHQ/improve_timing_spec
...
Speed up budget allocator using topographical ordering and update cell timing API
2018-08-08 19:23:47 +02:00
Clifford Wolf
abf5ea84b9
Get rid of BelType and PortPin in generic arch
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 17:22:05 +02:00
David Shah
433ad6462e
Arch API: Removing Arch::isIOCell
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 17:06:59 +02:00
David Shah
bf42e525cb
Arch API: New specification for timing port classes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 14:37:59 +02:00
Miodrag Milanovic
5df90bc5a5
Merge remote-tracking branch 'origin/master' into common_main
...
# Conflicts:
# ecp5/main.cc
# ice40/main.cc
2018-08-08 10:48:05 +02:00
Eddie Hung
6768a5c03e
Add Arch::isIOCell() to ecp5 and generic
2018-08-06 17:17:39 -07:00
Miodrag Milanovic
fffaaa613f
Added project loader
2018-08-06 19:32:17 +02:00
Eddie Hung
d0312514bd
Modify getBudgetOverride for generic and ecp5 too
2018-08-06 07:56:34 -07:00
Eddie Hung
8a6ff4b261
Modify getBudgetOverride for generic and ecp5 too
2018-08-05 22:33:14 -07:00
Clifford Wolf
c3c9dab9f7
API change: Use CellInfo* and NetInfo* as cell/net handles (generic)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-05 15:34:16 +02:00
Miodrag Milanovic
1c1fd99b8b
various fixes for generic arch
2018-08-02 17:40:14 +02:00
Clifford Wolf
29dd98420b
Remove getFrameDecal() API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-01 11:30:11 +02:00
Eddie Hung
f646ec790a
Modify the getNetinfo*() functions and getBudgetOverride() to not use
...
user_idx and to take a PortRef& instead
2018-07-31 19:31:54 -07:00
Eddie Hung
2d75053744
Merge remote-tracking branch 'origin/estdelay' into redist_slack
...
Conflicts:
ecp5/arch.cc
generic/arch.cc
ice40/arch.cc
2018-07-31 16:18:08 -07:00
Eddie Hung
70747b9355
Merge branch 'redist_slack' into 'redist_slack'
...
# Conflicts:
# common/timing.cc
2018-07-31 17:51:56 +00:00
Clifford Wolf
41726087b7
getChipName() should be const
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-31 17:01:38 +02:00
Eddie Hung
a82f6f4105
Modify predictDelay signature
2018-07-30 21:51:30 -07:00
David Shah
b09183db3b
Use DelayInfo for cell timing instead of delay_t
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:59:30 +02:00