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
David Shah
547d4fe3ee
ice40: Refactor PortPin and add Python binding
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 14:36:35 +02:00
ZipCPU
efd8722fd9
Connected the log file facility to stderr
2018-06-07 08:12:22 -04:00
ZipCPU
0dbfa4662f
Preliminary placer changes to main
2018-06-07 07:52:05 -04:00
David Shah
024ff8fa7d
cmake: Add HX1K-only builds support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 13:20:16 +02:00
David Shah
c3e0252703
Reformat Python bindings and ice40 main
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 13:10:53 +02:00
David Shah
6236a10427
Fixing file->run renaming
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 13:08:18 +02:00
David Shah
9ebc879826
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
2018-06-07 12:59:41 +02:00
David Shah
66b36cdd45
Merge branch 'python'
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 12:59:27 +02:00
David Shah
b0e66d441c
Global design object working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 12:57:52 +02:00
Clifford Wolf
1ea8fa4881
clang-format for design and chip codebase
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:56:49 +02:00
Clifford Wolf
2edde06c07
Fix clang-format include order issues
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:48:53 +02:00
David Shah
a5249da02d
Working on global Python design object
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 12:40:31 +02:00
Clifford Wolf
8bfeaeaced
Add ICE40_HX1K_ONLY config macro
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:26:02 +02:00
Clifford Wolf
9eeecf0e62
Rename --file to --run
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:19:48 +02:00
David Shah
0f6ebd6384
Allow specifying multiple Python files on the command line
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 09:01:30 +02:00
David Shah
bdd9313582
Allow loading and running Python files before GUI starts
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 08:56:54 +02:00
ZipCPU
16b9a2f1b5
Attempt to add JSON parser--not working yet w/ build system
2018-06-06 14:44:54 -04:00
Clifford Wolf
f9bd66e7ac
Add iCE40 device selection, improve iCE40 IO GraphicElements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 17:23:58 +02:00
Clifford Wolf
28e2276906
Add simple SVG generator to ice40 main
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 17:08:31 +02:00
Clifford Wolf
72b4bba0e7
Add ice40 geometry information
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 16:42:42 +02:00
Clifford Wolf
f07682f515
Add ice40 --test mode
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 16:01:31 +02:00
Clifford Wolf
5ff9aafb20
Refactor Chip API and iCE40 database
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 15:13:41 +02:00
Miodrag Milanovic
7cb42f4368
Initial GUI work
2018-06-05 21:03:06 +02:00
ZipCPU
709ce3884d
Initial JSON parser
2018-06-05 09:01:26 -04:00
Clifford Wolf
d13a84b687
Add iCE40 blockram bels
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-04 12:37:56 +02:00
Clifford Wolf
eb3c89bee9
Replace GuiLine with GraphicElement
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-04 12:02:58 +02:00
Clifford Wolf
6840ffd9c0
Add iCE40 SB_IO bels
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-03 16:16:59 +02:00
Clifford Wolf
20d7cd0194
Add ice40 ICESTORM_LC bels
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-02 15:00:33 +02:00
Clifford Wolf
d85f5d2285
Remove now obsolete ice40/makefile.inc
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-02 14:49:32 +02:00
David Shah
e6302bbe73
Fix race condition and optimise the build
2018-06-02 14:17:31 +02:00
David Shah
363ddd0f3c
Python bindings working on both architectures
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00
David Shah
d3f74eb056
Simple Python test working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00
David Shah
f353453a7f
Add architecture specific Python defs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00
David Shah
ee0a5374d8
Add a CMake based build system
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00
Clifford Wolf
cdb31fdafc
Use singular in type names (BelRange, WireIterator)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-02 12:57:19 +02:00
Clifford Wolf
90c7e3b13d
Add iCE40 blinky example
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-31 18:10:36 +02:00
Clifford Wolf
3b0d1beabb
Add DelayInfo struct
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-29 20:04:29 +02:00
Clifford Wolf
d56e29c47e
Progress in chip.h API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-26 16:08:20 +02:00
Clifford Wolf
757786f134
Progress in ice40 chipdb
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-26 14:56:30 +02:00
Clifford Wolf
1899833b4d
Start work on iCE40 chipdb
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-26 14:27:28 +02:00