Commit Graph

2589 Commits

Author SHA1 Message Date
Matthias Koefferlein 70981ab03b Help dialog: bookmarks are persisted now. 2020-09-05 00:16:21 +02:00
Matthias Koefferlein 6bfed45b5d WIP: nicer icons, added bookmark button. 2020-09-04 18:23:26 +02:00
Matthias Koefferlein 842501c9e8 WIP: some updates, specifically: width of help browser does not change when the window is resized -> good for bookmarks, history ... 2020-09-04 17:43:56 +02:00
Matthias Koefferlein fd6e126038 WIP: some refinement of help dialog search function. 2020-09-03 23:54:58 +02:00
Matthias Koefferlein 523f8e41e4 WIP: help browser: on-page search, search box completer 2020-09-03 23:38:55 +02:00
Matthias Koefferlein 97df81f996 WIP: UI preparations for help browser in-page search and bookmarks 2020-09-02 23:58:33 +02:00
Matthias Koefferlein 9c7a9f4c6c Some refactoring for reducing size of layMainWindow.cc a little. 2020-09-02 23:38:31 +02:00
Matthias Koefferlein 0cc41f43c4 Fixed one more issue with the include implementation. 2020-09-01 22:02:47 +02:00
Matthias Koefferlein ad6809a084 Fixed a few issues with the include implementation. 2020-09-01 19:57:27 +02:00
Matthias Koefferlein a20f0d5891 Also provide 'void to self' return values for Python. 2020-08-31 23:55:26 +02:00
Matthias Koefferlein 5608327899 Another cool one: void as C++ return value is translated to returning self for Ruby. 2020-08-31 23:44:02 +02:00
Matthias Koefferlein 4c127b4644 Ruby iterators now automatically return an Enumerator if no block is given - allows very cool code .. 2020-08-31 23:09:37 +02:00
Matthias Koefferlein 77799de043 Added doc for include feature to DRC. 2020-08-31 20:57:06 +02:00
Matthias Koefferlein a01eb70891 Added tests for include feature, some bug fixes and enhancements. 2020-08-31 20:27:57 +02:00
Matthias Koefferlein a69d65daa3 Auto-substitution of __FILE__/__LINE__ for include-infested files. 2020-08-31 20:27:57 +02:00
Matthias Koefferlein 9c2914f016 WIP: allow breakpoints for files with includes and inside includes 2020-08-31 20:27:57 +02:00
Matthias Koefferlein 77a9253273 WIP: Provide a generic include file expansion mechanism, basic class. 2020-08-31 20:27:57 +02:00
Matthias Koefferlein 5c6d3775cb Fixed a compilation issue for a shader program. 2020-08-31 00:45:49 +02:00
Matthias Koefferlein 1dc9d11745 Merge branch 'master' into 2.5d-view-devel 2020-08-30 23:40:54 +02:00
Matthias Koefferlein 2953ad3329 Merge branch 'master' into drc-enhancements 2020-08-30 23:35:37 +02:00
Matthias Koefferlein be6a351385 Updated testdata after unused vias do no longer show up in imported DEF files. 2020-08-30 23:29:44 +02:00
Matthias Koefferlein be26c679d8 Merge branch 'master' into lefdef-enhancments 2020-08-30 22:55:45 +02:00
Matthias Koefferlein 4bba58cde1 Merge branch 'master' into usability-enhancements 2020-08-30 14:14:36 +02:00
Matthias Koefferlein a5d675304c Fixed an issue with deferred method execution in unit test context. 2020-08-30 13:06:50 +02:00
Matthias Koefferlein eccbb9884c Fixed an internal error happening when a librrary isn't registered and destroyed by the GC 2020-08-30 11:35:30 +02:00
Matthias Koefferlein 28cf0853b1 Restored previous behavior for FOREIGN cell resolution. 2020-08-30 02:15:30 +02:00
Matthias Koefferlein b99cbb50e2 Provide better feedback on invalid layer and property specs in LEF/DEF reader options 2020-08-30 01:57:49 +02:00
Matthias Koefferlein a6e750b088 Added a configuration option for providing macro substitution layouts (not through UI, only scripting so far) 2020-08-30 01:37:14 +02:00
Matthias Koefferlein 9a4cd629fc WIP: some little refactoring. 2020-08-30 01:36:17 +02:00
Matthias Koefferlein d762074bc0 Some refactoring, Cell#dup for convenience 2020-08-29 23:43:05 +02:00
Matthias Koefferlein 2a3fe08e7b Provide multi-cell copy/move of shapes (GSI binding) 2020-08-29 22:49:38 +02:00
Matthias Koefferlein a425d522cc Added multi-cell mapping for transferring multiple cells from one layout to another while including their hierarchy without duplicating cells. 2020-08-29 10:07:17 +02:00
Matthias Koefferlein 213eb9f1e8 Ignore COMP .. statements in LEF/DEF map file, "outline" renamed to "die area" 2020-08-29 08:57:21 +02:00
Matthias Koefferlein 1eea4e32b1 Provide scroll bars for rule-based part of LEF/DEF options. 2020-08-29 08:56:43 +02:00
Matthias Koefferlein 95364ea36e WIP: image properties now are also 'live' - auto-apply button has been removed. 2020-08-27 21:44:26 +02:00
Matthias Koefferlein 7bf2c7f060 WIP: live ruler properties. 2020-08-27 20:53:33 +02:00
Matthias Koefferlein 25588c10c8 WIP: partial editing now opens general options 2020-08-27 20:32:37 +02:00
Matthias Koefferlein 994731c1f0 WIP: more consistent editor options 2020-08-27 19:28:27 +02:00
Matthias Koefferlein 3003eb96e7 WIP: life updated on most shape properties, some bug fixes. 2020-08-26 00:38:41 +02:00
Matthias Koefferlein 6e860361c0 WIP: show properties - use transient selection if nothing else is selected. 2020-08-24 22:44:17 +02:00
Matthias Koefferlein ac10c72df4 WIP: immediate update of property changes - instances so far. 2020-08-24 22:40:01 +02:00
Matthias Koefferlein e36f6913de Recent file lists for sessions, layer properties and bookmarks. 2020-08-23 23:39:18 +02:00
Matthias Koefferlein dcc0743969 Buddies: added option to concatenate files with '+' 2020-08-23 21:13:02 +02:00
Matthias Koefferlein be15e2dbf6 Updated priority of map file purposes according to Stefan's suggestions. 2020-08-23 19:44:38 +02:00
Matthias Koefferlein 98973e345d Bugfix for command line parser - did not print name of unknown option 2020-08-23 19:41:51 +02:00
Matthias Koefferlein 56dead9662 LEF/DEF component maskshift: some implementation tuning and test updates. 2020-08-23 19:20:53 +02:00
Matthias Koefferlein af2bfce051 Tests and bug fixes for component maskshift implementation 2020-08-23 18:58:52 +02:00
Matthias Koefferlein cb1b3655e9 Bugfix in the command line parser: inverted bool options with value have not been inverted. 2020-08-23 01:55:55 +02:00
Matthias Koefferlein af7d8bba89 WIP: provide a LEF reader mode where all macros are read. For DEF only those macros which are used are read. 2020-08-23 01:29:10 +02:00
Matthias Koefferlein dcc99060fc WIP: further preparations for MASKSHIFT components. 2020-08-23 00:40:28 +02:00
Matthias Koefferlein 5b472f33ac WIP: Bugfix. 2020-08-22 21:58:07 +02:00
Matthias Koefferlein 77164ea879 WIP: preparations for mask shift in components. 2020-08-22 21:15:39 +02:00
Matthias Koefferlein 03c4eb1f6f Fixed issue with OASIS reader options in buddies 2020-08-22 19:30:59 +02:00
Matthias Koefferlein 608824fb36 Added LEF/DEF options to strm* buddies 2020-08-22 19:09:30 +02:00
Matthias Koefferlein 35249ef0b5 Reading LEF/DEF map files such that MASK is applied to previous entries too. 2020-08-19 23:47:25 +02:00
Matthias Koefferlein d7fab925a0 Added an option for not reading all LEF files along with DEF files, but only selected ones. 2020-08-19 23:06:46 +02:00
Matthias Koefferlein 3da56815a0 Improved generation of MASKs for geometry-defined VIAs 2020-08-18 23:02:01 +02:00
Matthias Koefferlein 73787eed8a WIP: recent options of boxes, polygons, styling 2020-08-18 21:44:20 +02:00
Matthias Koefferlein 77ef3e049b WIP: recent options for paths - now update on layer style change, some bug fixes, change of current layer will immediately change the drawing layer. 2020-08-18 21:09:05 +02:00
Matthias Koefferlein 59d66676b0 WIP: icons for layers 2020-08-18 00:57:04 +02:00
Matthias Koefferlein 263e04c754 WIP: recent editor options also for paths. 2020-08-18 00:39:19 +02:00
Matthias Koefferlein 9a19ced4e0 WIP: recent configurations for instances, some bug fixes there. Views now reset tool if the tab changes. 2020-08-18 00:01:59 +02:00
Matthias Koefferlein 399e4f4fc7 WIP: some enhancements on recent options page, rotate with right mouse button now changes options too. 2020-08-16 09:51:04 +02:00
Matthias Koefferlein ee5cd9cb63 WIP: first 'recent options' list, dragging a PCell variant into the canvas makes the editor take a PCell with these parameters. 2020-08-15 00:13:17 +02:00
Matthias Koefferlein 9a2c091f65 WIP: completer for cell name (for <10k cells) in instance editor options 2020-08-14 18:58:24 +02:00
Matthias Koefferlein 04f2d3a8c0 WIP: removed 'apply' button on editor options as this is no longer required :) 2020-08-14 02:14:47 +02:00
Matthias Koefferlein 85e68940f2 WIP: interactive controls for generic edit options, bug fix for instance marker - appeared also when editing generic editor options for polygon, box ... 2020-08-14 01:24:46 +02:00
Matthias Koefferlein e12746526f Interactive manipulation of PCell parameters on editoptions page. 2020-08-13 01:20:14 +02:00
Matthias Koefferlein b8c33f1b59 WIP: no-apply for instance properties 2020-08-11 18:44:19 +02:00
Matthias Koefferlein 0ff1a472f5 WIP: don't accept cell drops from wrong technology 2020-08-11 17:47:33 +02:00
Matthias Koefferlein 913a266cd7 WIP: styling. 2020-08-11 17:34:52 +02:00
Matthias Koefferlein 1ea29dd9f3 WIP: avoid a segfault when closing tab while dragging an instance. 2020-08-11 09:44:59 +02:00
Matthias Koefferlein 649d6da1b8 WIP: PCell page indicates now if not a PCell. 2020-08-11 09:17:46 +02:00
Matthias Koefferlein cf3e79b8f8 WIP: PCell parameters are now remembered also for drag&drop 2020-08-11 08:52:23 +02:00
Matthias Koefferlein e8668ed092 WIP: PCell parameters are now remembered for each PCell name/library 2020-08-11 08:27:06 +02:00
Matthias Koefferlein 4ffae9668e WIP: reworked drag&drop from library view into canvas - now will switch to instance mode and take parameters from the instance options rather than popping up a PCell dialog and using mag 1, no mirror, no rotation etc. 2020-08-10 19:51:36 +02:00
Matthias Koefferlein 701f690053 WIP: bugfix - PCell parameter page wasn't updated initially 2020-08-10 10:32:01 +02:00
Matthias Koefferlein a1443a8018 WIP: 'editor options' now works again, brings dock widget to front if in tab. 2020-08-10 10:00:29 +02:00
Matthias Koefferlein 452aafe8ae WIP: some refinement 2020-08-08 23:04:44 +02:00
Matthias Koefferlein 4254221e6e WIP: some refinement 2020-08-08 21:32:21 +02:00
Matthias Koefferlein cdce2cb151 WIP: put the editor options into a separate dockable widget 2020-08-08 21:10:01 +02:00
Matthias Koefferlein 2714b34104 One bug fix for distribute feature 2020-08-08 14:40:11 +02:00
Matthias Koefferlein 1a191fbee9 Small refactoring 2020-08-08 14:26:33 +02:00
Matthias Koefferlein 9842ff8f1b WIP: new implementation of distribute algorithm - the previous one wasn't really smart. 2020-08-08 14:11:59 +02:00
Matthias Koefferlein 28520697a3 WIP: distribute feature. 2020-08-08 00:14:48 +02:00
Matthias Koefferlein 8e4e5cde12 WIP: distribute selected objects feature 2020-08-03 23:48:49 +02:00
Matthias Koefferlein 4389196000 Change layer now also acts on the transient selection if nothing else is selected. 2020-08-03 21:50:55 +02:00
Matthias Koefferlein 5bd73bb8bf 'tap' now changes the current layer while editing and also initiates polygons, paths and boxes. 2020-08-03 20:20:25 +02:00
Matthias Koefferlein 1887fd715a First new implementation of "tap" and some enhancements/bugfixes/refactoring
- Layer icons can be obtained now
- Icon dimension is arbitrary
- Scaling icons for layer list
- More robust event handling in case of pop-up menus
  (selector)
