Commit Graph

191 Commits

Author SHA1 Message Date
Eddie Hung
97e546041e Revert "Remove Arch::getBudgetOverride()"
This reverts commit 749dae4ae5.
2018-07-26 21:37:19 -07:00
Clifford Wolf
467e0926f9 Add getWireType()/getPipType() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 16:38:11 +02:00
Eddie Hung
e6015dc695 Merge remote-tracking branch 'origin/master' into eddieh/idstring_speedup 2018-07-25 17:51:47 -07:00
Sergiusz Bazanski
2c34a50a7c ice40: after review 2018-07-25 12:01:51 +01:00
Sergiusz Bazanski
aad0d3eb35 ice40: support PLL40_*_PAD, fix pass-through LUT for LOCK 2018-07-25 11:32:21 +01:00
Eddie Hung
879f0d7c57 Reduce id() lookups for commonly used update_budget() 2018-07-24 21:21:11 -07:00
David Shah
974ca143e8 Remove implementations of deprecated APIs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 16:09:29 +02:00
Clifford Wolf
c0c8dc7602 Remove uphill/downhill bel pins from ice40 db
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 15:44:39 +02:00
Clifford Wolf
90fe002a36 Remove getBelsByType() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 13:16:27 +02:00
Clifford Wolf
27c5236826 Add getGridDimX(), getGridDimY(), getTileDimZ() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 12:19:54 +02:00
Miodrag Milanovic
b9c413a5aa Move to new API and remove deprecated 2018-07-22 19:58:17 +02:00
Clifford Wolf
e13fc7edab Add Arch::getBelPins() to generic and iCE40 archs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 12:08:52 +02:00
Clifford Wolf
b60c9485d2 Add Arch::getBelPinType() and Arch::getWireBelPins() in iCE40 arch
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 11:56:51 +02:00
Clifford Wolf
62b66e0208 Rename getWireBelPin to getBelPinWire
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 10:59:21 +02:00
Clifford Wolf
1e96999863 clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 00:50:49 +02:00
Sergiusz Bazanski
6588aafdb8 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-21 20:00:42 +01:00
Clifford Wolf
c556242976 Add getWireDelay API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:38:44 +02:00
Clifford Wolf
fd8239e170 Add Location APIs to generic arch
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 18:09:22 +02:00
Clifford Wolf
f6fa0300ae Improve iCE40 and common Loc code
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 17:33:57 +02:00
Clifford Wolf
e16b4a325e Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into gridapi 2018-07-20 17:13:26 +02:00
Sergiusz Bazanski
55d5f8f248 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-20 10:59:33 +01:00
David Shah
b0d9b994eb ice40: Adding data for extra cell configuration
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 11:14:43 +02:00
David Shah
08ceb8a059 ice40: Renaming
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 14:34:32 +02:00
David Shah
d392b5f635 ice40: Use xArchArgs in validity check
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 12:51:07 +02:00
David Shah
70cfa7a6a4 ice40: Make assignArchArgs a Arch method; call also after legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 12:21:02 +02:00
David Shah
c75a924c3f ice40: Assign ArchArgs after packing
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 12:12:05 +02:00
Serge Bazanski
03508faabf WIP. 2018-07-17 19:16:26 +01:00
Clifford Wolf
c0f1af87f6 Add Loc struct for x/y/z bel locations
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 17:03:44 +02:00
Clifford Wolf
5531546d6b Remove pip names from ice40 chip db to safe memory
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-15 21:41:34 +02:00
Clifford Wolf
164bd28348 Add iCE40 Pip gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-15 20:29:32 +02:00
Sergiusz Bazanski
eafb9b4281 Fix revert issues. 2018-07-14 19:02:52 +01:00
Sergiusz Bazanski
d327a0afbb Revert "Make ice40::Arch thread-safe"
This reverts commit 0816f447b7.
2018-07-14 19:01:33 +01:00
Sergiusz Bazanski
57f75385b0 Revert "Make PnR use Unlocked methods"
This reverts commit 9e4f97290a.
2018-07-14 18:53:08 +01:00
Sergiusz Bazanski
447ed83638 Revert "Introduce proxies for locked access to ctx"
This reverts commit 89809a8b81.
2018-07-14 18:52:56 +01:00
Sergiusz Bazanski
09ca9ea39e Revert "Comment arch.h"
This reverts commit dc3256e62f.
2018-07-14 18:50:58 +01:00
Sergiusz Bazanski
89b9d6bc8a Revert "Slight simplification of proxy code"
This reverts commit a71b576de6.
2018-07-14 18:50:54 +01:00
Sergiusz Bazanski
36b4e3382d Revert "Make GUI nice and smooth."
This reverts commit a8c84e90a3.
2018-07-14 18:50:50 +01:00
Sergiusz Bazanski
b0c05c7f75 Revert "Refactor proxies to nextpnr."
This reverts commit 9b17fe385c.
2018-07-14 18:50:37 +01:00
Sergiusz Bazanski
d9c3c117a3 Revert "clang-format"
This reverts commit 8ca7a6da25.
2018-07-14 18:50:34 +01:00
Sergiusz Bazanski
d4a0feb1ad Revert "Add read/mutate context stubs for ECP5"
This reverts commit f333a68753.
2018-07-14 18:50:29 +01:00
Sergiusz Bazanski
ade67ecf21 Revert "Move read methods to ReadMethods, remove some legacy access to Arch"
This reverts commit 3352ff4abb.
2018-07-14 18:50:23 +01:00
Sergiusz Bazanski
2233040201 Revert "Remove legacy access to state via Arch"
This reverts commit 18b4b31678.
2018-07-14 18:50:15 +01:00
Sergiusz Bazanski
18b4b31678 Remove legacy access to state via Arch 2018-07-14 12:02:28 +01:00
Sergiusz Bazanski
3352ff4abb Move read methods to ReadMethods, remove some legacy access to Arch 2018-07-14 11:46:32 +01:00
Sergiusz Bazanski
f333a68753 Add read/mutate context stubs for ECP5 2018-07-14 11:25:38 +01:00
Sergiusz Bazanski
8ca7a6da25 clang-format 2018-07-14 11:10:59 +01:00
Sergiusz Bazanski
9b17fe385c Refactor proxies to nextpnr. 2018-07-14 11:10:31 +01:00
Sergiusz Bazanski
a8c84e90a3 Make GUI nice and smooth. 2018-07-13 20:53:52 +01:00
Sergiusz Bazanski
a71b576de6 Slight simplification of proxy code 2018-07-13 19:45:35 +01:00
Sergiusz Bazanski
dc3256e62f Comment arch.h 2018-07-13 19:22:39 +01:00
Sergiusz Bazanski
b8ca1a5582 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-the-things 2018-07-13 19:10:27 +01:00
Sergiusz Bazanski
89809a8b81 Introduce proxies for locked access to ctx 2018-07-13 18:58:59 +01:00
Sergiusz Bazanski
9e4f97290a Make PnR use Unlocked methods 2018-07-13 14:50:58 +01:00
Clifford Wolf
c05bea12e0 Add ctx->pack() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 15:16:44 +02:00
Clifford Wolf
45462ef3a7 Fix Ui/Decal handling of active/inactive arch objects
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 14:29:03 +02:00
Sergiusz Bazanski
0816f447b7 Make ice40::Arch thread-safe
We move all non-chip data to be private and guard them with an R/W
mutex.

