Commit Graph

446 Commits

Author SHA1 Message Date
Keith Rothman
22c3c9c303 Update copywrite headers.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-04 16:38:33 -08:00
Keith Rothman
083f6afb1c Add initial GUI files.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-04 16:38:33 -08:00
Keith Rothman
c99fbde0eb Mark IdString and IdStringList single argument constructors explicit.
Single argument constructors will silently convert to that type.  This
is typically not the right thing to do.  For example, the nexus and
ice40 arch_pybindings.h files were incorrectly parsing bel name strings,
etc.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-04 16:38:07 -08:00
D. Shah
f05d024666 ecp5: Use snake case for arch-specific functions
This makes the difference clearer between the general arch API that
everyone must implement; and helper functions specific to one arch.

Signed-off-by: D. Shah <dave@ds0.me>
2021-02-03 10:53:08 +00:00
D. Shah
a09a62bc4a ice40: Use snake case for arch-specific functions
This makes the difference clearer between the general arch API that
everyone must implement; and helper functions specific to one arch.

Signed-off-by: D. Shah <dave@ds0.me>
2021-02-03 10:46:12 +00:00
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