Sergiusz Bazanski
1d3147e26a
ice40: Prevent placement of SB_IOs in IO blocks used by PLL outputs
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
69233385f8
ice40: Emit feed-through LUTs for PLL/LOCK
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
db31c0625b
ice40: Fail early on SB_PLL40_*_PAD cells
2018-07-24 02:55:38 +01:00
Sergiusz Bazanski
2b1f7875bb
ice40: Implement emitting PLLs
2018-07-24 02:38:10 +01:00
Clifford Wolf
e647604e2a
Add Context::archcheck() and "nextpnr-ice40 --test"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 14:03:23 +02:00
Clifford Wolf
90fe002a36
Remove getBelsByType() API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 13:16:27 +02:00
David Shah
bfa1137fe0
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 13:02:57 +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
Clifford Wolf
3788bd26e6
Bugfix in iCE40 chipdb.py
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 00:25:49 +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
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
Miodrag Milanovic
f438fc615b
Added driver and users for nets
2018-07-21 20:21:48 +02:00
Clifford Wolf
39b843ecac
Merge branch 'router1ng' into 'master'
...
Router1ng
See merge request SymbioticEDA/nextpnr!13
2018-07-21 17:59:44 +00:00
Miodrag Milanovic
3175891cb5
Map ports to nets
2018-07-21 19:48:00 +02:00
Miodrag Milanovic
57c63e6921
create io cells out of asc
2018-07-21 17:54:35 +02:00
Miodrag Milanovic
912a79dc33
add cells that are in default state or no configuration
2018-07-21 17:38:22 +02:00
Miodrag Milanovic
7beb4739d4
Add used cells and attach them to bels
2018-07-21 17:04:47 +02:00
Clifford Wolf
41194d934b
Refactoring of router1
...
- Use source-sink pairs as jobs, not whole nets
- Route nets with smallest slack first
- Preserve routes for already routed source-sink pairs
- Add small incentive for re-using wires
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 17:02:53 +02:00
Miodrag Milanovic
13339c0355
Assign proper pips
2018-07-21 15:08:49 +02:00
Miodrag Milanovic
3afcd812c9
add only missing net
2018-07-21 14:41:04 +02:00
Clifford Wolf
78f40ca0af
Change DelayInfo semantics to what we actually need
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:52:59 +02:00
Clifford Wolf
c556242976
Add getWireDelay API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:38:44 +02:00
Miodrag Milanovic
09a68affa3
Fix warnings and status
2018-07-21 12:22:41 +02:00
Miodrag Milanovic
fe239366b5
Made save project work as well
2018-07-21 12:15:50 +02:00
Miodrag Milanovic
20941292ad
fix introduced bug
2018-07-21 09:22:09 +02: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
Miodrag Milanovic
34ec70e88b
Bind wires to net
2018-07-20 18:42:27 +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
Miodrag Milanovic
6c835d76f2
Few more checks on parameters and error eol
2018-07-20 14:06:53 +02:00
Miodrag Milanovic
53034959f3
Start adding bitstream reading for ice40
2018-07-20 13:27:21 +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
79dc910b40
ice40: Trim DSP inputs that are constant where appropriate
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 14:32:30 +02:00
David Shah
bff7d673ed
ice40: Packer and bitstream gen support for MAC16s
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 14:03:48 +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
0cb9ec0757
ice40: Add virtual padin wires for intoscs and GB_IOs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 12:04:35 +02:00
David Shah
d221e90706
Reducing performance cost of asserts
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 11:43:10 +02: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
ddd94edfe0
ice40: Fixes for inverted clocks
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 14:01:19 +02:00
Clifford Wolf
acdaec249a
Cleanups in iCE40 blinky and picorv32 tests
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-18 13:46:00 +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
ddfc535df7
Add ArchNetInfo and ArchCellInfo
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 20:04:49 +02:00
Serge Bazanski
498bef3f3e
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo
2018-07-17 16:03:48 +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
David Shah
56fa8cc669
refactor: Remove incorrect uses of the term 'wirelength'
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-16 17:13:40 +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
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
339198b394
Revert "Remove unimplemented pybindings (for now)"
...
This reverts commit 53393b993f
.
2018-07-14 18:50:07 +01:00
Sergiusz Bazanski
9c013ce74c
Revert "Undo accidental picorv32.sh commit"
...
This reverts commit 98c5948856
.
2018-07-14 18:50:01 +01:00
Sergiusz Bazanski
98c5948856
Undo accidental picorv32.sh commit
2018-07-14 12:14:30 +01:00
Sergiusz Bazanski
53393b993f
Remove unimplemented pybindings (for now)
...
We need to re-jigger the template magic in common/pywrappers.h to be
proxy context aware.
2018-07-14 12:11:20 +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
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
Clifford Wolf
0f736f551c
Fix iCE40 wire gfx decals
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 16:15:15 +02:00
Sergiusz Bazanski
9e4f97290a
Make PnR use Unlocked methods
2018-07-13 14:50:58 +01:00
Clifford Wolf
44663fa589
Fix ice40 gfx wire indices
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 15:44:39 +02: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
David Shah
e9668ed618
Fixing hash link problem
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-13 12:42:04 +02:00
Miodrag Milanovic
b5498c8a53
Fixed initial title and actions after new
2018-07-13 12:02:49 +02:00
Miodrag Milanovic
8e54ac1542
Use command line parameters settings for GUI as well.
2018-07-13 09:14:48 +02:00