Commit Graph

890 Commits

Author SHA1 Message Date
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
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
Sergiusz Bazanski 499951cb65 Remove legacy graphics API
For now we do not optimize the OpenGL renderer against the new decal
API, but this can be done in the future.
2018-07-12 21:30:36 +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 ad60ab2ef1 Fix ice40 wire segments in lutff complex
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 21:46:16 +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 33e592e55e Add missing wires to ice40 gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 19:02:30 +02:00
Clifford Wolf 6ffae27aa1 Deterministic chipdb blobs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:36:15 +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 e9b27860da Unflip iCE40 tile graphics
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 17:40:02 +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 ce6afb5f7f Merge branch 'ice40gfx' into 'master'
Ice40gfx

See merge request SymbioticEDA/nextpnr!7
2018-07-11 12:04:53 +00:00
Clifford Wolf 7081cca016 Add GUI Decals API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 14:03:23 +02:00
David Shah c4af52dd5b ecp5: Working on arch implementation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
Clifford Wolf 87d88048ac Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into ice40gfx 2018-07-10 15:11:35 +02:00
Clifford Wolf 841714a3d6 Improve ic40 gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-10 15:09:11 +02:00
Miodrag Milanovic bfc47e9cd4 Added ICE40_HX1K_ONLY check in gui and main 2018-07-10 13:58:20 +02:00
Clifford Wolf 46d28551fc Add ice40 LC output gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-09 17:13:26 +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 b5cf1c8257 Adding all LUT input wires
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 16:52:03 +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 c6043ed570 Reorder gfx.h, add LUT0 inputs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-09 16:42:30 +02:00
Clifford Wolf ba6f3b45b8 Add ice40 gfx right vertical span-4
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-09 16:39:18 +02:00
Clifford Wolf 4576fc7c20 Vertical wires and span-12 wires
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-09 16:12:41 +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
Clifford Wolf 6198a68968 Add horizontal ice40 span4 wire gfx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-09 15:45:01 +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
Miodrag Milanovic 4c06b9be1d Python executable filename could be different 2018-07-08 19:27:42 +02:00
Miodrag Milanovic 9704ebd079 Added selection of chip and pacakge on new projet in GUI 2018-07-07 13:23:45 +02:00
Miodrag Milanovic fcff203c23 typeof to decltype 2018-07-05 10:13:29 +02:00
David Shah 726f2020f1 python: Convert empty BelId to None
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 15:26:09 +02:00
David Shah 11fb625195 python: Renaming and fixing 'generic' build
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 79e91368f9 python: Update wrapper for non-unique_ptr maps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 4376ae43af ice40: Near-complete Arch bindngs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah f6432aa88e python: Adding more wrapped bindings for ice40
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah a382d906ef python: Developing context wrappers for maps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 45ec502ded python: Adding more bindings
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 1e96d65ded python: Add context wrapper support for ranges
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 4bc12f2ead Progress on new wrapper system
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 65195513eb python: Restructuring wrapper system
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 2e8c0c872f Add NPNR_ASSERT_FALSE, use in bitstream.cc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 13:04:31 +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 fd3c124f87 Add opetion to defie ICEBOX_ROOT, fix compile on other location 2018-07-03 20:46:05 +02:00
Miodrag Milanovic 1a8b4591f5 added parameter to call 2018-07-03 20:17:20 +02:00
Miodrag Milanovic ec9a9de6d3 Make chibdb.py able to generate pure binary output 2018-07-03 20:14:49 +02:00
David Shah 5ca76461da ice40: Improving routeability of carries
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-03 14:47:41 +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
Miodrag Milanovic 1cf8293019 Fixed macros and includes for MSVC 2018-07-03 08:53:44 +02:00
Clifford Wolf 172ceef377 Improve blinky testbench, double blink frequency
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-30 08:00:51 +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 27e7bc3b4b Improving the SA+legalisation flow
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 17:04:22 +02:00
David Shah d908928b56 Tidying up the SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 15:47:56 +02:00
David Shah 3b90f3698f ice40: Fix carry packing in some degenerate cases
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 15:10:29 +02:00
David Shah b5f473cd7a Integrating SA placer and legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 13:12:44 +02:00
David Shah c18b7b3f6e ice40: Reworking placement legalisation to allow integration with SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 12:02:34 +02:00
Miodrag Milanovic 960c650478 clangformat cleanup 2018-06-28 18:06:31 +02:00
David Shah 66670831b8 ice40: PLace legaliser produces a design that is at least routable for picosoc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-28 16:31:52 +02:00
David Shah 27a9850921 Debugging carry legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-28 15:48:57 +02:00
David Shah c0724a7e97 ice40: Only pack up to one SB_CARRY into a LC
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 16:24:44 +02:00
David Shah 28e851cf45 ice40: Fix IO packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 16:16:38 +02:00
David Shah 885fe93a17 ice40: Carry packer bugfix
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 15:24:34 +02:00
David Shah 92ddc31003 Improving debugability
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 15:08:37 +02:00
David Shah 998ab2b20a ice40: Fixing the carry packer for a larger design
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 12:43:29 +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 b0b16a344a Improving post-ripup placement in the legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 12:18:52 +02:00
Miodrag Milanovic bafb4702c7 reinit python tab 2018-06-27 11:45:19 +02:00
David Shah 09c0d96105 ice40: Fixing packing of CIN constant drivers
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 20:02:19 +02:00
David Shah 67d4720989 ice40: Fixing carry chain legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 16:23:10 +02:00
David Shah 841d126672 CarryInSet added to bitstream gen, add counter tb
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 16:04:10 +02:00
David Shah 95de0a36b4 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-26 15:58:35 +02:00
David Shah 21d5a04501 Carry chains now routable
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 15:55:50 +02:00
Miodrag Milanovic 0bd73c1977 Make GUI use recreated context 2018-06-26 15:47:43 +02:00
David Shah 6f12f2b7e8 Working on debugging the carry legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 15:06:59 +02:00
David Shah 29df577f14 Fixing packing of carry cells
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 14:37:01 +02:00
David Shah 103dde79de Fixing Python bindings after adding unique_ptr
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 14:13:52 +02:00
David Shah ded9df61dc Working on debugging carry packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 13:08:28 +02:00
Miodrag Milanovic e51dd15b6b clang fix 2018-06-26 12:11:15 +02:00
David Shah 0a176b4fde ice40: Working on carry legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 12:01:11 +02:00
Miodrag Milanovic ac197e0b9e fix one more 2018-06-26 11:22:48 +02:00
Miodrag Milanovic db890d3a81 nets and cells are unique_ptr's 2018-06-25 21:33:48 +02:00
David Shah 64208da1f9 ice40: Remove constant driver cells in packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 16:29:37 +02:00
Miodrag Milanovic a279720fc1 merge 2018-06-25 16:22:08 +02:00
David Shah bee6bc461d ice40: Working on the placement legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 16:15:47 +02:00
Miodrag Milanovic 6de8b4ef7d some more memory leaks 2018-06-25 15:52:55 +02:00
David Shah 6d154cfa13 ice40: Creating a carry chain splitter function
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 15:39:46 +02:00
David Shah 8d9444b6f0 ice40: More preparations for carry legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 14:45:33 +02:00
David Shah fd8017449d ice40: Helper functions for placement legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 13:52:44 +02:00
David Shah 28d8f8b2cb ice40: Start work on the placement legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 13:09:50 +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
David Shah 37bad1f99e Fixing the Python bindings following Context/Arch refactoring
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 19:51:22 +02:00
Clifford Wolf 0ccd9febeb Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-23 16:14:39 +02:00
David Shah 1e8840b0f9 Update from increased clangformat line length
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 16:12:52 +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 b5efe3ecbc Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-23 15:16:37 +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
Miodrag Milanovic 82ec1be31f Added BUILD_GUI, BUILD_PYTHON and BUILD_TESTS cmake options, 2018-06-23 14:32:49 +02:00
David Shah d72fe0c230 place_sa: Add option to disable timing-driven placement
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 12:18:44 +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 2e6916ecab ice40: Fix UltraPlus quasi-logic-cell bits
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 11:25:32 +02:00
Miodrag Milanovic cb92c10b99 Cleanup almost all deprecation warnings 2018-06-23 09:42:48 +02:00
Miodrag Milanovic 761e28ce67 one more 2018-06-23 08:08:42 +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 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 6a783ef94f Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-22 18:35:18 +02:00
David Shah 60e885d342 ice40: Adding extra cell wires to database; SB_WARMBOOT working
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 18:35:08 +02:00
Serge Bazanski 5dfe1969af Merge branch 'q3k/gl' into 'master'
Modern OpenGL renderer