We then modify all calls that access these fields to lock/shared_lock
the mutex as required.

Profiling the code before and after is an exercise left to the reader
:).
2018-07-13 12:35:39 +01:00
Clifford Wolf
4f87ea0eb6 Improve iCE40 wire database and gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 21:05:09 +02:00
Clifford Wolf
a436035424 Add Groups API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 17:22:29 +02:00
Clifford Wolf
7daa8524c8 Add ctx->place() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:15:08 +02:00
Clifford Wolf
7df67c91b3 Add ctx->route() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:04:09 +02:00
Clifford Wolf
2a01b5e4d3 New refreshUi API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 17:02:13 +02:00
Clifford Wolf
7081cca016 Add GUI Decals API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 14:03:23 +02:00
Miodrag Milanovic
9704ebd079 Added selection of chip and pacakge on new projet in GUI 2018-07-07 13:23:45 +02:00
David Shah
e0a851976f refactor: Replace assert with NPNR_ASSERT
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 12:15:23 +02:00
Miodrag Milanovic
b96727549c Building using MSVC works 2018-07-04 12:08:16 +02:00
Miodrag Milanovic
1cf8293019 Fixed macros and includes for MSVC 2018-07-03 08:53:44 +02:00
Clifford Wolf
c73759f9f1 Split "arch.h" in "arch.h" and "archdefs.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-29 20:36:34 +02:00
David Shah
302ccc14cf ice40: UltraPlus SPRAM working
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 19:58:08 +02:00
David Shah
bdd54a6847 Refactor: remove PlacementValidityChecker and move methods to Arch
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 11:43:59 +02:00
Miodrag Milanovic
1acaf41277 added project saving and loading 2018-06-24 14:38:45 +02:00
Clifford Wolf
a40d9dc514 Improve router ripup handling
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:58:24 +02:00
Clifford Wolf
a1681560a3 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:28:09 +02:00
Clifford Wolf
746d63f9fa Refactoring bind/unbind API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:16:24 +02:00
David Shah
289fca0976 ice40: Move global net test to Arch
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 12:09:01 +02:00
David Shah
8850f86a8a ice40: SB_LFOSC support, fabric routing only
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 19:21:39 +02:00
David Shah
7c169c48d0 ice40: Preparations for extra cells support
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 17:44:26 +02:00
David Shah
cf78f1b0e4 ice40: Add UltraPlus tiles to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 16:40:22 +02:00
Clifford Wolf
aa81f9d648 Switched from clifford@clifford.at to clifford@symbioticeda.com for copyright headers
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-22 16:19:17 +02:00
Clifford Wolf
2c98231f88 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 19:36:20 +02:00
Clifford Wolf
a29bfc788e Add ctx->checksum(), slightly improve log messages
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 15:47:41 +02:00
Clifford Wolf
693c34ad06 Improvements in router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:08:45 +02:00
Clifford Wolf
37f7802c6c Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 12:58:08 +02:00
Clifford Wolf
cb9c6c6ef2 Changes to estimatePosition API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 12:57:38 +02:00
Clifford Wolf
c3837027b2 Add better iCE40 delay estimates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 12:50:38 +02:00
David Shah
5ca4663294 Working on the timing budget annnotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 12:21:56 +02:00
David Shah
1436ae21a2 Adding stubs for delay annotation and cell timing lookup
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:44:28 +02:00
Clifford Wolf
fd40d6f58d Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 14:10:42 +02:00
Clifford Wolf
c910846c5c Refactor Arch/Context design hierarchy
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 12:08:37 +02:00
Clifford Wolf
7ef4d0726b Getting rid of users of old IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 16:08:19 +02:00
Clifford Wolf
0dd185a141 Getting rid of users of old IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 15:53:18 +02:00
Clifford Wolf
cbcd2ea3ac Rename chip.h to arch.h
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:12:39 +02:00