David Shah
84e0082925
cmake: Set --fast and --slow chipdb.py arguments
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:40:56 +02:00
Clifford Wolf
3d8b0087c3
Add ice40 chipdb.py --fast/--slow
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 16:36:34 +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
David Shah
267970c01e
ice40: Improving legalisation move statistics
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:18:49 +02:00
David Shah
edc6cf8b23
ice40: Print legalisation statistics
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:13:02 +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
Clifford Wolf
0db86b8619
Improve ice40/benchmark
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 13:57:14 +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
Eddie Hung
d5c2332ebf
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-26 21:00:26 -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
467e0926f9
Add getWireType()/getPipType() API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 16:38:11 +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
Clifford Wolf
7152ae1e3d
Add iCE40 pip gfx for carry_in mux
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 15:42:32 +02:00
Clifford Wolf
a86c4f2f5d
Improvements in bbasm
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 15:22:52 +02:00
Eddie Hung
749dae4ae5
Remove Arch::getBudgetOverride()
2018-07-25 23:02:31 -07:00
Eddie Hung
e2f8deec41
clangformat
2018-07-25 18:22:23 -07:00
Eddie Hung
a21cc4dd5b
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-25 17:55:20 -07:00
Eddie Hung
950f33c1bb
clangformat
2018-07-25 17:53:01 -07:00
Eddie Hung
e6015dc695
Merge remote-tracking branch 'origin/master' into eddieh/idstring_speedup
2018-07-25 17:51:47 -07:00
Eddie Hung
7c8c13aba1
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-25 17:41:23 -07:00
Clifford Wolf
a8001daf6f
Add ice40/benchmark/report.ipynb
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 16:26:08 +02:00
Clifford Wolf
cc6e0e7df3
More minor ice40 benchmark improvements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 15:51:19 +02:00
David Shah
1529fbe58c
ice40: Tweaking picorv32_benchmark.py
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 15:49:43 +02:00
Clifford Wolf
6ea898855c
Minor improvements in iCE40 benchmark scripts
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 14:02:22 +02:00
Clifford Wolf
5db4a3e8b0
Add ice40/benchmark/
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 13:28:12 +02:00
Clifford Wolf
f3dab003e7
Merge branch 'bba' into 'master'
...
bbasm
See merge request SymbioticEDA/nextpnr!18
2018-07-25 11:07:51 +00:00
Sergiusz Bazanski
2c34a50a7c
ice40: after review
2018-07-25 12:01:51 +01:00
Sergiusz Bazanski
db4f2d2318
ice40: check PLL PACKAGEPIN drives only PLL, cosmetics
2018-07-25 11:47:24 +01:00
Sergiusz Bazanski
14a501969a
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/pll-pads
2018-07-25 11:32:45 +01:00
Sergiusz Bazanski
c554ab1ef0
clang-format
2018-07-25 11:32:40 +01:00
Sergiusz Bazanski
aad0d3eb35
ice40: support PLL40_*_PAD, fix pass-through LUT for LOCK
2018-07-25 11:32:21 +01:00
Miodrag Milanovic
6ac2a4de48
proper options for linux build
2018-07-25 12:13:06 +02:00
David Shah
e39290b712
Add a simple 8x benchmark script
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 10:48:24 +02:00
Eddie Hung
c71212d0e1
If --freq not set, attempt to find max by adjusting budget so min path slack == 0
2018-07-24 23:19:24 -07:00
Eddie Hung
9382938661
Merge branch 'master' into redist_slack
2018-07-24 22:20:10 -07:00
Eddie Hung
879f0d7c57
Reduce id() lookups for commonly used update_budget()
2018-07-24 21:21:11 -07:00
Clifford Wolf
c3859072d4
Use bbasm to create iCE40 chipdb
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 21:10:42 +02:00
Sergiusz Bazanski
2039112a47
ice40: after review
2018-07-24 15:59:18 +01: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
5a170f286c
ice40: Remove use of deprecated APIs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 15:52:56 +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
David Shah
942c552e07
Add bbasm target, use as passthru in iCE40 builder
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 15:31:00 +02:00
Clifford Wolf
9d38907e95
Add G_ARROW (for now same look as G_LINE)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:18:01 +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
David Shah
4359197dfe
ice40: Trim BRAM constant inputs, reduces routing congestion around BRAM
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 11:21:10 +02:00
David Shah
a09f95bb06
ice40: Fix SPRAM and other primitives in corners other than (0, 0)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 11:16:33 +02:00
Sergiusz Bazanski
90ba958abe
ice40: fixes before review
2018-07-24 03:19:22 +01:00
Sergiusz Bazanski
eaae1d299c
ice40: move PLL->IO from pseudo pip to second uphill bel
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
65ceb20784
ice40: emit list of upbels in chipdb
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
fae7994bc3
clang-format
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
dbf79d78bb
ice40: A slightly nicer way to do this.
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
065ea95eab
ice40: Move spliceLUT back to pack.cc
2018-07-24 02:55:40 +01:00
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
Eddie Hung
771edd1fda
Merge branch 'master' into redist_slack
2018-07-23 07:16:39 -07: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
Eddie Hung
926c186ec7
Add Arch::getBudgetOverride() to eliminate hack for COUT
2018-07-21 13:05:09 -07: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