Clifford Wolf
8d372b86f3
Proper ice40 wire types
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-03 21:11:12 +02:00
David Shah
b937e6defe
Add constraint weight as a command line option
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 18:31:54 +02:00
Clifford Wolf
2a1d54389f
Add iCE40 pseudo-pips for lut permutation
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-03 17:37:59 +02:00
David Shah
a7269a685e
ice40: Use real cell timings
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-02 16:02:51 +02:00
Clifford Wolf
6ccf8629b5
Add Router1Cfg
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 13:58:23 +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
92ec2cd138
clangformat for stuff I've touched
2018-07-31 20:57:36 -07: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
Clifford Wolf
32ff0059fe
Add binary search to getBelPinWire() and getBelPinType()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-31 11:55:25 +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
Clifford Wolf
8f9b031ef0
Add iCE40 fast/slow delay fields to chipdb
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 16:21:20 +02:00
Clifford Wolf
0daffec2a0
Add predictDelay Arch API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 15:35:40 +02:00
Eddie Hung
beabb429b0
clangformat
2018-07-28 14:11:43 -07:00
Eddie Hung
02b3bda7f6
ice40 estimateDelay to account for out/in muxes
2018-07-27 19:52:45 -07:00
Eddie Hung
cd561b4316
getBudgetOverride() now handles COUT crossing tiles
2018-07-26 22:30:15 -07:00
Eddie Hung
97e546041e
Revert "Remove Arch::getBudgetOverride()"
...
This reverts commit 749dae4ae5
.
2018-07-26 21:37:19 -07:00
Sergiusz Bazanski
c37d2baaf6
common: rename GraphicElement::{style,type} enums, add _MAX members
2018-07-26 16:39:19 +01:00
Clifford Wolf
03f92948d1
clangformat and GraphicElement::style comments
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 17:14:56 +02:00
Clifford Wolf
6a59b8522c
Move iCE40 switchbox gfx to UI groups
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 16:21:01 +02:00
Eddie Hung
879f0d7c57
Reduce id() lookups for commonly used update_budget()
2018-07-24 21:21:11 -07:00
Sergiusz Bazanski
b31e95f82c
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/pll
2018-07-24 15:54:03 +01: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
David Shah
7858663aa7
timing: Model clock to Q times
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 11:46:14 +02:00
Sergiusz Bazanski
065ea95eab
ice40: Move spliceLUT back to pack.cc
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
e6c7b14465
ice40: Refactor PLL/LOCK LUT splicing out into Arch::
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
2b1f7875bb
ice40: Implement emitting PLLs
2018-07-24 02:38:10 +01: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
Clifford Wolf
9e6deed3b8
Merge branch 'q3k/lock-2-electric-boogaloo' into 'master'
...
Basic locking and threading for Arch/GUI
See merge request SymbioticEDA/nextpnr!10
2018-07-21 19:45:24 +00:00
Clifford Wolf
30e2f0e1e8
Add Loc constructors
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 21:40:06 +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
Sergiusz Bazanski
be14e161ae
Re-enable drawing Pips.
2018-07-20 18:35:42 +01:00
Sergiusz Bazanski
5d0dbe9db9
clang-format
2018-07-20 18:24:34 +01:00
Sergiusz Bazanski
76e5236fb3
Nuke IdStringDB
2018-07-20 18:24:16 +01: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
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
3bad9c26cf
ice40: Optimise reset/enable net checking
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-20 11:36:32 +02:00
David Shah
6c38df7295
ice40: Adding cell definition for DSPs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 13:22:46 +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
f3c6c76fff
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo
2018-07-15 21:57:42 +01: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
Serge Bazanski
59a790cd00
Refactor IdString functionality into IdStringDB
...
This lets us more precisely control the lifetime of IdString databases
in contexts/arches.
2018-07-14 20:24:20 +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
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
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
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
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
Clifford Wolf
013cfebcc5
Improve handling of iCE40 BRAM bels
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 16:22:28 +02:00
Sergiusz Bazanski
9e4f97290a
Make PnR use Unlocked methods
2018-07-13 14:50:58 +01: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
b8a42ff53b
Updates from clang-format
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 22:04:13 +02: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
7081cca016
Add GUI Decals API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 14:03:23 +02:00
Clifford Wolf
841714a3d6
Improve ic40 gfx
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-10 15:09:11 +02:00
David Shah
132c5b5019
Make logic cell positioning a constant
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 17:00:54 +02:00
David Shah
c921e4f24b
Add constants for switchbox locations
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 16:50:01 +02:00
David Shah
5b6fa934d8
Make LCs smaller and move them down
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 16:07:16 +02:00
David Shah
953560ae17
Add switchboxes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 16:02:02 +02:00
David Shah
1f36242d43
Add lutff_global switchbox
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 15:09:17 +02:00
Clifford Wolf
3be10f629a
Add ice40 wire gfx enums
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-09 15:05:44 +02:00
David Shah
a1cd9fcf73
Reduce line width, adding some switchboxes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 14:53:20 +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
David Shah
59b2091f77
ice40: Another carry timing fix
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-03 14:04:32 +02:00
David Shah
9c4feb32a4
ice40: Fix carry timing paths
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-03 13:45:42 +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
53ce81343a
ice40: Add timing paths for carry
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 12:23:12 +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
a1681560a3
Updates from clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:28:09 +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
Clifford Wolf
0508fb3627
Fix "dereferencing type-punned pointer" warnings
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-22 20:19:29 +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
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
9475997a2d
Improve --tmfuzz mode and iCE40 delay estimator
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 19:22:03 +02:00