See merge request SymbioticEDA/nextpnr!1
2018-06-22 16:17:21 +00: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
Sergiusz Bazanski 15a7a76415 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/gl 2018-06-22 15:54:05 +01:00
Miodrag Milanovic e5bd4764b2 Added custom QApplication implementation 2018-06-22 16:49:15 +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
Sergiusz Bazanski 858acc5c1c Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/gl 2018-06-22 14:29:28 +01:00
Sergiusz Bazanski 98b1f0c041 Reimplement FPGAWidget in modern OpenGL. 2018-06-22 14:27:04 +01:00
Miodrag Milanovic 7f36828270 fixed namespace for gui section 2018-06-22 13:10:43 +02:00
David Shah 63baa10032 ice40: Make the packer deterministic
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 12:57:22 +02:00
David Shah 71176ac538 Fixing 5k bitstream gen and place heuristics
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 12:34:42 +02:00
Clifford Wolf 2c98231f88 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 19:36:20 +02:00
Miodrag Milanovic c33a039ac3 Added return code to json parsing and pcf reading 2018-06-21 18:08:28 +02:00
Miodrag Milanovic 8fac26c2b7 Fixed return codes for packer, placer and router 2018-06-21 17:56:45 +02:00
Miodrag Milanovic 54549d36e9 log_error now trows exception, main is covering catch 2018-06-21 17:44:18 +02:00
Clifford Wolf 4fefdbd57c Cleanup parse_json_file API, some other cleanups
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 16:16:58 +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 993f6ef7d3 Improve log messages, move many messages to verbose mode
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:09:50 +02:00
Clifford Wolf 693c34ad06 Improvements in router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:08:45 +02:00
David Shah 56ed679f83 Add frequency setting and fix slack calculation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-21 11:59:20 +02:00
Sergiusz Bazanski 4e480a9a61 chipdb.py style fix 2018-06-20 20:28:48 +01:00
David Shah 93ed8ca405 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 20:14:08 +02:00
David Shah c27c96f4f0 place_sa: Improvements including supporting force and ordering consistency
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 20:12:23 +02:00
Clifford Wolf f2ae9a713b Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 19:37:16 +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
David Shah 4fc9625040 WIP: adding timing budget to placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 17:08:57 +02:00
David Shah e45508f6c4 Improving timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 15:15:51 +02:00
Clifford Wolf 2da90889ef Add "nextpnr-ice40 --tmfuzz"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 14:04:10 +02:00
Clifford Wolf c4e544856a Fix jsonparse compiler warnings, clangformat updates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 13:40:13 +02:00
David Shah d5a032d00e Fix chipdb UltraPlus wires
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 13:10:40 +02:00
David Shah c667f640d5 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 13:01:30 +02:00
David Shah 4648d3bc83 Working on the timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 13:01:22 +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
David Shah df4b4d48f7 ice40: Tidying up carry packer a bit
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 16:23:02 +02:00
David Shah 8e26e4381b ice40: WIP SB_CARRY packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 16:16:10 +02:00
Clifford Wolf 3a505638a6 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
# Conflicts:
#	common/place_sa.cc
#	ice40/arch.h
2018-06-19 15:03:54 +02:00
Clifford Wolf d7f424b809 Improved log messages in SA placer, minor changes from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 15:00:24 +02:00
David Shah 9008669867 Major performance improvement to placement validity check
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 14:44:49 +02:00
Clifford Wolf 2603c6d805 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-19 14:34:45 +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 5f37da9704 Add Context::force and "nextpnr-ice40 --force"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 14:10:42 +02:00
David Shah a8071a418d ice40: Improve error reporting for invalid tristate usage
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 14:10:28 +02:00
David Shah ecc2c486d9 ice40: Fix constant packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 13:48:04 +02:00
David Shah 7abfd36773 ice40: Don't deduplicate local tracks when counting
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 13:35:01 +02:00
Clifford Wolf d2ff5fec08 Add rng to Context, start using ctx->verbose
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 12:49:40 +02:00
Clifford Wolf 8067ed9af0 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-19 12:08:51 +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
David Shah 6f7070a365 ice40: More IdString API updates
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 11:21:16 +02:00
David Shah e3519ddfcd ice40: Adding support for tristate IO
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 11:12:18 +02:00
David Shah ec2792764a ice40: Removing deprecated API in cells.cc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 10:50:23 +02:00
Clifford Wolf 79d1075345 Getting rid of old IdString API users, Add ctx to many internal APIs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 17:08:35 +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 babd5f39ab Towards IdString as per-context facility
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:53:01 +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
Clifford Wolf 58e3104796 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:07:18 +02:00
Clifford Wolf 8ee149f4fc Rename Design to Context, derive from Arch instead of instantiating
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:06:37 +02:00
Clifford Wolf ad18cdb087 Rename Chip to Arch and ChipArgs to ArchArgs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 13:35:25 +02:00
David Shah ef2d0d2cb9 Fix hash specialisation for BelType and warnings in place_sa.cc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-18 12:20:06 +02:00
David Shah fc7490370b Improving code style and fixing dummy
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-18 11:43:59 +02:00
Clifford Wolf 0b2345996d Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 19:28:03 +02:00
Clifford Wolf acfef6971e Refactore ice40 chipdb to use a super-large C-string as output format
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 18:15:41 +02:00
Clifford Wolf 0af9156d7a Minor chipdb.py improvement
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 16:28:05 +02:00
Clifford Wolf 4fe8ba5e9a Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into chipdbng 2018-06-17 16:14:58 +02:00
Clifford Wolf 105cde328b Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 16:14:27 +02:00
Clifford Wolf 19b665177e Move top-level ChipInfoPOD into ice40 chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 16:12:52 +02:00
David Shah f66999a883 Minor performance tweaks and fixes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 16:03:16 +02:00
Clifford Wolf 6f4af8387e Move PackageInfoPOD to ice40 chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:53:17 +02:00
Clifford Wolf 5d46ff54ba Move TileType array to ice40 chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:46:39 +02:00
Clifford Wolf f38c5660cb Move BitstreamInfoPOD to ice40 chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:39:19 +02:00
Clifford Wolf a4ad3533fe Move IerenInfoPOD to ice40 chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:25:58 +02:00
David Shah f723aaa373 ice40: Fixing negative clock bitstream generation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 15:21:35 +02:00
Clifford Wolf 246fe999dd Move TileInfoPOD to chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:15:49 +02:00
Clifford Wolf 1f9c28ba58 Move SwitchInfoPOD to chipdb blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 15:05:17 +02:00
David Shah 748171dae2 place_sa: Adding seed option
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 15:04:53 +02:00
Clifford Wolf a3e0842299 Move PipInfoPOD into ChipDB binary blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 14:46:10 +02:00
David Shah 681c9654d7 place_sa: Add a rip-up feature when initial placement fails
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 14:36:19 +02:00
Clifford Wolf c0a2f0b89f Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into chipdbng 2018-06-17 14:31:43 +02:00
Clifford Wolf 3b5c33d685 Move WireInfoPOD into ChipDB binary blob
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 14:30:26 +02:00
Clifford Wolf 84defd3fee Minor refactoring of BinaryBlobAssembler, fix alignments
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 13:32:38 +02:00
David Shah 1b077320dc General reformatting
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 12:53:39 +02:00
David Shah 12818fb694 ice40: Add symbol output to bitstream generation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 12:38:21 +02:00
David Shah 6a937e0b45 Updating copyrights
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:49:57 +02:00
David Shah 3afce5ff5a Improving the placer output
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:45:41 +02:00
David Shah f9bfccf68e Add 'get or default' functions
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:14:49 +02:00
David Shah 8ab0b06f5f ice40: Fixing build
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 10:35:37 +02:00
Clifford Wolf 69e5bc5030 Progress with chipdb refactoring
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 19:25:37 +02:00
David Shah e497575c8e place: Fix placer validity checks
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 18:45:48 +02:00
Clifford Wolf ee06db3293 Progress with chipdb refactoring
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 18:42:29 +02:00
Clifford Wolf f0edb625e3 Progress with chipdb refactoring
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 17:53:09 +02:00
David Shah 1e6124309f ice40: Proper global promotion
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 17:44:35 +02:00
David Shah bb92dc09a8 ice40: Promote reset signal
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 17:09:41 +02:00
Clifford Wolf fe47e7fc2d Update clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 15:25:33 +02:00
Clifford Wolf 4d14bc2914 Merge remote-tracking branch 'origin/master' into chipdbng 2018-06-16 15:25:03 +02:00
Clifford Wolf 6acf23cf37 Some refactoring of Chip API (prep for chipdb refactoring)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 15:23:04 +02:00
David Shah 7ff1b7e02f ice40: Fix RAM config in packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah f079e0d204 ice40: Fix BRAM initialisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah c0a2627179 place: Tidying up the SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah c9a784ec0c ice40: Include RAM init data in bitstream
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 04f1d7516a ice40: Fix bitstream generation when parameters are unspecified
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 23b1fc02fb ice40: Bitstream generation for RAM
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah cabdfe3616 ice40: Only place IO at valid pins
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 6b74d326d4 experiment: Simple heuristic-based placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 355d33632c ice40: Another arch_place fix
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-14 21:52:01 +02:00
David Shah 66ea22bb5c ice40: General fixes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-14 21:12:15 +02:00
David Shah 323a2aaa54 ice40: Read cells in arachne placement script
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-14 20:55:39 +02:00
David Shah 0f0d9bfb00 ice40: Importer for placed ice40 designs from arachne
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-14 20:46:05 +02:00
Clifford Wolf 312699e590 Add route-ripup routing loop
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 15:09:13 +02:00
Clifford Wolf 7787ce5fd9 Refactor position/delay estimation API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 12:43:00 +02:00
Clifford Wolf c94b8c4861 Drastically reduce number of linker symbols in chipdb
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 23:55:18 +02:00
David Shah 537b0e6e94 ice40: Rename ICESTORM_RAM pins
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 18:18:57 +02:00
Clifford Wolf 1a3d0f2f5d Add picorv32_top module with fewer IO pins
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 17:38:34 +02:00
Clifford Wolf 33863fee2d Add missing iCE40 global buffer bels
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 17:19:36 +02:00
Clifford Wolf 821fb3a55d Add test PicoRV32 build script
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 17:08:27 +02:00
Clifford Wolf 81a154ca5d Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-13 16:54:25 +02:00
Clifford Wolf aa4fedfd54 Add A*-like optimizations to router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 16:52:21 +02:00
David Shah 5af707a0b6 ice40: Pack RAMs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 16:26:21 +02:00
David Shah 14b5e46b5d ice40: Promote one clock to a global buffer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 15:10:42 +02:00
Clifford Wolf d80e60cce2 Add hierarchy to bel/wire/pip names
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 14:53:44 +02:00
David Shah 9374ef29bf Fixing implementation of constants
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 14:01:42 +02:00
David Shah 4694c6aae7 ice40: Update examples to use packer/pcf
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 12:55:08 +02:00
Clifford Wolf 1e314cc0ce Update chip Graphics API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 12:48:58 +02:00
Clifford Wolf 145c849596 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-13 12:38:28 +02:00
Clifford Wolf 4d7f18dd98 Redesign PosInfo API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 12:37:23 +02:00
David Shah de0918c287 ice40: Add a PCF parser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 12:30:15 +02:00
David Shah 5435a97024 ice40: Add package selection
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 11:51:09 +02:00
David Shah 696aaee24c ice40: Add package pins to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 11:40:28 +02:00
David Shah 94eea289ae Simple IO buffer insertion, enable packer by default
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 11:08:20 +02:00
David Shah a76f5c5678 Remove IO buffers when fed by SB_IO
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 10:50:05 +02:00
Miodrag Milanovic b7c747f15b Write tests to replace -test option from main 2018-06-12 20:39:20 +02:00
Miodrag Milanovic 9953012154 reveresed logic for enabling main file, and made tests link arch files 2018-06-12 19:56:03 +02:00
Clifford Wolf 136ce3d18f Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-12 15:51:51 +02:00
Clifford Wolf 9c275d0a65 Add fast IdString <-> PortPin conversion
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:50:33 +02:00
David Shah 6e79b93c6e Improve packer diagnostics
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 15:33:53 +02:00
David Shah 6707b985b4 ice40: Add support for LC placement constraints in packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 15:13:50 +02:00
Clifford Wolf a139654980 Add IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:08:01 +02:00
David Shah 592a627e0c Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-12 14:43:56 +02:00
David Shah 5a9ff4aea1 ice40: Testing the placement validity check
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 14:39:49 +02:00
Clifford Wolf c8b815361e Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-12 14:33:13 +02:00
Clifford Wolf 426fb75bb5 Fix NEXTPNR_NAMESPACE
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 14:31:26 +02:00
David Shah 95fb0595a5 ice40: Debugging and fixing FF configuration
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 14:27:04 +02:00
Clifford Wolf d62e341d5a Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-12 14:25:12 +02:00
Clifford Wolf 391d49c13e Add nextpnr namespace
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 14:24:59 +02:00
David Shah 9ee6a6e114 ice40: Creating packer tests
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 14:19:26 +02:00
David Shah 47eeda40bc Implement the placement validity checker
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 13:45:59 +02:00
David Shah 031d8e811f ice40: Adding a placement validity checker
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 13:40:22 +02:00
David Shah 67a5cedbe3 ice40: Pack constants to LCs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 13:09:36 +02:00
David Shah f72807f790 ice40: Debugging the packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 12:46:30 +02:00
David Shah 2f61a9b98a ice40: Start working on a packer, currently not tested
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 12:13:11 +02:00
David Shah 5f813410aa ice40: Adding cell utilities for packing
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 11:49:54 +02:00
David Shah 19aefe374c ice40: Optimising chipdb builds
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 10:39:33 +02:00
Clifford Wolf be73894bea Add "nextpnr.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 20:12:57 +02:00
Clifford Wolf ac67482380 Remove pool, dict, vector namespace aliases
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 19:56:33 +02:00
Clifford Wolf f63eec034f Add conflicting=false argument to bind getters
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 19:46:03 +02:00
Miodrag Milanovic b4b5586efd Fixed portability issue, now it works on msys2 windows build as well 2018-06-11 09:33:42 +02:00
Miodrag Milanovic 67227847e5 Pass design to gui, display chip name 2018-06-10 18:25:23 +02:00
David Shah d3f1112580 Improving 5k support
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 17:20:29 +02:00
Clifford Wolf 458a13456a Fix iCE40 routing graph
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 17:08:14 +02:00
Clifford Wolf 602e6fab1e Add support for iCE40 global buffers (currently only for 1k devices)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 16:31:06 +02:00
David Shah 02b83d6db6 Debugging on icebreaker 2018-06-10 15:06:26 +02:00
Clifford Wolf 032c94d094 Add blinky post-synthesis testbench
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 14:31:38 +02:00
Clifford Wolf 4a79e70470 Fix ice40 pip/switch locked performance issue
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 14:08:00 +02:00
David Shah 8d5da98122 ice40: Set config bits for unused IO
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 13:38:34 +02:00
David Shah 4e6d6e632f ice40: Fix techmap
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 13:33:47 +02:00
David Shah 30e672313d ice40: Add IO config to bitstream
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 13:24:48 +02:00
David Shah d0bd657551 ice40: Write logic cell config to bitstream
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 12:58:05 +02:00
David Shah 6da8f98eac ice40: Lock out mutually exclusive pips
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 12:17:55 +02:00
David Shah 827a43c88c ice40: Start adding routing to asc output
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 12:11:58 +02:00
David Shah d0431225f1 ice40: Writing an empty ASC file
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 11:56:07 +02:00
David Shah 89d5280bf6 ice40: Adding non-routing config bits to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 11:14:50 +02:00
David Shah 48b72126c9 ice40: Add switch data to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 10:54:55 +02:00
Clifford Wolf 70f322ab44 Renamed LOC attribute to BEL, fix ice40 IO bel names
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 19:52:22 +02:00
David Shah 72f5e640af Adding basic placement constraints
Specify the attribute (* LOC="bel_name" *) on any cell to constrain its
placement to that bel.

Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-09 19:38:37 +02:00
Clifford Wolf 8cabb39d6d Getting rid of .nil() methods, compare with zero- and default-constructed objects instead
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 18:41:38 +02:00
Clifford Wolf dfbfbf87db Add very basic router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 18:19:20 +02:00
David Shah c16a971c0f python: Fixing builds as importable module
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-08 11:17:04 +02:00
David Shah 7f330af9f3 Reformat remaining files
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-08 11:04:02 +02:00
ZipCPU 4499864024 Applied clang-format to my own contributions 2018-06-07 15:38:24 -04:00
ZipCPU c13c15bada Set the default log to stdout 2018-06-07 09:52:32 -04:00
ZipCPU c352f6536b Moved placer definitions to place.h, main automatically runs placer now 2018-06-07 09:49:21 -04:00
ZipCPU f32b9622d5 Initial (random) placer capability
This commit also includes changes to jsonparse to allow it to
1) recognize ports with no connection, and set their net pointers to NULL
2) recognize designs with a ports node rather than a ports_direction

The rule checker has also been modified to accommodate possible NULL netlists

The ice40 chip now also has iterator operations ++bi and bi++.
2018-06-07 09:38:14 -04:00
David Shah 1d39924c14 ice40: More Python bindings and examples
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 15:04:07 +02:00