Commit Graph

131 Commits

Author SHA1 Message Date
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
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
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
bdd54a6847 Refactor: remove PlacementValidityChecker and move methods to Arch
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 11:43:59 +02:00
Miodrag Milanovic
1acaf41277 added project saving and loading 2018-06-24 14:38:45 +02:00
Clifford Wolf
a1681560a3 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:28:09 +02:00
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
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
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
Miodrag Milanovic
c33a039ac3 Added return code to json parsing and pcf reading 2018-06-21 18:08:28 +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
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
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
4648d3bc83 Working on the timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 13:01:22 +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
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
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
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
748171dae2 place_sa: Adding seed option
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 15:04:53 +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
3afce5ff5a Improving the placer output
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:45:41 +02:00
David Shah
8ab0b06f5f ice40: Fixing build
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 10:35:37 +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
6b74d326d4 experiment: Simple heuristic-based placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +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
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
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
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
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
David Shah
f72807f790 ice40: Debugging the packer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 12:46:30 +02:00
Clifford Wolf
be73894bea Add "nextpnr.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 20:12:57 +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
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
d0431225f1 ice40: Writing an empty ASC file
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-10 11:56:07 +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
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
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
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
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
f07682f515 Add ice40 --test mode
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 16:01:31 +02:00
Miodrag Milanovic
7cb42f4368 Initial GUI work 2018-06-05 21:03:06 +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