- "Tap" will noe pop up a menu with all layers below the cursor.
  When selected, the current layer is switched.
2020-08-03 10:34:16 +02:00
Matthias Koefferlein f810eae7a0 New feature: repeat selection
1. "Select Next Item" will repeat the selection on the last single-click location
   or select the current transient selected (essentially like a single click)
  This feature is by default bound to "Space"
2. "Select Next Item too" will do the same, but add to the selection
  This feature is by default bound to "Shift+Space"
2020-08-02 17:41:22 +02:00
Matthias Koefferlein 374c8d2c4d Some refactoring: pulled out the layout functionality from the layout view and put into a plugin. 2020-08-02 17:34:07 +02:00
Matthias Koefferlein 471fefe79d Merge branch 'master' into lefdef-enhancments 2020-08-02 14:27:00 +02:00
Matthias Koefferlein 0caf468ad9 via cell name prefix wasn't persisted 2020-08-02 12:10:04 +02:00
Matthias Koefferlein 23ec53e1b2 Abbreviated LEF/DEF layer names for map files. 2020-08-02 12:01:28 +02:00
Matthias Koefferlein 84573a21ce Skip END LIBRARY, so LEF files can be cat together 2020-08-02 11:31:37 +02:00
Matthias Koefferlein 404799bdfd Bugfixed map file reader for mask case, added test 2020-08-02 00:56:55 +02:00
Matthias Koefferlein 440b2b122b Fixed test cases - main reason is the different assignment of layer numbers, mainly for the auxiliary layers such as OUTLINE 2020-08-02 00:09:20 +02:00
Matthias Koefferlein 79d3676257 And one more ... 2020-07-31 07:55:16 +02:00
Matthias Koefferlein cdcde2469a And another compiler specific fix ... 2020-07-31 07:52:12 +02:00
Matthias Koefferlein a7aa99e5e2 Yet another compiler specific fix 2020-07-31 07:51:23 +02:00
Matthias Koefferlein c81e462b60 Another compiler specific fix 2020-07-31 07:48:34 +02:00
Matthias Koefferlein 37544e5e23 Merge branch 'master' into lefdef-enhancments 2020-07-31 00:58:24 +02:00
Matthias Koefferlein f2b678cb7b Fixed master builds on Qt 4 2020-07-31 00:15:38 +02:00
Matthias Koefferlein 7d2715401f Fixed compile issue with some gcc's 2020-07-30 23:59:08 +02:00
Matthias Koefferlein f4e75aaa74 WIP: reworked layer mapping scheme, needs fixing 2020-07-30 23:53:34 +02:00
Matthias Koefferlein d069dde98e WIP: first test case for mask support - needs testing. 2020-07-27 23:13:15 +02:00
Matthias Koefferlein 5c7862d8cd Bugfix, update of golden data. 2020-07-25 23:28:38 +02:00
Matthias Koefferlein 974ce6c960 unused vias are not generated anymore - golden layouts updated. 2020-07-25 23:23:57 +02:00
Matthias Koefferlein a9719ad78e WIP: bug fixing. 2020-07-25 22:54:25 +02:00
Matthias Koefferlein dbe5e19017 First implementation of masks for vias. Needs debugging. 2020-07-25 22:15:09 +02:00
Matthias Koefferlein 0d52da77ee WIP: first version of reading with MASK 2020-07-18 22:59:02 +02:00
Matthias Koefferlein b9c49f0603 Mask specific suffixes, datatypes for LEF/DEF reader. 2020-07-18 22:28:14 +02:00
Matthias Koefferlein f17e3d50f0 Added doc link and manual page for layer specifications. 2020-07-18 18:46:42 +02:00
Matthias Koefferlein de12c6247c Removed confusing LEF import option - there is only import LEF macros or don't 2020-07-18 18:08:50 +02:00
Matthias Koefferlein 89745fd0de Merge branch 'master' into lefdef-enhancments 2020-07-18 09:21:16 +02:00
Matthias Koefferlein 4d4c7aee78 Fixed a unit test. 2020-07-17 23:59:37 +02:00
Matthias Koefferlein 3dff7549f2 Implemented #588: Netlist browser enhancements
1. The netlist browser now got events for
   selection and probe events
