Commit Graph

441 Commits

Author SHA1 Message Date
D. Shah
3ae96bff88 Refactor GUI to use IdStringLists
The GUI internally had an 'IdStringList' type that I hadn't spotted, to
avoid a conflict this is renamed to IdList which also reflects its new
purpose better.

Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:33 +00:00
D. Shah
9388df19d3 refactor: Replace getXName().c_str(ctx) with ctx->nameOfX
This makes the ongoing migration to IdStringList easier.

Signed-off-by: D. Shah <dave@ds0.me>
2021-02-02 17:00:14 +00:00
D. Shah
94e8847d67 cleanup: Spelling fixes
Signed-off-by: D. Shah <dave@ds0.me>
2021-01-28 15:19:06 +00:00
D. Shah
c10238de8c ice40: Switch from RelPtr to RelSlice
This replaces RelPtrs and a separate length field with a Rust-style
slice containing both a pointer and a length; with bounds checking
always enforced.

Thus iterating over these structures is both cleaner and safer.

Signed-off-by: D. Shah <dave@ds0.me>
2021-01-27 18:35:49 +00:00
Pepijn de Vos
3611f54902
Gowin target (#542)
* load wires

* add slice bels

* add IOB

* add aliases

* local aliases

* broken packing stuff

* working packer

* add constraints

* pnr runs1111

* add timing info

* constraints

* more constraint stuff

* add copyright

* remove generic reference

* remove parameters

* remove generic python api

* add newline to end of file

* some small refactoring

* warn on invalid constraints

* don't error on missing cell

* comment out debugging print

* typo

* avoid copy

* faster empty idstring

* remove intermediate variable

* no more deadnames

* fix cst warnings

* increase ripup and epsilon a bit

* take single device parameter

* add info to readme

* gui stubs

* Revert 4d03b681a8

* assign ff_used in assignArchInfo

* decrease beta for better routability

* try to fix CI
2020-12-30 14:59:55 +00:00
David Shah
8d1678f0ef nexus: Add stub GUI
Signed-off-by: David Shah <dave@ds0.me>
2020-11-30 08:45:27 +00:00
Miodrag Milanovic
bb16fdb4bb Python code cleanup 2020-11-14 16:34:12 +01:00
Miodrag Milanovic
717bcfa19e Preserve cmd parameters when loading json from GUI 2020-09-04 17:14:30 +02:00
Miodrag Milanovic
1fae965cbb Use proper names in GUI 2020-07-08 14:16:00 +02:00
Miodrag Milanovic
32ddc94b4f Support rest of parts 2020-07-08 14:09:44 +02:00
Miodrag Milanovic
6991a53d68 Adding LP4K as well 2020-07-08 13:44:13 +02:00
Miodrag Milanovic
3be76a837d Support 4K parts directly 2020-07-08 13:22:59 +02:00
Miodrag Milanovic
bb3dad7ce7 Fix assert, check should be other way arround 2020-07-06 17:29:25 +02:00
whitequark
89e0cc8078 Simplify and improve chipdb embedding/loading. 2020-06-26 08:36:07 +00:00
Miodrag Milanovic
93228f78d7 old boost support 2020-04-20 13:59:47 +02:00
Miodrag Milanovic
5fa10e1a95 cleanup 2020-02-28 11:02:07 +01:00
Miodrag Milanovic
6566b5da73 Add support for pasting multiline code to python 2020-02-28 11:02:01 +01:00
Vegard Storheil Eriksen
34cc1bd41f gui: Fix sorting order in TreeModel. 2020-02-28 03:56:33 +01:00
Vegard Storheil Eriksen
bb754441c8 gui: Fix undefined behavior in TreeModel.
std::sort() requires the comparison function to return false for even
comparison. Returning true results in undefined behavior and a potential
segfault.
2020-02-28 03:48:41 +01:00
Miodrag Milanovic
3e95c57317 Add SVG option to gui 2020-02-27 09:37:09 +01:00
Miodrag Milanovic
38e3b6338c Various warning fixes 2020-01-18 15:23:35 +01:00
Miodrag Milanovic
0bf8fa23d9 Skip same frames 2020-01-11 15:48:43 +01:00
Miodrag Milanovic
3f439c1ef2 Enable screenshot and recording feature 2020-01-05 13:51:12 +01:00
Miodrag Milanovic
796d648995 Merge remote-tracking branch 'origin/master' into mmicko/ecp5_gui 2019-12-28 13:54:06 +01:00
David Shah
035bfb0fe5 json: Remove legacy frontend
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
Miodrag Milanovic
d399346de0 Add options to enable/disable displayed elements 2019-12-20 15:25:10 +01:00
Miodrag Milanovic
7fd856b866 clangformat run 2019-12-08 09:33:06 +01:00
Miodrag Milanovic
d1dc2c3a5f Add more zoom 2019-10-20 09:41:48 +02:00
David Shah
1839a3a770 Major Property improvements for common and iCE40
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 14:52:15 +01:00
Miodrag Milanovic
e27dc41a76 add newline 2019-06-28 13:44:01 +02:00
Miodrag Milanovic
be47fc3e9a clangformat run 2019-06-25 18:19:25 +02:00
Miodrag Milanovic
ec47ce2320 Merge master 2019-06-25 18:14:51 +02:00
David Shah
fa77a5ae4a clangformat
Signed-off-by: David Shah <dave@ds0.me>
2019-06-24 11:43:01 +01:00
Miodrag Milanovic
8d5724f4fd moved some context variables to settings 2019-06-15 15:23:51 +02:00
Miodrag Milanovic
66ea9f39f7 enable lading of jsons and setting up context 2019-06-14 15:18:35 +02:00
Miodrag Milanovic
aca372de99 fix title 2019-06-14 13:33:20 +02:00
Miodrag Milanovic
903391a9e4 Remove base config, since deprecated 2019-06-14 13:02:15 +02:00
Miodrag Milanovic
0d8c80ad5d gui for json write and proper statuses 2019-06-14 11:14:18 +02:00
Miodrag Milanovic
053bd48bef Cleanup 2019-06-14 10:07:59 +02:00
Miodrag Milanovic
1cd4a4d17a Remove concept of project and code connected 2019-06-13 17:42:41 +02:00
Miodrag Milanovic
9b8d3b7546 option to disable anti aliasing in gui 2019-05-25 08:42:17 +02:00
Miodrag Milanović
0d1c7118e3
Merge pull request #169 from ajeakins/master
Fix device view not showing anything on macOS.
2019-05-23 23:53:52 -07:00
Michael Buesch
3d4f1dc60b gui: Fix warning: catching polymorphic type by value
gui/application.cc: In member function ‘virtual bool nextpnr_ice40::Application::notify(QObject*, QEvent*)’:
gui/application.cc:56:32: warning: catching polymorphic type ‘class nextpnr_ice40::assertion_failure’ by value [-Wcatch-value=]
2019-05-20 22:17:45 +02:00
Adrian Jeakins
d00288198f Bring back check that GL contexts get the format requested. 2019-05-01 21:32:48 +01:00
David Shah
ede81dc095 generic: Disable GUI as it isn't supported yet
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 11:03:06 +01:00
David Shah
6fffe24177 generic: GUI Python bindings
Signed-off-by: David Shah <dave@ds0.me>
2019-04-03 16:08:33 +01:00
David Shah
23f2fff1c8 clangformat
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:39:05 +00:00
Miodrag Milanović
cadbf42054
Merge pull request #249 from koriakin/gui-tab-fix
gui: Fix Cells/Nets tab contents.
2019-03-12 19:17:22 +01:00
Marcin Kościelnicki
a0ad5bc306 gui: Fix Cells/Nets tab contents.
Signed-off-by: Marcin Kościelnicki <marcin@symbioticeda.com>
2019-03-12 18:18:36 +01:00
David Shah
97993e76ea gui/fpgaviewwidget: Make background opaque
Signed-off-by: David Shah <dave@ds0.me>
2019-03-12 14:03:28 +00:00
Sylvain Munaut
9539f57c74 gui: Allow shift+drag to move around the view
right & middle clight are really inconvenient when working with a touchpad
in tap-to-click mode

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-02-22 12:31:23 +01:00
Miodrag Milanovic
bfc96cc962 Better resize, FPGAViewWidget minimal is now 320x200, fixes #222 2019-02-07 17:42:14 +01:00
Miodrag Milanovic
c6604a4582 Fix reading conflicting wire in GUI for pips, fixes #225 2019-02-07 17:25:14 +01:00
Adrian Jeakins
7f950a1852 Reduce GL shader version for wider compatibility. 2018-12-20 22:28:53 +00:00
Adrian Jeakins
3cdd83a3be Remove format versioning now this is set at the top level application. 2018-12-20 22:21:10 +00:00
Miodrag Milanovic
e0b4a2eeab Add GUI for executing python file 2018-12-14 17:20:25 +01:00
Miodrag Milanovic
fdb632f24c Fix crash exiting nextpnr gui 2018-12-06 08:31:40 +01:00
Adrian Jeakins
38f80b1048 Fix device view not showing anything on macOS.
* Fix line shader when running under the core profile and make version match those elsewhere.
* Make surface format version match the openGL functions we are using.
2018-12-05 22:27:04 +00:00
Adrian Jeakins
92ddef9fc3 Fix crash starting the GUI on macOS where we must request a core profile.
See http://doc.qt.io/qt-5/qabstractopenglfunctions.html
2018-12-04 23:05:06 +00:00
David Shah
b550791d92 Refactor log code and add log file support
Signed-off-by: David Shah <dave@ds0.me>
2018-11-21 17:08:45 +00:00
David Shah
9c52afcf5f clangformat
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:25:51 +00:00
Eddie Hung
3b2b15dc4a
Merge pull request #107 from YosysHQ/router_improve
Major rewrite of "router1"
2018-11-13 11:39:51 -08:00
Miodrag Milanovic
7bd542ecbe Make zoom in/out always display content 2018-11-12 10:06:04 +01:00
Clifford Wolf
6002a0a80a clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 19:48:15 +01:00
Clifford Wolf
f93129634b Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:28:41 +01:00
Miodrag Milanovic
2d35d99ed2 Show wires in tree for ECP5 as well 2018-11-11 13:52:19 +01:00
Miodrag Milanovic
5d11af5a25 multiple selection fix 2018-11-11 13:26:33 +01:00
Clifford Wolf
d2bdb670c0 Add getConflictingPipWire() arch API, router1 improvements
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 11:34:38 +01:00
Miodrag Milanovic
a445ae37ee Pip visible for all archs 2018-11-11 11:08:34 +01:00
Miodrag Milanovic
b8870bb99c Propagate proper ctx, fixes fetchMore 2018-11-11 10:53:48 +01:00
Miodrag Milanovic
3cfdb4e0c1 Sorted out zoomout, works for all now 2018-11-11 09:04:20 +01:00
Miodrag Milanović
6b197fde72
Merge pull request #93 from YosysHQ/gui_changes
Gui changes
2018-11-10 23:00:34 -08:00
Miodrag Milanovic
636a03d71e Fix method override in gui 2018-11-05 08:56:01 +01:00
Miodrag Milanovic
27fcaf50d2 Fix lpf button action 2018-11-03 10:03:27 +01:00
Miodrag Milanovic
aed04ae6f2 Added image generator and regenerate icons 2018-11-03 10:02:53 +01:00
Miodrag Milanovic
a0e79c993f Added LPF support and all chip models available for select 2018-11-03 09:39:43 +01:00
Miodrag Milanovic
0a3ebfbb5b change to const auto& 2018-10-30 08:07:31 +01:00
Miodrag Milanovic
02edd66ae9 Changes to cover issues from code review 2018-10-29 19:39:52 +01:00
Miodrag Milanovic
3758029227 fix unselect from tree 2018-10-28 14:50:48 +01:00
Miodrag Milanovic
436c2a0444 Fix keep selection on multiple trees 2018-10-27 17:04:08 +02:00
Miodrag Milanovic
f66c5a0094 update properties based on move history 2018-10-27 16:00:47 +02:00
Miodrag Milanovic
cb6baa0f6a Update grid properly 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
d08fe2109d clangformat 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
f43ee265e8 Cleanup 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
ba0ab7cb30 simplify and move arround 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
5d5324c073 Split tree models and make other features work with it 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
7386004c60 make grid cover device only, do not zoom in if there are no elements 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
d7614d3d2b fix edge case 2018-10-27 10:21:29 +02:00
Miodrag Milanovic
455e90b123 No gain in optimizing this, but lead to wrong display 2018-10-26 17:53:07 +02:00
Miodrag Milanović
757dcd2a52
Merge pull request #96 from YosysHQ/imgui
Imgui integration
2018-10-26 17:27:47 +02:00
Miodrag Milanovic
40a8e17db6 update last_render in case of change of any element, not just number of them
optimize for hover/select/highlight where number matters
2018-10-26 09:59:42 +02:00
Miodrag Milanovic
f2ec5b0ff3 do not invalidate buffer, leave as is 2018-10-25 20:33:49 +02:00
Miodrag Milanovic
f01a02be9a proper update of empty decal 2018-10-25 20:33:14 +02:00
Miodrag Milanovic
62a615a17d Fix tooltip position when doing screenshot 2018-10-24 20:50:38 +02:00
Miodrag Milanovic
85c56f4246 Added cell and net info in hint 2018-10-24 19:12:56 +02:00
Miodrag Milanovic
c2dfe6ef8e Fix propagating events 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
36920e68ed Display hint on mouse over 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
e2e9db52a2 dummy imgui processing 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
f796716b83 Make imgui and qtgui compile on older qt as well, opengl 3.2 required 2018-10-24 19:00:58 +02:00
Mateusz Zalega
d03291eeb1 gui: improved FPGAViewWidget::paintGL() performance
Profiling revealed that memcpy() in QOpenGLBuffer::allocate() had been taking
the most time during paintGL() calls. I've been able to take the CPU usage
down to about 1/4 of its previous values by caching elements in VBOs and
updating them only after subsequent calls to renderGraphicElement().

Signed-off-by: Mateusz Zalega <mateusz@appliedsourcery.com>
2018-10-23 15:43:51 +02:00