gatecat
23413a4d12
Fix compiler warnings introduced by -Wextra
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-25 15:15:25 +00:00
gatecat
7922b3bfc4
Replace DelayInfo with DelayPair/DelayQuad
...
This replaces the arch-specific DelayInfo structure with new DelayPair
(min/max only) and DelayQuad (min/max for both rise and fall) structures
that form part of common code.
This further reduces the amount of arch-specific code; and also provides
useful data structures for timing analysis which will need to delay
with pairs/quads of delays as it is improved.
While there may be a small performance cost to arches that didn't
separate the rise/fall cases (arches that aren't currently separating
the min/max cases just need to be fixed...) in DelayInfo, my expectation
is that inlining will mean this doesn't make much difference.
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-19 11:31:33 +00:00
gatecat
33eca9a3d2
machxo2: Python bindings and stub GUI
...
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-12 10:40:03 +00:00
gatecat
6bd3dba1e3
Remove the unused CellInfo::pins field
...
No arches ever actually used this to implement a Cell->Bel pin mapping,
and in practice if any did try they would inevitably hit bitrot.
This field had limited use in practice as it is necessary to also
support cases where one cell pin maps to more than one bel pin. Removing
this old field is the first step towards developing a new API for this.
Signed-off-by: gatecat <gatecat@ds0.me>
2021-02-10 10:42:26 +00:00
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