2. The netlist browser was overhauled to support
   "infinite depth" views
3. Ambiguities are not shown as errors now
4. New classes for support netlist object
   selections and the netlist browser.

Multiple selections for netlist browser.
2020-07-16 22:53:59 +02:00
Matthias Koefferlein c8a4d25b51 WIP: enabling selection_changed event 2020-07-15 00:35:38 +02:00
Matthias Koefferlein f8c2afaad8 Using NetlistObjectPath for probe_event. 2020-07-15 00:10:42 +02:00
Matthias Koefferlein be5f03b1f4 Netlist browser: Paths for probing, cell contexts for highlighting, probe_net with initial circuit (not just top one) 2020-07-14 23:06:26 +02:00
Matthias Koefferlein a10d56e6b6 WIP: netlist browser - net object paths, single + pairs, tests 2020-07-13 22:11:10 +02:00
Matthias Koefferlein 2762daf14f WIP: fixed tests, fixed an assertion with null nets 2020-07-12 22:32:01 +02:00
Matthias Koefferlein f54c03f4ca WIP: fixed some segfaults. 2020-07-12 21:33:02 +02:00
Matthias Koefferlein dcdf9a8ec1 WIP: paths for tree model too 2020-07-12 21:06:03 +02:00
Matthias Koefferlein 27d1f2fac1 WIP: same sorting of subcircuit connections and circuit pins. 2020-07-12 10:32:46 +02:00
Matthias Koefferlein 8bb7342147 WIP: less nodes. 2020-07-12 10:15:21 +02:00
Matthias Koefferlein 98f808d585 WIP: connections of subcircuits are separate node now, pins and terminals show up as nets. 2020-07-12 09:28:42 +02:00
Matthias Koefferlein f00f5c76b8 WIP: netlist browser tree, highlights etc. 2020-07-12 01:22:22 +02:00
Matthias Koefferlein 62ed7b9def Fixed tests. 2020-07-11 19:07:28 +02:00
Matthias Koefferlein f9fa3d3aa3 WIP: some safety 2020-07-11 14:41:42 +02:00
Matthias Koefferlein 74b87d536e Fixed unit tests partially. 2020-07-11 14:31:56 +02:00
Matthias Koefferlein fde90c66e1 Better handling of pin swapping in netlist browser 2020-07-11 13:21:23 +02:00
Matthias Koefferlein aaa8352a40 Enhancements for netlist tree view - deep hierarchy, no 'failing' terminals on ambiguous device terminals 2020-07-11 00:54:26 +02:00
Matthias Koefferlein 6021a66c40 New node hierarchy for netlist browser. 2020-07-09 00:55:38 +02:00
Matthias Koefferlein 6aff74c844 Merge branch 'master' into issue-588 2020-07-08 23:29:27 +02:00
Matthias Köfferlein 25e3a1a4a7
Merge pull request #608 from KLayout/more-checked-netlist-operations
Checked add/remove methods for Netlist objects - to avoid script mist…
2020-07-07 12:52:15 -07:00
Matthias Köfferlein c1e627b176
Merge pull request #606 from KLayout/debug-basic_rba-crash
Fix candidate for MacOS rba:basic crash
2020-07-07 12:52:00 -07:00
Matthias Koefferlein 0dbebdca91 Fixed test. 2020-07-07 21:39:24 +02:00
Matthias Koefferlein ad00b4a9bf Merge remote-tracking branch 'remotes/origin/master' into add-testcase 2020-07-07 21:22:28 +02:00
Matthias Koefferlein 848fd3e1bb Added testcase 2020-07-07 21:21:33 +02:00
Matthias Köfferlein de9e180f3c
Fixed #609 (internal error on netlist extract) (#610)
Reason was: when caching instance-to-instance interactions,
the array descriptions need to be normalized too.
2020-07-07 18:24:06 +02:00
Matthias Koefferlein 8adeaaf938 Checked add/remove methods for Netlist objects - to avoid script mistakes. 2020-07-05 19:02:43 +02:00
Matthias Köfferlein 5dce0d8384
Implemented #603 (Coordinates for adjust origin) (#604) 2020-07-05 18:42:08 +02:00
Matthias Köfferlein 54cca8912b
Implemented #586 (issues with duplicate cell names) (#605)
As discussed in the ticket, the implementation will
check for unique cell names upon *writing* of a layout
file.
2020-07-05 18:41:44 +02:00
Matthias Koefferlein beec19951d Candidate for fix. 2020-07-05 14:09:23 +02:00
Matthias Köfferlein 6365ddfe82
Fixed #591 (two topics for macro editor) (#595)
* Fixed #591 (crash on Macro/Add Location)

The main reason was that the QSortFilterProxyModel is very sensitive
to the order of signals it receives from the proxy model.

In this case, dataChanged() must not be send between layoutAboutToBeChanged()
and layoutChanged(). This happened implicitly during load() of a macro while
scanning the freshly added folder.

* Fixed another part of #591: ability to disable template selection pop-up in macro editor. Tied to the tip window now - if this is dismissed, no template selection dialog will be shown.
2020-07-03 23:41:52 +02:00
Matthias Köfferlein 4db20b3b48
Fixed #596 (crash on library _destroy) (#597) 2020-07-03 23:41:20 +02:00
Matthias Köfferlein dcd0476efc
Implemented issue #598 (Cell#transform) (#600) 2020-07-03 23:41:09 +02:00
Matthias Köfferlein 4bd2672134
Fixed #592 (layer mapping issue) (#601) 2020-07-03 23:40:55 +02:00
Matthias Köfferlein b413cb9d74
Netlist compare: Ambiguity resolution through name matching now default (can be turned off) (#594)
* WIP: some refactoring

* WIP: some refactoring

* Netlist compare: introducing ambiguity resolution by net names

By default now net names are used for resolving ambiguities.
If net names match, they will be used to associate nets if the
choice is ambiguous. This is usually much faster and more reliable
than trying to resolve ambiguities through topology analysis.

This feature can be disabled using "consider_net_names(false)" in
the LVS script.

* Some refactoring, Jenkinsfile modified for better test coverage
2020-06-29 20:47:57 +02:00
Matthias Köfferlein e744eb32d1
Merge pull request #580 from KLayout/drawing-performance2
Drawing performance2
2020-06-28 16:14:48 +02:00
Matthias Koefferlein 43ceeecf6e Golden test data for Ubuntu 20 and Windows, pipe output stream for Windows. 2020-06-27 09:50:55 +02:00
Matthias Koefferlein c517aa4ff7 Cherry-picked MacOS fixes into master 2020-06-27 01:47:35 +02:00
Matthias Koefferlein 69fe4a5edf Provide a new option -o for unit test runner which sends the log to a file. This way we don't capture qWarning in the XML JUnit logs. 2020-06-27 00:25:56 +02:00
Matthias Koefferlein b91e2324d0 Netlist compare enhancement
This enhancement targets towards a better resolution
of ambiguities. The enhancement is to utilize knowledge
about device and subcircuit equivalences to avoid stale
branches of the ambiguity resolution tree.

So far following these branches could lead to a
contradictions which render an ambiguitiy resolution
choice useless.

One effect of this change is enhanced reproducibility
of the matching log because some pointers are not
involved anymore.
2020-06-26 17:01:03 +02:00
Matthias Koefferlein 613c95e9a3 WIP: enhanced netlist model 2020-06-18 23:50:50 +02:00
Matthias Koefferlein 649b234644 WIP: enhanced netlist model 2020-06-18 23:46:50 +02:00
Matthias Koefferlein f4495274ab WIP: refactoring for more comfortable net browser 2020-06-17 23:20:43 +02:00
Matthias Koefferlein 03bf0a557e WIP: refactoring for more comfortable net browser 2020-06-17 23:14:20 +02:00
Matthias Koefferlein fd5c659ea6 WIP: refactoring for more comfortable net browser 2020-06-16 23:13:52 +02:00
Matthias Koefferlein e37e3f6793 Fixed doc flaw: child classes were not properly cross-referenced as return values or arguments. Need qualified names. 2020-06-15 01:37:03 +02:00
Matthias Koefferlein 23e9932c87 Consistent naming of events: on_... 2020-06-15 01:29:05 +02:00
Matthias Koefferlein fc75bf72f8 Avoid a segfault when the owner of a callable went out of scope and got deleted (pya): null weak pointer happens 2020-06-15 01:28:49 +02:00
Matthias Koefferlein 3f1c3cf209 Extended NetlistCrossReference class so we can easily obtain the other_... objects. 2020-06-15 01:27:33 +02:00
Matthias Koefferlein 84a9853435 Maybe fixed a potential segfault (0-1 as row index) 2020-06-15 01:26:49 +02:00
Matthias Koefferlein 61c9c12414 WIP+Bugfix
1. Bugfix: avoid an internal error because in set_db highlight()
   was called before setup_trees(). Error was:
   Internal error: ../../../src/laybasic/laybasic/layNetlistBrowserPage.cc:387 model != 0 was not true in LayoutView::show_l2ndb

2. Provide GSI binding for lay::NetlistBrowserDialog
2020-06-14 23:31:44 +02:00
Matthias Koefferlein 880b9904cf WIP Netlist probing will deliver an instantiation path now. 2020-06-14 22:04:16 +02:00
Matthias Koefferlein b0b275f106 Updated DRC doc. 2020-06-14 18:51:56 +02:00
Matthias Koefferlein 823807641b Added anonot method to DRC, provide tests. 2020-06-14 18:49:21 +02:00
Matthias Koefferlein d141c0895d Added tests for Region's andnot. 2020-06-14 18:12:17 +02:00
Matthias Koefferlein 966c351958 Merge branch 'master' into drc-enhancements 2020-06-14 17:55:17 +02:00
Matthias Koefferlein 3637b15a74 Generalization of code for twobool local operation 2020-06-14 17:06:53 +02:00
Matthias Koefferlein 41fe04bbc8 WIP: twobool local processor 2020-06-14 17:00:54 +02:00
Matthias Koefferlein 041abe3e89 Added a testcase for two-boolean edge processor. 2020-06-14 16:50:34 +02:00
Matthias Koefferlein ad22ade9ae WIP: preparations finished, testing required. 2020-06-14 16:06:28 +02:00
Matthias Koefferlein 5aa301bcc6 WIP: more preparations 2020-06-14 15:57:23 +02:00
Matthias Koefferlein 1bdf18a51b WIP: more preparations 2020-06-14 14:53:46 +02:00
Matthias Koefferlein 688425c31d WIP: preparations for multi-output edge processor. 2020-06-14 14:16:15 +02:00
Matthias Koefferlein 4390a80dda Added test cases for multiple-outputs local processors. 2020-06-13 23:57:40 +02:00
Matthias Koefferlein 0a10635363 Fixed memory statistics for array (wasn't taking the right statistics for irregular arrays) 2020-06-13 19:55:33 +02:00
Matthias Koefferlein d462a442a8 LEF/DEF reader
More consistently ignore the settings from the "Rule based layer mapping".
So if a map file is given, the map file statements shall not be overridden
by rules from the rule-based mapping tab.
2020-06-13 15:39:41 +02:00
Matthias Koefferlein 96caa646f5 WIP: preparations for multi-input/multi-output local processor. 2020-06-07 18:04:30 +02:00
Matthias Koefferlein b72f819d57 Fixed a potential segfault. 2020-06-06 10:25:20 +02:00
Matthias Koefferlein 689b3c5af9 Merge branch 'issue-374' into drc-enhancements 2020-06-05 14:07:01 +02:00
Matthias Koefferlein 5992a9b509 Merge branch 'master' into lefdef-enhancments 2020-06-05 14:05:13 +02:00
Matthias Köfferlein 95111f8aa8
Implemented #522 (skip // lines in RVE reader) (#583) 2020-06-05 12:11:02 +02:00
Matthias Köfferlein 852f5c438b
Implemented #560 (multiple technologies on libraries) (#576)
* First implementation.

* PORT BACK: fixed a few flaws (fixed-width side panel ..)

1. On "save as" the filename displayed in the cell view selection box
   was not updated
2. The width of the library and cellview panel could not be reduced
   below the width of the combo boxes in the headers. So the
   panels might have become pretty wide without being able to reduce
   them.

* Implemented #560 (multiple techs on libraries)
2020-06-05 10:58:53 +02:00
Matthias Köfferlein 8db1e3577f
Fixed issue #578 (CIF writer issue with arbitrary angle) (#581)
* Fixed isse #578 (CIF writer issue with arbitrary angle)

* Added missing files.
2020-06-05 10:57:14 +02:00
Matthias Köfferlein 2d0a9418f9
Implemented #579 (perimeter_only mode for antenna check) (#582)
* WIP: added basic feature and tests.

* WIP: provide tests are GSI binding of new antenna check

* Fixed issue #579 (perimeter_only mode for antenna check)

* Updated DRC doc for 'perimeter_only'
2020-06-05 10:55:07 +02:00
Matthias Koefferlein 339a2a6fd7 Maybe fixed a performance issue (layout object needs to be locked) 2020-06-05 00:34:07 +02:00
Matthias Koefferlein 233574598b Support for LEF via definition properties (syntax wise, not semantics wise) 2020-06-04 17:55:06 +02:00
Matthias Koefferlein 8b0ab115ed Memory footprint optimization for quad tree 2020-06-04 15:38:53 +02:00
Matthias Koefferlein adfd653213 WIP: refactoring - include fuzzy compare in array, don't put into GSI method impl. 2020-06-04 13:01:11 +02:00
Matthias Koefferlein 999c065262 Introducing iterated arrays for instances
Iterated instances are created for OASIS files
using irregular repetitions in viewer mode.

Reason: this way, the same drawing optimization
than for iterated shape arrays can be applied.

As this is a new API feature, some adjustments
had to be made to incorporate them into the
code.
2020-06-04 12:17:34 +02:00
Matthias Koefferlein 9c4648a5b5 WIP: some bug fixing and enhancements. 2020-06-02 23:59:09 +02:00
Matthias Koefferlein cdf4d08fd3 WIP
* Maybe fixed a performance issue on box-trees: the iterator wasn't
  going down to the very bottom of the tree on initialization
* Added array quad skipping in display of shape arrays
2020-06-01 23:28:04 +02:00
Matthias Koefferlein 4aa1364e4b Fixed DEF reader, updated golden test data. 2020-06-01 15:04:25 +02:00
Matthias Koefferlein d7af7fc5c0 Merge branch 'lefdef-enhancments' 2020-06-01 13:37:45 +02:00
Matthias Köfferlein 0c0d247c23
Merge pull request #574 from KLayout/issue-558
Fixed #558 ("extents" wasn't deep-enabled for Edges, Texts and EdgePairs)
2020-06-01 00:21:46 +02:00
Matthias Koefferlein 82c6a5bc6b WIP: fixed more gcc-9 warnings. 2020-05-31 21:50:10 +02:00
Matthias Koefferlein a9c0616aa0 WIP: more changes 2020-05-31 10:37:30 +02:00
Matthias Koefferlein 759f07ee4d Implemented solution for #570 (deep Edges::extents)
While doing this, it was discovered that the problem also
persists for EdgePairs and Texts.

In order to provide a more generic solution, some refactoring
was applied.
2020-05-31 01:55:05 +02:00
Matthias Köfferlein 6601d472bf
Implemented #570 (perimeter included in antenna check) (#572)
* First implementation of the perimeter factor for antenna check, unit tests.

* Bugfix and unit tests for GSI binding of new antenna check version.

* DRC integration of perimeter-enabled antenna check.

* Enhanced DRC doc for antenna rule
2020-05-30 21:45:48 +02:00
Matthias Koefferlein bea3e29421 Merge branch 'master' of https://github.com/KLayout/klayout 2020-05-28 00:44:49 +02:00
Matthias Koefferlein e94b40cab9 Fixed Windows build (linker error) 2020-05-28 00:44:27 +02:00
Matthias Köfferlein 3246e0d36f
Fixed #565 (SPICE global nets must not produce pins if not present) (#567)
* Fixed #565 (SPICE global nets must not produce pins if not present)

* Fixed unit tests.
2020-05-26 23:47:59 +02:00
Matthias Köfferlein ba46ffb276
Merge pull request #563 from KLayout/issue-487
Fix #487 (True text object support for DRC/LVS)
2020-05-26 22:44:53 +02:00
Matthias Köfferlein a046457cc5
Fixed bug #568 (CIF writer issue with small rotation angles) (#569)
* Fixed bug #568 (CIF writer issue with small rotation angles)

* Fixed the reader bug too which created the rounding issue.
2020-05-25 22:10:06 +02:00
Matthias Koefferlein 29a5b4c519 Bugfix: wrong type cast of size_t to unsigned int 2020-05-24 09:44:25 +02:00
Matthias Koefferlein 0f42ebe385 Updated DRC doc, added more tests. 2020-05-23 22:54:50 +02:00
Matthias Koefferlein 5ba3d220e9 Made unit tests a little more consistent. 2020-05-23 22:30:54 +02:00
Matthias Koefferlein ee53869cbd Connect_implicit test with labels. 2020-05-23 21:21:30 +02:00
Matthias Koefferlein f410c91339 Updated documentation 2020-05-23 21:14:01 +02:00
Matthias Koefferlein ba9a05640c Bugfixed tiled mode with text input, DRC tests added and test data updated. 2020-05-23 19:03:42 +02:00
Matthias Koefferlein 6fc72b2a39 WIP: doc update 2020-05-23 16:24:05 +02:00
Matthias Koefferlein 81750ed3d8 Tiling processor enabling for text input/output, updated tests. 2020-05-23 16:23:40 +02:00
Matthias Koefferlein daf8e5f8fc Bugfix: Region::pull_interacting(edges) wasn't working properly. 2020-05-23 13:19:46 +02:00
Matthias Koefferlein b84a9df2da Persisting texts now for .l2n format 2020-05-22 00:58:46 +02:00
Matthias Koefferlein c682cc85d0 Generalized concept of region, texts etc. into 'shape collections'. Fixed LVS and DRC tests. 2020-05-21 23:59:30 +02:00
Matthias Koefferlein 5795ec8b07 Fixed DRC texts methods, added tests. 2020-05-20 23:56:35 +02:00
Matthias Koefferlein 854320d52d Debugging: proper assignment of net names through labels. 2020-05-20 23:27:06 +02:00
Matthias Koefferlein e9af72ee28 Tests for texts as net names, fixed Shapes test (order of texts) 2020-05-20 01:05:19 +02:00
Matthias Koefferlein cd0b86b1dc WIP: fixed tests. 2020-05-20 00:31:26 +02:00
Matthias Koefferlein 4c13bb96a0 WIP: refactoring - texts for net extractor. 2020-05-20 00:21:06 +02:00
Matthias Koefferlein 371009ba80 Fixed small typos in LVS doc text. 2020-05-18 21:08:59 +02:00
Matthias Koefferlein ad0cd2f10c pull_interacting and interacting/not_interacting for region/text combinations in DRC. 2020-05-16 00:18:54 +02:00
Matthias Koefferlein 7dab87b881 Added tests, Region#pull_interacting with texts 2020-05-15 23:48:21 +02:00
Matthias Koefferlein 878a494abb AND and NOT for texts vs. region, DRC generalization. 2020-05-15 22:24:18 +02:00
Matthias Koefferlein 8a2742d436 Small doc updates 2020-05-13 22:39:25 +02:00
Matthias Koefferlein 58ca9b8730 Some bug fixes, added tests 2020-05-13 21:56:49 +02:00
Matthias Koefferlein 831acb2c40 Bugfixes, tests for flat interact between region and texts. 2020-05-13 18:25:43 +02:00
Matthias Koefferlein 16d6c75b0e Fixed build, added tests for filter in deep texts object. 2020-05-13 17:58:00 +02:00
Matthias Koefferlein 4e7d0a81b8 'interact' between regions and texts. 2020-05-13 17:29:10 +02:00
Matthias Koefferlein 08026e8b35 Bugfix: in-place filter not working for region, edges. Implemented hierarchical filter for texts. Added Ruby tests for Texts. 2020-05-12 23:01:54 +02:00
Matthias Koefferlein c1b1ce6951 Provide unit test for DeepTexts. 2020-05-12 21:43:11 +02:00
Matthias Koefferlein 4fbb6286ac Fixed unit tests. 2020-05-12 21:16:12 +02:00
Matthias Koefferlein 8b083a8330 Added unit tests for db::Texts, renamed db unit test files so debugging is possible 2020-05-12 21:09:21 +02:00
Matthias Koefferlein a9cd9ac122 First implementation of texts collection. 2020-05-12 20:44:39 +02:00
Matthias Köfferlein 3f8090b3fd
Fixed #547 (better error messages on some Shape methods, fixed doc). (#550) 2020-05-11 19:24:44 +02:00
Matthias Köfferlein 296ec5aebf
Fixed #554: using 64bit coordinates for RVE reader (#555) 2020-05-11 19:24:29 +02:00
Matthias Koefferlein 21173c5f96 Attempt to fix MSVC builds 2020-05-03 10:13:12 +02:00
Matthias Koefferlein dbfe904cc6 Fixed some build errors. 2020-05-03 10:06:06 +02:00
Matthias Koefferlein 476a2b3f09 WIP: preparations for an extended width/space concept 2020-05-02 15:29:19 +02:00
Matthias Köfferlein 9f4ccaaedc
Issue #535 (Image handling enhancements) (#551)
* Menu item to hide or show all images

* Images: asymmetric color nodes.

* Added RBA::image::from_s for reading image back from string. Added tests.

* Added image file reader test (RBA)

* Added lyimg format for image file persistence.

* Small fix of unit tests.

* Added GSI binding for new image features and tests.

* Save and load for .lyimg formats in image properties dialog.
2020-05-02 13:45:20 +02:00
Matthias Koefferlein 5fd60e0d49 Planning LEF/DEF enhancements for 0.27 now as this is a too big change. 2020-05-02 13:22:04 +02:00
Matthias Koefferlein 99ec635e5a Start LEF browser in tech base dir in the context of a technology 2020-05-02 13:19:26 +02:00
Matthias Koefferlein fd63d1017f Added tests for LEF/DEF mapfile, fixed a few bugs. 2020-05-02 09:30:17 +02:00
Matthias Koefferlein 97022a3a87 Layer mapping scheme enhancements, UI enhancements
* A map file can now be specified and should be read relative
  to the technology
* Giving a map file will disable the pattern-based mapping
* UI enhanced accordingly
* Added UI option to configure macro resolution mode
* Bugfix: LEF files have not been read relative to the tech
* Bugfix: Some options where not persistent
2020-05-02 00:14:06 +02:00
Matthias Koefferlein 0e68b910fa Merge branch 'master' into lefdef-enhancments 2020-05-01 16:00:58 +02:00
Matthias Koefferlein 751340c963 LEF/DEF: Fixed placement of FOREIGN cell 2020-05-01 15:16:08 +02:00
Matthias Köfferlein 86739794a0
Merge pull request #543 from KLayout/fix-missing-python-alternative-doc
Fixed problem of missing exec_ documentation
2020-04-30 22:06:55 +02:00
Matthias Köfferlein cb3833f563
Merge pull request #546 from KLayout/sonarqube-fixes
Sonarqube fixes
2020-04-30 22:06:38 +02:00
Matthias Köfferlein 8dae4161e1
Fixed #548 (shield issue on space) (#549) 2020-04-30 22:03:16 +02:00
Matthias Koefferlein f6b2eea0a7 Build fixed. 2020-04-26 17:08:52 +02:00
Matthias Köfferlein 9b0362d03d
Fixed #544 (ignore duplicate global nets in SPICE reader) (#545) 2020-04-26 16:54:13 +02:00
Matthias Köfferlein 93a072903c
Fixed #539 (internal error on circuit flatten) (#542)
Previously, circuits which connected two pins through
a net could not be flattened. This capability now has
been added.
2020-04-26 16:53:50 +02:00
Matthias Koefferlein 3d3bdb001f Some patches for sonarqube 2020-04-26 10:25:46 +02:00
Matthias Koefferlein 15567d3d27 Some small fixes to make clang-analyze happy. 2020-04-26 09:33:10 +02:00
Matthias Koefferlein c6b5d2f8d2 DXF reader code change suggested by clang-analyze 2020-04-26 08:42:50 +02:00
Matthias Koefferlein 73f2f23505 Adjusted unit tests for latest fix. 2020-04-26 01:05:07 +02:00
Matthias Koefferlein 88330587a3 Fixed build errors. 2020-04-26 00:26:09 +02:00
Matthias Koefferlein fffae4134c Fixed a Sonarqube issue. 2020-04-25 23:37:43 +02:00
Matthias Koefferlein 3a7d9d0b0f Fixed copyright/license topic. 2020-04-25 23:30:48 +02:00
Matthias Koefferlein 5bedd3cd04 Removed tab characters from sources. 2020-04-25 23:27:29 +02:00
Matthias Koefferlein 1a30fdf4b7 Exceptions must not be strings in Python 2020-04-25 23:25:53 +02:00
Matthias Koefferlein 45c7b97549 Fixed an issue in the strmxor implementation (output_cell wasn't initialized) 2020-04-25 23:23:40 +02:00
Matthias Koefferlein 0bc965dde9 Fixed a layout diff bug (compare of paths) 2020-04-25 23:20:01 +02:00
Matthias Koefferlein 849e97b88a Fixed a wrong computation of image memory footprint 2020-04-25 23:13:46 +02:00
Matthias Koefferlein fe2e642e66 Fixed a 'value never read' issue. 2020-04-25 23:10:46 +02:00
Matthias Koefferlein f1fa81bead Fixed a 'value never read' issue. 2020-04-25 23:09:41 +02:00
Matthias Koefferlein 8050a54bc8 Fixed a potential null derference issue. 2020-04-25 23:06:41 +02:00
Matthias Koefferlein 4c6d61bed1 Fixed 'at most one statement is allowed per line' for tl_assert macro 2020-04-25 22:59:45 +02:00
Matthias Koefferlein 061e5d7286 Added LEF reading timer (LEF next to DEF) 2020-04-25 22:05:01 +02:00
Matthias Koefferlein c602871e0e Implemented Stefan's solution #3 for FOREIGN != MACRO in LEF 2020-04-25 21:08:11 +02:00
Matthias Koefferlein 4c6f1475b1 Made rba:layLayoutView test functional without qtbindings enabled. 2020-04-25 19:45:02 +02:00
Matthias Koefferlein f6140055d6 Modified reader scheme for FOREIGNCELL 2020-04-24 23:21:27 +02:00
Matthias Koefferlein 7574a41d09 Fixed problem of missing exec_ documentation 2020-04-22 08:07:22 +02:00
Matthias Koefferlein c7de542070 Some more refactoring of DEF layer mapping 2020-04-19 20:14:12 +02:00
Matthias Koefferlein 71906a5681 WIP: some further refactoring of the layer mapping scheme. 2020-04-19 19:12:03 +02:00
Matthias Koefferlein 040af426dc WIP: refactoring of map file reading. 2020-04-19 16:54:41 +02:00
Matthias Koefferlein e51f15b116 New layer flavors: special nets, LEF pins. 2020-04-19 14:38:14 +02:00
Matthias Koefferlein 9825245e0c Implemented LEF MACRO FOREIGN 2020-04-19 12:16:55 +02:00
Matthias Koefferlein d93ef3ff97 Timing reports for stream writers too, reporting file names for reader and writer timing. 2020-04-19 10:39:27 +02:00
Matthias Koefferlein 73521bc0dc Bugfix: 'Delete Layer' was mapped incorrectly to 'Edit Layer Specification' 2020-04-18 22:59:06 +02:00
Matthias Koefferlein 0066381b40 Provide a LayoutView constructor even without Qt bindings enabled 2020-04-18 22:56:34 +02:00
Matthias Koefferlein 9a7f0a9c2a Fixed a LEF/DEF reader bug (was '+ RECT' or '+ POLYGON' in SPECIALNETS) 2020-04-18 18:48:25 +02:00
Matthias Koefferlein 70d8334f8c Merge branch 'lefdef-enhancments' of https://github.com/KLayout/klayout into lefdef-enhancments 2020-04-18 18:00:54 +02:00
Matthias Koefferlein 54cf57c772 LEF/DEF enhancements (via cellname suffix configurable, group separation disabled by default)
Two new reader options:
1.) via cell name prefix (default is "VIA_"). This name is put in front of the via name to form the cell cell name
2.) group separation disabled by default. Groups are not put into individual parent cells by default.
2020-04-18 17:58:50 +02:00
Matthias Koefferlein d117e024f0 Removed TODO markers 2020-04-18 00:38:25 +02:00
Matthias Koefferlein 2cdcf621d8 D25 tech component editor: line numbers shown, more syntax variants 2020-04-18 00:37:15 +02:00
Matthias Koefferlein 07ecaac598 Enhancements. 2020-04-18 00:17:17 +02:00
Matthias Koefferlein 747184beef Using background color as configured. 2020-04-17 23:46:02 +02:00
Matthias Koefferlein 1604c089dc Link between tech comp and 2.5d view 2020-04-17 19:02:13 +02:00
Matthias Koefferlein ca2b0cd96a Added tests for tech component, syntax highlighter fixed. 2020-04-17 16:24:56 +02:00
Matthias Koefferlein b2216ec372 WIP: tech component + editor. 2020-04-17 11:15:50 +02:00
Matthias Koefferlein 7884446da1 Orientation cube, some refinement. 2020-04-17 00:25:21 +02:00
Matthias Koefferlein f954afab7a Added missing files. 2020-04-16 23:14:48 +02:00
Matthias Koefferlein f9aa89a0b3 WIP: bugfixes, refactoring. 2020-04-16 23:14:22 +02:00
Matthias Koefferlein 921af52643 DEF reader bugfix: wasn't reading SPECIALNETS + ROUTED + RECT 2020-04-14 23:15:08 +02:00
Matthias Koefferlein 61714090e3 Maybe fixed performance issue: usually it's not a good idea to iterate the layout's hierarchy while deleting something from it. 2020-04-14 22:48:18 +02:00