Commit Graph

5209 Commits

Author SHA1 Message Date
Matthias Köfferlein 99f6beef54
Merge pull request #799 from KLayout/issue-778
Fixed #778 (monospace font selection generalized)
2021-05-21 00:51:21 +02:00
Matthias Koefferlein 7d7f99d1c8 Added resolve skew array option to buddy tools. 2021-05-21 00:15:51 +02:00
Matthias Koefferlein eb26b6ed34 Basic implementation of 'resolve skew aref' feature 2021-05-21 00:08:02 +02:00
Matthias Koefferlein 6496a71b5b Removed is_of_type() of gsi::Class which is not needed and appears to cause problems on M1 ARM 2021-05-19 22:40:14 +02:00
Matthias Koefferlein f4b981c71b Fixed #796: updated DXF version to AC1014 2021-05-19 22:30:09 +02:00
Matthias Koefferlein 55bdd904cb Implemented #801: update, added test case 2021-05-19 22:25:59 +02:00
Matthias Koefferlein 7a754b9c6f Fixed a basic bug in the deferred execution framework: when the execution of a deferred method unqueued another one, the application crashed. 2021-05-15 18:45:53 +02:00
Matthias Koefferlein f7fa6d8289 Added process_event for DRC log - makes progress log more useful. 2021-05-15 18:04:41 +02:00
Matthias Koefferlein ac57d0e473 New testdata because of #798 fix 2021-05-13 23:22:52 +02:00
Matthias Koefferlein aea8c4d1ad 3-terminal C's and R's for Spice writer too, using different default models for 2- and 3-terminal R and C 2021-05-13 21:13:41 +02:00
Matthias Koefferlein 4eb8f69a22 Spice reader: Support for resistance, capacitance and inductance values within parameters, basic support for 3-terminal resistors, more flexibility in SpiceReaderDelegate. 2021-05-13 20:40:28 +02:00
Matthias Koefferlein 948de369d6 Fixed #778 (monospace font selection generalized) 2021-05-13 13:53:34 +02:00
Matthias Köfferlein ea3bfabd90
Merge pull request #797 from KLayout/issue-795
Issue 795
2021-05-13 13:05:37 +02:00
Matthias Koefferlein f7631b2b2d Fixing a problem with log output in log window 2021-05-12 23:42:14 +02:00
Matthias Koefferlein 453ff7c7ad Removed process_events from log output as this is the main reason of instability. 2021-05-12 22:47:18 +02:00
Matthias Koefferlein e7ae7338b4 Fixed a potential invalid read access problem. 2021-05-12 22:46:54 +02:00
Matthias Koefferlein f5afdd91a5 Preventing event recursion on different levels. 2021-05-10 23:42:40 +02:00
Matthias Koefferlein d8f7873d53 Fixed #793 - problem was a wrong declaration of the iterator's return value 2021-05-08 23:16:27 +02:00
Matthias Köfferlein 9c5542d3d2
Merge pull request #788 from KLayout/issue-787
Issue 787 fixed
2021-05-08 22:26:10 +02:00
Matthias Köfferlein 3f46098d1b
Merge pull request #789 from KLayout/lefdef-macro-layouts-for-gui
Lefdef macro layouts for gui
2021-05-08 22:25:56 +02:00
Matthias Koefferlein 0d848d0597 Added LEF macro file list to API and UI 2021-05-04 22:56:03 +02:00
Matthias Koefferlein 70864e41af Implemented Edge#cut_point for GSI (was missing) 2021-05-04 21:12:46 +02:00
Matthias Koefferlein 31cc8f32e2 Fixed #787 - the results of const reference return values need to be copied as the holder object may go out of scope 2021-05-02 23:00:38 +02:00
Matthias Koefferlein 1285868546 Skip private-only tests without private data access 2021-05-01 21:36:52 +02:00
Matthias Köfferlein a3937d1943
Merge pull request #780 from KLayout/lefdef-enhancements
Lefdef enhancements
2021-04-30 07:21:00 +02:00
Matthias Koefferlein 4473e53b96 Merge branch 'master' into lefdef-enhancements 2021-04-29 23:54:26 +02:00
Matthias Koefferlein 7c3c631515 Merge branch 'master' into feedback 2021-04-29 23:53:47 +02:00
Matthias Koefferlein 281681fffb Limit hier processor instance/instance and instance/cluster cache depth to 20 entries per cell pair to avoid memory explosion 2021-04-28 22:51:00 +02:00
Matthias Koefferlein 855e8a3518 WIP: some enhancements with the effect of reducing instance interaction caching overhead and improving performance. More memory and cache metrics. 2021-04-27 22:27:22 +02:00
Matthias Koefferlein 3a5df63677 Merge branch 'master' into lefdef-enhancements 2021-04-27 07:41:47 +02:00
Matthias Koefferlein 2f204eaa21 Some refactoring of the instance-to-instance test in hier processor: gives some performance improvement with less memory for cache. 2021-04-26 23:15:27 +02:00
Matthias Koefferlein 6e52e6f0c6 WIP: introducing memory metrics for netlist/l2n 2021-04-26 22:26:31 +02:00
Matthias Koefferlein 7d8825a9fb Ghost cells are not renamed in blend mode 'rename' 2021-04-24 21:30:03 +02:00
Matthias Koefferlein 1ad0298d2d Merge branch 'lefdef-enhancements' 2021-04-24 20:53:43 +02:00
Matthias Koefferlein 44469f82d9 Corrected description of lefdef-lef-layouts options for buddy scripts. 2021-04-23 00:04:10 +02:00
Matthias Koefferlein 05901d767e Generalized macro resolution mode options for LEF/DEF reader (UI, buddy tools). Added lefdef-lef-layouts for buddy scripts for providing external layouts for FOREIGN. 2021-04-22 23:43:28 +02:00
Matthias Koefferlein ebfa187177 A somewhat more reasonable behavior for moving rulers in the presence of multiple rulers - the ruler highlighted in the transient selection is taken. 2021-04-20 23:00:34 +02:00
Matthias Köfferlein 721a4c6246
Merge pull request #776 from KLayout/issue-747
No comment skipping in descriptions - fixed #747
2021-04-19 22:29:48 +02:00
Matthias Köfferlein b917bf4fd6
Merge pull request #775 from KLayout/no-display-for-help-and-version
klayout -v and -h now work without a display
2021-04-19 22:29:24 +02:00
Matthias Köfferlein 7ef56c28c8
Merge pull request #774 from KLayout/issue-715
Fixes #715 (selection box larger than drawn)
2021-04-19 22:29:11 +02:00
Matthias Köfferlein e6ab8c2483
Issue 771 (#773)
* Fixed the issue - Byte array variant was not properly converted to Python/Ruby objects.

* Added tests + properly converting byte arrays to byte array variants in Python.
2021-04-19 22:28:27 +02:00
Matthias Koefferlein f8b8408adb No comment skipping in descriptions - fixed #747 2021-04-18 14:36:39 +02:00
Matthias Koefferlein 7a6364506d klayout -v and -h now work without a display 2021-04-18 14:27:00 +02:00
Matthias Koefferlein af6f11c2b3 Fixes #715 (selection box larger than drawn) 2021-04-18 14:02:26 +02:00
Matthias Köfferlein f8e7e3b6e1
Merge pull request #770 from KLayout/lvs-enhancement
Lvs enhancement
2021-04-14 23:24:30 +02:00
Matthias Koefferlein 44e495a77a Added test 2021-04-13 23:09:03 +02:00
Matthias Koefferlein 6ea04d6c27 Small LVS enhancement: reject backtracking branch if it leads to ambiguous name conflicts 2021-04-13 22:57:08 +02:00
Matthias Koefferlein a02c2c8eeb Merge branch 'master' into hierarchical-edges 2021-04-11 22:47:38 +02:00
Matthias Köfferlein f81b6588b6
Merge pull request #768 from KLayout/issue-757
Issue 757
2021-04-11 22:42:15 +02:00
Matthias Köfferlein 09e72d0507
Merge pull request #767 from KLayout/bugfixes
Bugfixes
2021-04-11 22:42:01 +02:00
Matthias Koefferlein e0d2be2ca6 Typo fixed 2021-04-11 09:50:40 +02:00
Matthias Koefferlein 93a6f2baa7 Warning for non-orthogonal array vectors; important bugfix: editing array vectors wasn't working properly in absolute coordinate mode 2021-04-11 09:40:27 +02:00
Matthias Koefferlein 841e6c8726 Merge branch 'bugfixes' into issue-757 2021-04-11 09:10:38 +02:00
Matthias Koefferlein 870fd2e0bd Fixed some valgrind issues. 2021-04-08 23:30:47 +02:00
Matthias Koefferlein c4e5310c95 Bugfix: holes and hulls are not neccessarily merged 2021-04-08 00:32:03 +02:00
Matthias Koefferlein 9ec5fb7384 Bugfix: LVS netlist browser did not navigate to device bbox correctly. 2021-04-07 23:52:39 +02:00
Matthias Koefferlein 25b46def17 Disallow zero columns and rows count for AREFs 2021-04-07 23:22:16 +02:00
Matthias Koefferlein 90b131a691 Fixed a warning about open transaction on snap/swap points in ruler properties - undo text is somewhat weak now :( 2021-04-07 23:15:23 +02:00
Matthias Koefferlein 217f957d60 Some more safety against accessing deleted user objects (stored point in temporary UserObject or DUserObject gets destroyed on destruction of the holder) - using C++ move semantics (overdue) 2021-04-07 22:16:52 +02:00
Matthias Koefferlein d7c79a3d32 Reversed the interpretation of 'good' row/column combination until further clarification. 2021-04-06 22:49:59 +02:00
Matthias Koefferlein 9b7879b2a9 Faster hierarchical edges. 2021-04-06 21:05:02 +02:00
Matthias Koefferlein 9b86ea96d2 Fixed another assertion 2021-04-05 00:30:33 +02:00
Matthias Koefferlein 2c245af13a Fixed an assertion happining with Qt binding enabled 2021-04-05 00:27:14 +02:00
Matthias Koefferlein 7b9a1ffdee Made 'rename' blend mode default for buddy scripts 2021-04-04 21:34:43 +02:00
Matthias Koefferlein ac9aa475ab Properly handle external classes such as PCellDeclarationHelper in gsi::initialize_expressions 2021-04-04 18:41:35 +02:00
Matthias Koefferlein 85c3128c13 Adding --blend-mode to buddy scripts for mitigating the risk of joining files 2021-04-03 18:26:53 +02:00
Matthias Koefferlein f9762009c6 Bugfix: don't forget to initialize child classes in gsi expressions. 2021-04-03 18:24:57 +02:00
Matthias Köfferlein 85448966d8
Merge pull request #763 from KLayout/25d-enhancements
25d enhancements
2021-04-03 15:33:57 +02:00
Matthias Köfferlein 09793e8502
Merge pull request #762 from KLayout/issue-757
Issue 757
2021-04-03 15:33:47 +02:00
Matthias Koefferlein 2862cb4ffd Marked 2.5d as experimental, wording of an error message 2021-04-03 01:39:19 +02:00
Matthias Koefferlein b4f2bfdd5c Enabled Qt4 builds hopefully 2021-04-03 01:24:24 +02:00
Matthias Koefferlein 52754ed418 2.5d view and help integration 2021-04-03 00:37:23 +02:00
Matthias Koefferlein 53f2c0e28f Doc for 2.5d view 2021-04-03 00:17:28 +02:00
Matthias Koefferlein 9c1ef3c6dd Enhanced 2.5d navigation 2021-04-02 22:58:39 +02:00
Matthias Koefferlein 173ba147b1 Rework for D25 tech management - compilation happens dynamically now. 2021-04-02 18:48:00 +02:00
Matthias Koefferlein 773fcb6b67 z Stack description language enhanced. 2021-04-02 17:27:38 +02:00
Matthias Koefferlein 9acf4cd99e Implemented solution for #757 2021-04-02 00:22:30 +02:00
Matthias Koefferlein 892f940166 Fill feature: enhancements and debugging
- added "multi_origin" mode for repeated fill
- enhanced fill coverage by better separation of islands in auto-origin mode
2021-04-01 23:29:45 +02:00
Matthias Koefferlein 25b978f39f Doc clarification. 2021-04-01 18:41:37 +02:00
Matthias Koefferlein e66c8046db Limited lvs stack depth to 500 to prevent stack overflow. 2021-03-31 23:04:35 +02:00
Matthias Koefferlein cf51130339 Fixed some build issues that appeared during merge 2021-03-30 23:20:39 +02:00
Matthias Koefferlein 94556c1448 Merge branch 'master' into lvs-enhancements 2021-03-30 18:56:27 +02:00
Matthias Koefferlein 729975bae8 Fixed a doc XML integrity issue 2021-03-30 18:23:42 +02:00
Matthias Köfferlein 8cb73c2daa
Merge pull request #759 from KLayout/fill-enhancements
Fill enhancements
2021-03-30 12:36:48 +02:00
Matthias Köfferlein 9f26cffa23
Fixed issue #750 (#752) 2021-03-30 12:36:29 +02:00
Matthias Köfferlein 93ba3c14ec
Merge pull request #751 from KLayout/drc-enhancements
Global transformations and some bug fixes
2021-03-30 12:35:47 +02:00
Matthias Koefferlein 6971048d28 Changed default for fill pitch (equal to cell's bbox w/h). Updated doc. 2021-03-29 22:57:20 +02:00
Matthias Koefferlein 47a845884d Added tests 2021-03-29 22:44:39 +02:00
Matthias Koefferlein 3f37b0e5a4 Fill cell box introduced as a concept, added tests, overlapping fill cells supported. 2021-03-29 22:12:47 +02:00
Matthias Koefferlein 127b520899 Updated doc. 2021-03-29 21:00:50 +02:00
Matthias Koefferlein b725f5fb0f fill_with_left, implementation + tests 2021-03-29 20:58:16 +02:00
Matthias Koefferlein f0386b616a Regenerated documentation 2021-03-29 17:27:16 +02:00
Matthias Koefferlein 311d0e3ca7 Fixed some merge issues. 2021-03-29 15:18:19 +02:00
Matthias Koefferlein 8fda92a9c4 Merge branch 'drc-enhancements' into fill-enhancements 2021-03-29 15:07:47 +02:00
Matthias Koefferlein dc3fa096d3 Renamed DRC tests to reduce merge conflicts. 2021-03-29 15:03:37 +02:00
Matthias Koefferlein 1608fa7d0e Bug fixes and tests for fill DRC feature. 2021-03-29 15:00:31 +02:00
Matthias Koefferlein d862970d47 Added doc for DRC fill. 2021-03-29 13:56:34 +02:00
Matthias Koefferlein 76982a3206 DRC support for fill, experimental 2021-03-29 13:28:43 +02:00
Matthias Koefferlein cefc2eeddb Bug fixes. 2021-03-29 01:05:53 +02:00
Matthias Koefferlein abd96c8400 Deep mode: avoid flattening by FlatRegion/FlatEdges poisoning 2021-03-28 23:19:14 +02:00
Matthias Koefferlein 6df333a05e Avoid turning DeepRegions into flat ones as this spoils hierarchical processing. 2021-03-28 22:33:24 +02:00
Matthias Koefferlein de4454a0d6 Updated documentation 2021-03-27 23:56:53 +01:00
Matthias Koefferlein 6ceac2c6ba Updated a test. 2021-03-27 23:14:33 +01:00
Matthias Koefferlein 9f295523e4 explicit net joining - preparations 2021-03-27 21:56:53 +01:00
Matthias Koefferlein e0eac2147b Refining the display enhancements for terminals in netlist browser. 2021-03-27 00:44:48 +01:00
Matthias Koefferlein 3ce13f6769 Attempt to get a better picture of mismatching device pins at the presence of device pin swapping 2021-03-26 17:46:10 +01:00
Matthias Koefferlein a0cab9832f Fixed probe feature of LVS dialog for flat extraction. 2021-03-26 00:40:18 +01:00
Matthias Koefferlein cb2d76def6 New test case for LVS 2021-03-26 00:02:01 +01:00
Matthias Koefferlein 8d5ef02c3d Using unlimited complexity and depth for LVS compare 2021-03-25 23:50:45 +01:00
Matthias Koefferlein 4252085663 Fixed an internal error in netlist compare
Problem was that during ambiguity resolution a choice may
be invalidated by further choices. This is taken care by
locking nets against re-mapping.
2021-03-25 01:56:23 +01:00
Matthias Koefferlein c48be51cb6 Made SPICE netlist elements case insensitive in LVS scripts 2021-03-24 22:11:15 +01:00
Matthias Koefferlein 3777d311af typos fixed, doc update 2021-03-24 00:07:16 +01:00
Matthias Koefferlein b8be13e2e6 Fixed a potential crash in the netlist browser 2021-03-23 22:55:30 +01:00
Matthias Koefferlein fa1719acc3 Avoid a deadlock in the logger system 2021-03-23 22:45:45 +01:00
Matthias Koefferlein 1ae109f90d DRC: deep mode region input does not flatten the layout on clip 2021-03-21 23:54:13 +01:00
Matthias Koefferlein 866ee9bd81 DRC: tiling mode with global transformation, debug + tested 2021-03-21 23:27:42 +01:00
Matthias Koefferlein afdc50d05a Global transformations for DRC and RecursiveShapeIterator 2021-03-21 23:09:09 +01:00
Matthias Koefferlein 536681f5e1 Small, but important bugfix: sometimes, the layout view got stuck in 'disable edits' mode which could only be left by closing the view. 2021-03-16 23:43:04 +01:00
Matthias Koefferlein 9fbc39a827 Fixed a segfault happening when closing a layout tab. 2021-03-16 23:35:24 +01:00
Matthias Koefferlein 3bd63e4b80 Qt4 compatibility 2021-03-15 18:23:34 +01:00
Matthias Koefferlein d9686c1f77 Added one more LVS test 2021-03-15 17:18:30 +01:00
Matthias Koefferlein 1495d9521c Tests updated. 2021-03-15 16:51:56 +01:00
Matthias Koefferlein b8677f650b Supply event processing from log events also if an abstract progress is used 2021-03-15 16:04:58 +01:00
Matthias Koefferlein 738e830c8d Important bug fix for LVS
It's very important for LVS to use the same compare delegates
for layout and schematic. Otherwise the sorting of the devices
won't be identical and fake mismatches will occure.
This is achieved in a bit hacky way to imposing the layout
compare delegates to the schematic netlist.
2021-03-15 15:40:02 +01:00
Matthias Koefferlein af4395e9a8 doc fixes. 2021-03-15 10:42:46 +01:00
Matthias Koefferlein a8f3df7aa5 Refactoring of the interpreter scheme with the goal to provide a functional cleanup. This is required if someone stops inside the debugger. Without a proper cleanup the application becomes dysfunctional. 2021-03-15 10:17:25 +01:00
Matthias Koefferlein f2b1661647 Merge branch 'drc-enhancements', remote-tracking branch 'origin' into lvs-debug 2021-03-14 23:52:03 +01:00
Matthias Koefferlein fea594ff69 Unit tests modified because of interface change for netlist comparer 2021-03-14 23:51:20 +01:00
Matthias Koefferlein 3845658319 Typo fixed. 2021-03-14 20:44:01 +01:00
Matthias Koefferlein 98c2db34e9 Another bugfix to cover the case of non-sequential pin IDs 2021-03-14 19:51:15 +01:00
Matthias Koefferlein 19741c9fb2 Bufix: LVS browser crashed on 'unload' and 'unload all' 2021-03-14 19:30:55 +01:00
Matthias Koefferlein 7bd9e8dc1b Bugfix: with BJT3 and BJT4 included, the extracted .lvsdb file could not be read back. 2021-03-14 18:40:16 +01:00
Matthias Koefferlein 4549da561b Better information in LVS report - at least for skipped circuits for now. 2021-03-14 18:21:32 +01:00
Matthias Koefferlein bb9ae20c32 Rework of the progress reporting scheme: LVS got a log now, the layout is horizontal for multiple progress objects, less flicker and more quiet display, cancel function should work more reliably now. 2021-03-14 16:25:56 +01:00
Matthias Köfferlein 34109c6096
Merge pull request #741 from KLayout/new-layout-with-layer
Implemented new layout dialog with intial layers
2021-03-14 12:28:11 +01:00
Matthias Köfferlein 184f2bee50
Smooth bug (#740)
* Smoothing function: provide ability to keep horizontal/vertical lines (important for cut lines)

* Introducting API compatibility macros for generic plugins.
2021-03-14 12:27:36 +01:00
Matthias Koefferlein 518145fd3e Fixed a crash in the netlist browser (pending highlights while netlist has been changed) 2021-03-14 10:01:51 +01:00
Matthias Koefferlein 67a1b3a99f WIP: fill + DRC, experimental. 2021-03-14 02:40:12 +01:00
Matthias Koefferlein c8f4c83c53 Fill tool enhancement (GSI, db): glue box for fill cell array compatibility in tiling processor. 2021-03-13 18:01:43 +01:00
Matthias Koefferlein c43cff0e43 UI cleanup. 2021-03-13 18:01:19 +01:00
Matthias Koefferlein 1b4eb1d401 Reworked fill_cell GSI integration (using defaults rather than variants, doc fixes) 2021-03-13 10:36:01 +01:00
Matthias Koefferlein f03f745ed8 Using a 'final' progress in the tiling processor to stop child progress objects from showing. 2021-03-13 10:35:26 +01:00
Matthias Koefferlein 1aa595560e Some refactoring 2021-03-13 10:34:48 +01:00
Matthias Koefferlein 3378a9a7ce 'final' progress objects: will prevent child progress objects from showing too. 2021-03-13 10:12:53 +01:00
Matthias Koefferlein 7c4c928632 Sync mode for tiling progress enhanced - with progress now. 2021-03-13 10:12:01 +01:00
Matthias Koefferlein f323c830d7 Enhancements for sync mode in threaded workers: allows providing progress too. 2021-03-13 10:11:27 +01:00
Matthias Koefferlein 9e474e4cc2 Provide more information for GSI error messages. 2021-03-13 00:15:05 +01:00
Matthias Koefferlein fd01328659 Fixed Expressions error message for multi-line expressions. 2021-03-12 23:18:23 +01:00
Matthias Koefferlein f2d106651b Reworked the fill scheme for better support of skewed fill repetitions. 2021-03-11 21:27:49 +01:00
Matthias Koefferlein 7d53f6d454 WIP. 2021-03-10 00:43:08 +01:00
Matthias Koefferlein d4f641bff8 WIP. 2021-03-09 23:45:53 +01:00
Matthias Koefferlein 7bd4a692d8 WIP 2021-03-08 20:45:52 +01:00
Matthias Koefferlein 9e3183250f Fixed some flaws in the layer list
- sometimes, layers which were supposed to be hidden were still shown
  (e.g. after paste, "add other layer views" etc.)
- sometimes, layers were only partially hightlighted due to invalid
  persistent model indexes.
2021-03-07 22:20:28 +01:00
Matthias Koefferlein a7c263bc98 Fixed an uninitialized member. 2021-03-07 22:20:18 +01:00
Matthias Koefferlein 175fde2562 Enabled shortcuts for actions in macro editor widget
For example, Ctrl+S was captured by the editor rather than forwarded to the
action.
2021-03-07 22:19:23 +01:00
Matthias Koefferlein d76fc02244 Fixed a memory corruption issue in db::rasterize 2021-03-07 11:26:54 +01:00
Matthias Koefferlein 6e6ce998aa Refactoring, preparing script generation. 2021-03-06 19:38:19 +01:00
Matthias Koefferlein 637968cbc4 Centering of bounding box in fill tool - this allows using step vectors alone without a boundary layer 2021-03-06 00:31:05 +01:00
Matthias Koefferlein 07966baf71 First draft of fill dialog with enhancements 2021-03-05 18:20:45 +01:00
Matthias Koefferlein 0d04937c91 Added tests for fill tool 2021-03-05 16:27:57 +01:00
Matthias Koefferlein dbeee1531e Matrix2d and Matrix3d generalized for integer coordinates, added transformation methods for polygons, regions, boxes, edges, etc. Fill enhancements basically implemented. Needs testing. 2021-03-05 15:31:40 +01:00
Matthias Koefferlein beefaf40f5 Added test to discover that the issue is already fixed. 2021-03-04 23:21:50 +01:00
Matthias Koefferlein 3a9a7e81fb Implemented new layout dialog with intial layers
Plus small enhancements: the first layer will be selected
initially, so you can starting drawing immediately.
2021-03-04 23:11:54 +01:00
Matthias Koefferlein 0ca3484e98 Fixed #739 (display bug) 2021-03-04 22:00:46 +01:00
Matthias Koefferlein 9cb7c2cc2a Fixed a build issue without HAVE_QT_XML 2021-03-03 00:15:12 +01:00
Matthias Koefferlein 687059525c Fine-grained Qt module selection for Qt binding and disabling of view_25d plugin without OpenGL 2021-03-02 23:28:35 +01:00
Matthias Koefferlein 44baeea362 Disable view25d plugin if OpenGL is not enabled. 2021-03-02 22:01:08 +01:00
Matthias Koefferlein a904aabcce Fixed DRC logging. 2021-03-01 22:35:04 +01:00
Matthias Koefferlein e639c30570 split_* operations in DRC (interacting/non_interacting in one step), doc, tests. 2021-03-01 21:04:57 +01:00
Matthias Koefferlein 570c79e446 gsi binding, DRC binding of split_... region functions. 2021-03-01 00:47:00 +01:00
Matthias Koefferlein 98eebe25ad gsi binding of split interaction functions. 2021-03-01 00:25:50 +01:00
Matthias Koefferlein c5788f3621 Fix: clone() is good :) 2021-03-01 00:09:13 +01:00
Matthias Koefferlein 6f8e981504 Merge branch 'master' into drc-enhancements 2021-02-28 23:31:14 +01:00
Matthias Koefferlein 2a9564856b Fixed Qt-binding less builds 2021-02-28 23:31:06 +01:00
Matthias Koefferlein 8c6b231ae6 First steps towards differential interaction functions 2021-02-28 23:22:44 +01:00
Matthias Koefferlein aad393d7c9 DRC density check: updated doc, added tile_count option 2021-02-28 18:46:14 +01:00
Matthias Koefferlein cfc86ad62f Implemented density check: 'with_density', 'without_density' 2021-02-28 18:21:05 +01:00
Matthias Koefferlein 77356cd877 More unit test stability 2021-02-27 21:31:32 +01:00
Matthias Koefferlein be5714607f Added a build dependency for safer building 2021-02-27 19:08:43 +01:00
Matthias Koefferlein 33ae3b0239 Added a build system option to enable/disable uitools support as some distributions do not support that 2021-02-27 18:03:37 +01:00
Matthias Koefferlein 66199958a5 Stupid typo fixed 2021-02-27 00:02:09 +01:00
Matthias Koefferlein 9350b33bcb Squashed commit of the following:
commit 2a8a2d228d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date:   Fri Feb 26 23:54:08 2021 +0100

    One more fix.

commit 8c4d76505c
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date:   Fri Feb 26 23:03:07 2021 +0100

    More patches for uitools-less build for CentOS 8

commit 2ac28292b8
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date:   Fri Feb 26 22:52:27 2021 +0100

    First steps for fixing build on CentOS 8 without uitools
2021-02-26 23:59:23 +01:00
Matthias Koefferlein f993c0397d A linker issue fixed on Windows. 2021-02-25 23:08:42 +01:00
Matthias Koefferlein 68e1284c93 Fixed #728 2021-02-25 22:03:41 +01:00
Matthias Köfferlein b968f2b47f
#730: providing a new Qt module named QtUiTools for QUiLoader class s… (#735)
* #730: providing a new Qt module named QtUiTools for QUiLoader class support.

* Fixed a compile error on Mac

* Added QtUiTools to some more places

* Fixed a linker issue in the QtUiTools Python lib

* On occasion fixed a infinite recursion problem in the debugger

The recursion happened because by mistake I instantiated a
QApplication inside an in-application Python script. This
crashed the debugger due to infinite recursion. This is not
a real use case but to prevent similar issues, a recursion
sentinel was added.

* Removed QCoreApplication#notify from script bindings

Reasoning: "notify" made standalone scripts using QApplication and
QUiLoader virtually impossible.

Problem description:
- When a QApplication object is instantiated, e.g. in Python, the Qt binding
  will install reimplementation hooks as the object may be dynamically
  extended.
- A notify is virtual this means the *every* "notify" call in the application
  is routed through the interpreter.
- For one thing this will slow down the application
- But as "notify" is called a zillion times this has more than this side effect.
- Specifically "notify" is called from within the QWidget constructor to
  indicate a new widget. Then, if a QDialog for example is instatiated, it's
  base class constructor will call "notify" when the object isn't ready yet.
- This has another severe side effect: as the object isn't ready yet, it gets
  registered in the Python space with the wrong class and QDialog is not visible
  as such.

To mitigate these problems, the most efficient solution is to disable "notify"
in general. There is hardly any use case in a script environment (in C++,
apart from hacking the only reasonable use case is exception handling, but
this does not apply to scripts). For providing the call functionality of
"notify" you should better use "postEvent" or "sendEvent" anyway.

So farewell QCoreApplication.notify ...

* Fixed python test for QtUiTools module

* Fixed UiTools test on Qt4 - QUiLoader needs an application object

Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
Matthias Köfferlein 8b2ecf41df
Fixed issue by providing a compatibility bridge between tl::Stream (abstract paths) and tl::URI (#734) 2021-02-25 21:28:48 +01:00
Matthias Köfferlein 483f67307c
Merge pull request #732 from KLayout/lefdef-enhancements
Lefdef enhancements
2021-02-25 21:28:02 +01:00
Matthias Köfferlein 82587e70c3
Merge pull request #731 from KLayout/recursive-inst-iterator
Recursive inst iterator
2021-02-25 21:27:41 +01:00
Matthias Köfferlein 9d5636a89d
Merge pull request #729 from KLayout/search-improvements
Search improvements
2021-02-25 21:27:25 +01:00
Matthias Köfferlein c28451ed88
Merge pull request #727 from KLayout/drc-enhancements
Drc enhancements
2021-02-25 21:27:06 +01:00
Matthias Koefferlein f700b3e056 Linker issue solved 2021-02-21 23:18:57 +01:00
Matthias Koefferlein 835133854c Qt4 compatibility, some enhancement of macro IDE completer 2021-02-21 22:42:52 +01:00
Matthias Koefferlein 9074c918bb Fixed a linker name clash. 2021-02-21 22:11:33 +01:00
Matthias Koefferlein fea33b284e Qt4 compatibility. 2021-02-21 21:55:36 +01:00
Matthias Koefferlein 3db1db831f Test update after update of LEF/DEF reader. 2021-02-21 21:23:45 +01:00
Matthias Koefferlein fe2d4eb570 Bugfix: LEF/DEF FILLS options were not active in buddy scripts. 2021-02-21 21:07:13 +01:00
Matthias Koefferlein eda1992a7d Added VIA size selectors for LEF/DEF .map files. 2021-02-21 21:00:55 +01:00
Matthias Koefferlein 898dbf07e9 Implemented FILLS support for LEF/DEF 2021-02-21 18:27:25 +01:00
Matthias Koefferlein 96e3570c6d LEF/DEF: preparations for FILLS support, UI rearrangement. 2021-02-21 17:28:58 +01:00
Matthias Koefferlein 2168a72b9d Technology changed event for CellView 2021-02-21 09:12:13 +01:00
Matthias Koefferlein b31a64b367 Formulas for 'goto position' dialog. 2021-02-21 08:45:54 +01:00
Matthias Koefferlein b1fc6008d9 WIP: better progress when reading OASIS irregular repetitions. 2021-02-21 08:36:45 +01:00
Matthias Koefferlein 0f4a10441d RecursiveInstanceIterator: Doc fixes, tests, instance array iteration. 2021-02-20 22:17:43 +01:00
Matthias Koefferlein a1bae225e3 Recursive instance iterator, tests 2021-02-20 17:50:32 +01:00
Matthias Koefferlein ca11f0799a Recursive instance iterator, selection of target cells. 2021-02-20 01:09:17 +01:00
Matthias Koefferlein 0f47ff68a5 Recursive instance iterator, debugging. 2021-02-20 01:03:05 +01:00
Matthias Koefferlein 6527d29f8f Recursive instance iterator, debugging. 2021-02-20 00:48:07 +01:00
Matthias Koefferlein 412056afed Recursive instance iterator, first draft. 2021-02-20 00:40:05 +01:00
Matthias Koefferlein effa8027cc Implemented completer for macro editor. 2021-02-14 23:12:50 +01:00
Matthias Koefferlein 16f6174ad9 'apply as filter' for search feature in libraries view too 2021-02-14 21:07:36 +01:00
Matthias Koefferlein 92d36868bb Enhancements to search and replace in macro editor. 2021-02-13 19:13:22 +01:00
Matthias Koefferlein 0f8dc9ac13 Improvements on layer list search and filtering 2021-02-13 09:51:28 +01:00
Matthias Koefferlein 71f64f5f63 Bugfixed search function for cells. 2021-02-12 23:46:57 +01:00
Matthias Koefferlein c64dad0b3a Bugfix, crash on switching to flat cell list 2021-02-12 01:20:38 +01:00
Matthias Koefferlein 423dddae62 Bug fixes on cell name search feature. 2021-02-12 00:44:31 +01:00
Matthias Koefferlein 71a7326fe9 Enhancements to cell name search feature. Needs more debugging. 2021-02-10 00:17:01 +01:00
Matthias Koefferlein b3685c6722 Implemented with_holes for generic DRC too 2021-02-08 21:29:41 +01:00
Matthias Koefferlein a9fa5d73f9 Introducing 'with_holes' and 'without_holes' in DRC and RBA::Region. 2021-02-08 20:59:17 +01:00
Matthias Koefferlein 94e6f0f7a6 Logging progress for DRC, introducing 'abstract progress' concept 2021-02-07 23:41:53 +01:00
Matthias Koefferlein 620776fe51 Provide better log output for region 2021-02-07 19:15:47 +01:00
Matthias Koefferlein b97413234a trying to provide a log along with progress 2021-02-07 19:14:20 +01:00
Matthias Köfferlein d8c0ea806a
Issue 723 fixed. (#724)
* Fixed a segfault with simple 'klayout -v'

* Fixed #723
2021-02-05 23:28:22 +01:00
Matthias Köfferlein e31d7afb64
Reduce risk of DRC polygon split artefacts in deep mode (#722)
* Fixed a segfault with simple 'klayout -v'

* is_halfmanhattan polygon predicate, confine polygon splitting to halfmanhattan

Splitting any-angle polygons for area reduction in the
deep processor creates a risk of introducing grid-snap
artefacts. Hence we avoid this.
2021-02-05 23:28:04 +01:00
Matthias Köfferlein c837b306be
Issue 720 (#721)
* Implemented a backup scheme for the file writer.

* Also consider backup files when the writer fails.

* Removed test exception

* Added config option for number of backups.
2021-02-02 22:47:25 +01:00
Matthias Koefferlein 8e7d571c2c Removed inclusion of APPDATA into search path on Windows - this was pulling DLLs from other installations. 2021-02-02 22:31:22 +01:00
Matthias 47777b7eba Fixed crash in WebDAV access test observed on MacOS, but probably also relevant for other platforms. 2021-02-02 19:53:55 +01:00
Matthias Koefferlein fc4976be81 Remove test code 2021-02-01 22:01:29 +01:00
Matthias Koefferlein fdbf26f184 Merge branch 'master' of github.com:KLayout/klayout 2021-01-31 21:49:32 +01:00
Matthias Koefferlein 036e9f7d6b Yet another fix for Windows build. 2021-01-31 21:49:20 +01:00
Matthias Koefferlein d10165928f Trying to fix Windows build. 2021-01-31 20:21:14 +01:00
Matthias Köfferlein 4134829304
Issue 718 (#719)
* WIP: first part of fix - generation of hole cutlines

First problem was that hole cutlines got extended
over the whole length and sometimes lead to coincident
edges which are difficult to resolve for the polygon
cutter.

* Refined solution, fixed #718

- disabled elaborate hole insertion procedure for now as the
  performance impact has to be assessed yet and the new scheme
  will break many tests
- stricter rejection of ambiguous configurations in the polygon cutter
- fallback is boolean AND now since there is no need to re-invoke the
  polygon cutter (we can't do so as we made it more strict).
  Performance-wise we replace a merge by an AND step which may even be
  faster the output is smaller and the polygon cutter does not need
  to be re-invoked.

* Compatibility with other STLs
2021-01-31 19:21:15 +01:00
Matthias Köfferlein 10eee4d895
Fixed #709. (#714) 2021-01-31 19:21:00 +01:00
Matthias Köfferlein 97ed4cf0f2
Merge pull request #712 from KLayout/gsi-fixes
Some enhancements to script API
2021-01-31 19:20:35 +01:00
Matthias Koefferlein f263f5c44c Compatibility with older Ruby and Python versions in unit tests. 2021-01-31 17:14:21 +00:00
Matthias Koefferlein f1d2f39031 Added signal-safe sleep function which does not return when a timer signal happens. Fixes some random fails in the test suite. 2021-01-31 16:20:16 +01:00
Matthias Koefferlein 290d393126 Fixed another link issue on Windows 2021-01-27 21:42:43 +01:00
Matthias Koefferlein 1cdcf546f8 Fixed linker issue on Windows. 2021-01-27 12:54:25 +01:00
Matthias Koefferlein cdb62cc111 Merge branch 'master' into gsi-fixes 2021-01-27 12:46:34 +01:00
Matthias Köfferlein 1ba4394c2a
Merge pull request #710 from KLayout/byte-arrays
Byte arrays
2021-01-27 12:42:48 +01:00
Matthias Koefferlein 96136e6993 Fixed Qt-less builds. 2021-01-27 08:05:02 +01:00
Matthias Koefferlein dce371caaa Fixed Qt-less builds. 2021-01-26 23:42:18 +01:00
Matthias Köfferlein bd41f7222d
Merge pull request #706 from KLayout/spline-as-api
Generalized spline interpolation of DXF reader
2021-01-26 23:39:51 +01:00
Matthias Koefferlein c7113b8c72 Added methods to manipulate key bindings and menu visibility through scripts (MainWindow#set_key_bindings, MainWindow#get_key_bindings, MainWindow#set_menu_items_hidden ...) 2021-01-26 23:10:26 +01:00
Matthias Koefferlein 6a23769387 Different integration of Dispatcher interface with MainWindow
In 0.27 the main window got it's own configuration API
as now it's possible to instantiate a main window explicitly
and not application backs up configuration. Because GSI allows
as single base class only, we cannot derive from Dispatcher.
A delegate is used instead.
2021-01-26 07:56:49 +01:00
Matthias Koefferlein 702852a8a9 Merge branch 'master' of github.com:KLayout/klayout into byte-arrays 2021-01-25 08:11:53 +01:00
Matthias Koefferlein 885c52eeeb Stupid bug fixed 2021-01-25 08:10:47 +01:00
Matthias Koefferlein 204cb7ec3f Fixed build with curl 2021-01-25 08:05:16 +01:00
Matthias Koefferlein 199602424a Merge branch 'master' of github.com:KLayout/klayout into byte-arrays 2021-01-24 23:52:56 +01:00
Matthias Koefferlein d31f87f053 Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added. 2021-01-24 23:44:40 +01:00
Matthias Koefferlein 245bf93429 Some build fixes to enable basic compilation on CentOS6 2021-01-24 17:37:46 +00:00
Matthias Koefferlein 5aac018503 Mapping QByteArray (and std::vector<char>) to Python 'bytes' now. 2021-01-24 17:36:40 +01:00
Matthias Koefferlein c309961109 More verbose debugging for HTTP requests. 2021-01-23 22:27:53 +01:00
Matthias Koefferlein d1e6845ae4 Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated 2021-01-23 21:55:51 +01:00
Matthias Koefferlein a1ace443f7 Added LayoutView#close 2021-01-23 20:56:00 +01:00
Matthias Koefferlein fdd5671602 Attempt to solve WebDAV redirection issue on Windows. 2021-01-23 20:40:25 +01:00
Matthias Koefferlein 372a42e84a Renamed test files so that debugger doesn't get confused 2021-01-23 20:40:10 +01:00
Matthias Koefferlein c8951c10cd Generalized spline interpolation of DXF reader and provide a script binding (RBA::Utils). 2021-01-23 18:44:36 +01:00
Matthias Koefferlein d7986c4849 Merge branch 'master' into opengl-fix 2021-01-23 16:22:56 +01:00
Matthias Koefferlein 1a3675956e Ported to OpenGL 3.2 for Windows compatibility. 2021-01-23 15:54:02 +01:00
Matthias Köfferlein 41094ab839
Fixed #704 (DXF reader: rational splines not supported) (#705)
* Fixed issue #704. TODO: replace algorithm by De Boor, check if accuracy is still maintained.

* Switch spline interpolation algorithm to De Boor for better numerical stability.

* Updated tests with DXF accuracy test, provide a warning for unsupported SPLINE types.
2021-01-21 07:48:08 +01:00
Matthias Koefferlein dc40f9a885 Trying to fix OpenGL compatibility issue. 2021-01-20 22:25:16 +01:00
Matthias Koefferlein 618e1134c4 More robustness against test variations on different platforms. 2021-01-19 22:23:02 +01:00
Matthias Koefferlein 63d19bdb4c More robustness against test variations on different platforms. 2021-01-19 21:49:38 +01:00
Matthias Koefferlein 73485a5061 More robustness against differences on different platforms. 2021-01-19 20:36:25 +01:00
Matthias Koefferlein 11e9f89fc2 Introduced normalization into region/edges/edge pairs/texts tests to get rid of platform dependency because of unordered_set implementation details. 2021-01-19 08:03:42 +01:00
Matthias Koefferlein 3677a36804 Made region tests less susceptible to 'unordered_set' implementation details. 2021-01-19 01:26:20 +01:00
Matthias Koefferlein c184a8a5fb Merge branch 'master' of github.com:KLayout/klayout 2021-01-18 21:36:59 +01:00
Matthias Koefferlein 9b275d85a6 More stable hash function (the previous one was too sparse for small coordinates). Test updates for this reason. 2021-01-18 20:26:03 +01:00
Matthias Koefferlein 757543ec48 Fixed a build issue with 64bit coordinates. 2021-01-18 20:25:40 +01:00
Matthias Köfferlein f32901407c Fixed Windows build 2021-01-18 12:30:05 +01:00
Matthias Koefferlein 9a7b2babc0 Fixed Windows build 2021-01-17 23:50:42 +01:00
Matthias Koefferlein 19ecf8866c Fixed Windows build 2021-01-17 23:41:51 +01:00
Matthias Koefferlein 5b60e2be90 Fixed Windows build 2021-01-17 23:35:22 +01:00
Matthias Koefferlein e1312d7a0c Merge branch 'master' of github.com:KLayout/klayout into complex_drc_ops 2021-01-17 22:45:40 +01:00
Matthias Köfferlein a026da9bf8
Merge pull request #699 from KLayout/oas-reader-issue
Fixed an issue with the OASIS reader (unused cells popped up as dummy…
2021-01-17 22:45:01 +01:00
Matthias Koefferlein 081c445cd8 Merge branch 'master' into complex_drc_ops 2021-01-17 19:55:28 +01:00
Matthias Koefferlein e3773be7dc Updated tests and provide 'lesser' and 'greater' edge pair extraction operator. 2021-01-17 19:55:21 +01:00
Matthias Koefferlein 9cf0a9e659 Major enhancements for DRC feature (universal DRC)
Main issue: universal DRC scheme and rectangle filtering/opposite filtering/shielding.

The space function required some enhancements to accomodate symmetric interactions.
Now there are symmetric edge pairs. Space initially runs twofold (primary to foreign)
but produces symmetric edge pairs. These are filtered later unless converted before.
2021-01-17 19:26:22 +01:00
Matthias Koefferlein fd90e66ee1 WIP (shielding, various bug fixes) 2021-01-17 14:38:44 +01:00
Matthias Koefferlein 9a55bdc687 Fixed caching implementation of complex DRC ops. 2021-01-16 20:34:15 +01:00
Matthias Koefferlein c66a19ba42 More consistent progress reporting for complex ops. 2021-01-16 19:01:45 +01:00
Matthias Koefferlein 80e033c618 Fixed shielded implementation for DRC 2021-01-16 18:09:26 +01:00
Matthias Koefferlein 758861226f Doc updates 2021-01-16 18:08:44 +01:00
Matthias Koefferlein ed73046c13 Allow flatten for non-editable layouts too 2021-01-16 18:08:23 +01:00
Matthias Koefferlein d5f18ca1c1 Spelling fixed. 2021-01-16 11:13:17 +01:00
Matthias Koefferlein f0ad373248 Build errors fixed. 2021-01-16 10:31:08 +01:00
Matthias Koefferlein 3732e0428e Build errors fixed. 2021-01-16 10:12:48 +01:00
Matthias Koefferlein 785bc0b6e5 Build error fixed, test cases updated. 2021-01-16 10:09:07 +01:00
Matthias Koefferlein 4460c294b0 Some bug fixes, doc update, test updates. 2021-01-16 00:32:06 +01:00
Matthias Koefferlein 111b49f0ef Updated DRC documentation 2021-01-15 19:01:32 +01:00
Matthias Koefferlein bbd511bc8b Added some tests for 'switch', small bug fix. 2021-01-15 17:32:39 +01:00
Matthias Koefferlein ec88362eca Doc updates 2021-01-15 00:56:17 +01:00
Matthias Koefferlein 8051bef9ac Doc update, fixed DRC's 'switch' function 2021-01-15 00:31:26 +01:00
Matthias Koefferlein 80996a77fb New *_sum quantifiers, doc enhancements, bug fixing 2021-01-14 00:21:21 +01:00
Matthias Koefferlein 80d0229b7c More intuitive DRC specification of 'projection_limits' with 'projecting' and a condition 2021-01-13 15:58:55 +01:00
Matthias Koefferlein c5859cd957 Tests for new DRC features (square, new attiribute tests) 2021-01-13 13:35:37 +01:00
Matthias Koefferlein a8f08bffac WIP: new ratio filters, squares for DRC 2021-01-13 02:12:33 +01:00
Matthias Koefferlein dce22fee37 New region filters (square, area ratio, relative height) 2021-01-13 01:08:42 +01:00
Matthias Koefferlein ae29c75326 WIP: documentation, local merging of polygon for interact, covering .. 2021-01-12 01:08:12 +01:00
Matthias Koefferlein aefc3153fe Doc update. 2021-01-10 21:47:43 +01:00
Matthias Koefferlein f3f196cfb3 Doc update, implemented != for DRC operations. 2021-01-10 21:36:58 +01:00
Matthias Koefferlein 2951bf424c Updated doc. 2021-01-10 20:20:33 +01:00
Matthias Koefferlein 383f72eb09 Added missing files, tests for angle and length (universal DRC), some clarifications and bug fixes. 2021-01-10 20:18:06 +01:00
Matthias Koefferlein 0a7ca69da2 Some refactoring (angle check), angle check and length check for universal DRC, tests, bug fixes. 2021-01-10 19:54:16 +01:00
Matthias Koefferlein 158ea196ec WIP: more tests, bug fixes, new feature: deep_reject_odd_polygons, odd_polygons check disabled in deep mode 2021-01-10 18:46:01 +01:00
Matthias Koefferlein c24568b510 Added more tests, debugging. 2021-01-10 09:02:41 +01:00
Matthias Koefferlein 168b41c119 WIP: new tests for complex DRC ops. 2021-01-09 23:38:53 +01:00
Matthias Koefferlein 858c78729f More tests for complex DRC 2021-01-09 23:23:50 +01:00
Matthias Koefferlein ddf36290fa Corner detection feature: tests, bug fixes, enhancements (inclusive/exclusive angle constraints) 2021-01-09 23:10:17 +01:00
Matthias Koefferlein bc63f98622 WIP: more tests on complex DRC ops 2021-01-09 18:40:32 +01:00
Matthias Koefferlein 6f93ff616f More tests, bug fixes. 2021-01-09 17:50:39 +01:00
Matthias Koefferlein b15e7f2b9f WIP: proper integration of complex DRC ops in DRC framework 2021-01-09 16:37:16 +01:00
Matthias Koefferlein 7093dfd0eb WIP: bug fixes, more tests for complex DRC 2021-01-09 15:56:55 +01:00
Matthias Koefferlein d1868a4b23 WIP: some development, bugfixing on DRC implementation - mainly about correct opposite filter operation 2021-01-06 23:39:51 +01:00
Matthias Koefferlein 9c95bed67e Generic DRC: new tests, bug fixes. 2021-01-06 11:59:47 +01:00
Matthias Koefferlein 0d9ee8a70d First test for generic DRC feature 2021-01-06 09:52:24 +01:00
Matthias Koefferlein 736fe874eb Fixed an issue in the DRC doc generation (needs explicit doc for enum defaults) 2021-01-06 02:31:56 +01:00
Matthias Koefferlein c160f7f43f Documentation updates 2021-01-06 02:20:36 +01:00
Matthias Koefferlein 37d62f97e1 WIP: More documentation for complex DRC ops 2021-01-06 01:27:02 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 9812ff7901 WIP: a new concept for complex DRC - 'foreign' subjects 2021-01-05 22:49:30 +01:00
Matthias Koefferlein 6dd190e3af More compound DRC operations (join, merge, count filter) 2021-01-04 21:34:12 +01:00
Matthias Koefferlein ee082f65a0 WIP: documentation 2021-01-04 01:14:39 +01:00
Matthias Koefferlein 7f1d91f529 WIP: typo fixed 2021-01-03 23:32:24 +01:00
Matthias Koefferlein d273c2514d WIP: DRC complex ops, implementation, doc, refactoring ... 2021-01-03 19:33:14 +01:00
Matthias Koefferlein f3d8fb4a43 WIP: refactoring of DRC Ruby code 2021-01-03 19:03:30 +01:00
Matthias Koefferlein 815b81ce59 WIP: Introduced DRC negative options in GSI 2021-01-02 21:10:05 +01:00
Matthias Koefferlein 82a70bdde0 WIP: negative output of DRC functions. 2021-01-02 20:33:16 +01:00
Matthias Koefferlein 98792c55de WIP: attempt to implement negative edge output on width and space 2021-01-02 19:34:46 +01:00
Matthias Koefferlein 70ccc50b39 WIP: some refactoring to make functions available for DRC compound operations and to simplify binding 2021-01-01 23:20:11 +01:00
Matthias Koefferlein dd84e64446 Fixed an issue with the OASIS reader (unused cells popped up as dummy top levels)
This happens when OASIS declares a cell name without actually using it.
The intended behavior is to drop such cells.
2020-12-30 23:37:01 +01:00
Matthias Koefferlein cd73987b30 More consistent behavior of the preset views (front, top ...) 2020-12-28 21:13:07 +01:00
Matthias Koefferlein a0d05753ad No segfault on OpenGL initialization failure but nice error screen. 2020-12-28 00:09:27 +01:00
Matthias Köfferlein 70dcc92640
Merge pull request #694 from KLayout/issue-693
Fixed #693: URI relative path resolution if the first URI is empty.
2020-12-27 21:23:40 +01:00
Matthias Koefferlein cdcac6f5d3 WIP: copy-on-write for FlatRegion and FlatEdges too 2020-12-27 19:19:09 +01:00
Matthias Koefferlein cc58d7d8ee WIP: performance improvement: copy-on-write for flat edge pairs 2020-12-27 18:45:10 +01:00
Matthias Koefferlein 4ec00fb129 Fixed an issue with wrapping new objects into tl::Variants which are returned directly. For these objects, ownership needs to be transferred to the script. 2020-12-27 17:09:06 +01:00
Matthias Koefferlein 1026d197cb WIP: Some optimization of check functions 2020-12-27 01:05:55 +01:00
Matthias Koefferlein 3f8113e404 WIP: Updated some test, debugging 2020-12-26 23:55:50 +01:00
Matthias Koefferlein dcaa0d0ea5 WIP: deep mode and complex DRC ops, debugging 2020-12-26 21:11:22 +01:00
Matthias Koefferlein 493024734d WIP: more tests enabled for deep mode 2020-12-26 20:48:11 +01:00
Matthias Koefferlein 1bb04c711c WIP: more tests enabled for deep mode too. 2020-12-26 19:55:42 +01:00
Matthias Koefferlein afc9fc9c7a WIP: Bugfixed deep processor (multi-input mode and input layer index), added tests 2020-12-26 19:43:51 +01:00
Matthias Koefferlein dc80ed77b1 WIP: region/edge booleans, more tests, debugging 2020-12-26 17:48:53 +01:00
Matthias Koefferlein 9b4f65bab4 Typo fixed 2020-12-26 17:18:23 +01:00
Matthias Koefferlein 953bee4790 WIP: more tests, debugging 2020-12-26 17:17:43 +01:00
Matthias Koefferlein 8d6dd23850 WIP: more tests, debugging 2020-12-26 17:06:44 +01:00
Matthias Koefferlein cc6ad01529 WIP: more tests, debugging 2020-12-26 16:04:35 +01:00
Matthias Koefferlein 00a7021a30 WIP: more tests, debugging. 2020-12-26 15:41:20 +01:00
Matthias Koefferlein 3707fae3c2 WIP: more tests, debugging 2020-12-26 14:58:07 +01:00
Matthias Koefferlein 9c6e0129d9 WIP: debugging, test case for compound booleans 2020-12-26 00:06:49 +01:00
Matthias Koefferlein 80509c64e5 WIP: generalization of EdgePair/Edge/Polgyon processors, chained operations in compound ops. 2020-12-25 18:03:57 +01:00
Matthias Koefferlein 19508f96e9 WIP: debugging 2020-12-25 16:27:24 +01:00
Matthias Koefferlein 4974a81af6 WIP: debugging 2020-12-25 15:00:52 +01:00
Matthias Koefferlein 46a4178010 More elaborate handling of selection changed events in LayoutView (avoids dummy events) and some more GSI methods for manipulating or checking selections. 2020-12-24 17:57:01 +01:00
Matthias Koefferlein 0fbfa4dfde Fixed URI relative path resolution if the first URI is empty. 2020-12-23 23:33:11 +01:00
Matthias Koefferlein 45a8f7aa20 Merge branch 'master' into complex_drc_ops 2020-12-20 23:50:54 +01:00
Matthias Koefferlein ca1ec353fb Some fixes for the technology feature
- Fixed some potential segfaults due to invalid layout object
- More consistent handling of potential technology switch due to
  active cellview change
2020-12-20 23:49:29 +01:00
Matthias Koefferlein 1c6ffb4086 Fixed unit tests. 2020-12-20 21:45:55 +01:00
Matthias Koefferlein db19e92083 Fixed some merge issues. 2020-12-20 20:53:43 +01:00
Matthias Koefferlein 9290bb7154 Fixed a merge conflict 2020-12-20 19:27:54 +01:00
Matthias Koefferlein cfe38aab42 Merge branch 'lefdef' 2020-12-20 19:26:51 +01:00
Matthias Koefferlein 866ac7ec76 Merge branch 'issue-691' 2020-12-20 19:25:31 +01:00
Matthias Koefferlein 4213f44d72 More robustness against configuration corruption. 2020-12-20 17:58:37 +01:00
Matthias Koefferlein 5a828b4c8f WIP: code cleanup 2020-12-20 17:57:34 +01:00
Matthias Koefferlein ee47a1e087 Fixed the manager's 'cancel' implementation: with this, redo of a cancelled operation isn't possible any more 2020-12-20 00:42:17 +01:00
Matthias Koefferlein 4b8577a89b Temporary compatibility with lefdef branch - remove when this branch is merged. 2020-12-20 00:35:23 +01:00
Matthias Koefferlein b6f710a9fe WIP: Fixed DXF reader 2020-12-19 23:37:37 +01:00
Matthias Koefferlein 953367f3c1 Multi-mapping for layer map files for LEF/DEF reader 2020-12-19 22:11:23 +01:00
Matthias Koefferlein 9688da9ffd WIP: test for multimapping in LEF/DEF 2020-12-19 21:28:22 +01:00
Matthias Koefferlein d4b5dab0db WIP: bugfix. 2020-12-19 20:35:58 +01:00
Matthias Koefferlein 8cc75438b0 WIP: LEF/DEF multi-mapping. 2020-12-19 19:42:40 +01:00
Matthias Koefferlein 2b61b48164 WIP: multi-mapping for named layer readers, bugfix for GDS/OASIS 2020-12-19 18:25:53 +01:00
Matthias Koefferlein 02f96f022a WIP: added brackets for clarity in mapping expressions. 2020-12-19 16:37:58 +01:00
Matthias Koefferlein a1eb8c121b WIP: implementation for GDS2 and OASIS, added tests. 2020-12-19 15:36:03 +01:00
Matthias Koefferlein f86c13689b WIP: some refactoring to simplify multi-mapping implementation 2020-12-19 13:21:33 +01:00
Matthias Koefferlein dda2724d0c WIP: Documentation, mapping file option for buddy scripts. 2020-12-19 01:37:38 +01:00
Matthias Koefferlein 3fbfb20727 WIP: shorter mapping strings. 2020-12-19 00:56:45 +01:00
Matthias Koefferlein 5bd1cb8bd7 WIP: making list the default for layer mapping edit widget 2020-12-16 23:54:57 +01:00
Matthias Koefferlein 0fddf7f389 WIP: text edit feature for layer mapping edit widget. 2020-12-16 23:52:58 +01:00
Matthias Koefferlein 91de370901 WIP: bugfix, RBA tests. 2020-12-16 23:02:01 +01:00
Matthias Koefferlein 3e249b0b54 WIP: More tests for layer multi-mapping 2020-12-15 23:51:01 +01:00
Matthias Koefferlein 1f635015ce WIP: backward compatible implementation of multi-map capability of layer mapping. 2020-12-15 23:05:34 +01:00
Matthias Koefferlein 7852568284 WIP 2020-12-15 18:42:43 +01:00
Matthias Koefferlein 1106a52688 WIP: first draft of implementation 2020-12-14 23:55:04 +01:00
Matthias Koefferlein b5c0193a0a LEF/DEF reader: Macro resolution mode is only effective now when reading DEF. Not when reading LEF. 2020-12-14 22:46:07 +01:00
Matthias Koefferlein 85311d414c Implemented LEF DENSITY statement properly 2020-12-14 22:20:29 +01:00
Matthias Koefferlein 6a9a024d64 Merge branch 'master' into lefdef 2020-12-14 21:38:55 +01:00
Matthias Koefferlein 11bf413cb8 Fixed the manager's 'cancel' implementation: with this, redo of a cancelled operation isn't possible any more 2020-12-13 22:13:51 +01:00
Matthias Koefferlein 92d81c5844 WIP: cold proxies are written to GDS2 and OASIS too. This means we keep the library references even if we load and save with the wrong libraries or technology. 2020-12-13 22:09:21 +01:00
Matthias Koefferlein 86e7fa56f0 WIP: undo/redo for applying a technology. 2020-12-13 22:02:19 +01:00
Matthias Koefferlein 740f550964 WIP: handling the case of entirely lost libraries. 2020-12-13 19:54:23 +01:00
Matthias Koefferlein 0fc4caace0 WIP: Libraries View follows technology now. 2020-12-13 19:39:45 +01:00
Matthias Koefferlein ab36a660fb WIP: cold references - keep reference information while libraries are not there or cells are missing. 2020-12-13 19:11:12 +01:00
Matthias Koefferlein fcf4fd74f6 WIP: bugfixing. 2020-12-13 14:13:59 +01:00
Matthias Koefferlein 78695f9c23 WIP: new technology management scheme, libraries can be tech specific, update of technology in layout updates library references 2020-12-13 12:13:21 +01:00
Matthias Koefferlein fd066127ff Merge branch 'master' into complex_drc_ops 2020-12-08 23:34:07 +01:00
Matthias Koefferlein 57a7671640 Fixed enclosing feature, added tests + DRC impl., DRC doc. 2020-12-08 22:44:33 +01:00
Matthias Koefferlein 1b26f48b13 WIP: some bug fixes 2020-12-08 00:39:07 +01:00
Matthias Koefferlein 0670e83d77 WIP: bug fixes, renamed "enclosing" to "covering" in Region/DRC.
Reasoning: "enclosing" was reserved for the DRC function.
2020-12-07 23:55:52 +01:00
Matthias Koefferlein 5934bd529f WIP: DRC 'enclosing' feature 2020-12-07 22:48:03 +01:00
Matthias Koefferlein ca388150bb Added tests for opposite and rect filter. 2020-12-06 19:03:44 +01:00
Matthias Koefferlein a833dd57fe Implemented rectangle and opposite filters for DRC functions. 2020-12-06 18:25:57 +01:00
Matthias Koefferlein 153289b5d8 WIP: rectangle error pattern filter implemented. 2020-12-06 16:33:10 +01:00
Matthias Koefferlein 6c4d1f4ef3 WIP: bugfix and tests for opposite filter for DRC 2020-12-06 10:56:56 +01:00
Matthias Koefferlein 574660174e WIP: 'not_opposite' and 'rect_filter' 2020-12-06 09:06:16 +01:00
Matthias Koefferlein 347a33024d Added a disclaimer note for the compound DRC feature. 2020-12-05 18:19:51 +01:00
Matthias Koefferlein 6ac766d68f More complete compound DRC operations. 2020-12-05 18:18:27 +01:00
Matthias Koefferlein 44aef92160 Bugfixed GSI binding of compound DRC operation nodes. 2020-12-05 17:11:01 +01:00
Matthias Koefferlein 44fd6bff11 Refactoring: bulk options structure for DRC functions. Will be easer to enhance 2020-12-05 14:14:28 +01:00
Matthias Koefferlein f14a4c6220 WIP: made compile. 2020-12-02 00:13:41 +01:00
Matthias Koefferlein bb19acead4 Bugfix: double-clicking on an object to start move brought the move service into a weird state and made the object 'jump' on the next click. 2020-12-01 23:02:18 +01:00
Matthias Koefferlein 9305861102 Bugfix (consider porting): undo triggered
Transaction::cancel was sometimes triggering an undo:
when the current transaction was empty, "commit" did just
remove it which made the subsequent undo act on the
*previous* transaction.
2020-12-01 23:00:11 +01:00
Matthias Koefferlein 63819e3292 Bugfix: Browser's HTML panel was collapsed sometimes. 2020-12-01 00:14:51 +01:00
Matthias Köfferlein 511e30ef45
Fixed #646 (crash on delete of library) (#685)
* Fixed a compiler warning

* Fixed #646 (crash on PCell Library "delete")

The issue was mainly caused by a "cleanup" call on
the library. Cleanup is supposed to remove excess
top level PCell variants. For libraries this is not
possible, as the library does not know which variants
are used and which are not.

In addition, some hardening against segfaults in
case of defect layouts has been applied.
2020-11-27 18:36:56 +01:00
Matthias Köfferlein 517903dafa
Fixed #647 (text orientation not working on search & replace) (#684)
* Fixed a compiler warning

* Fixed #647 (search & replace not working for text rotation)
2020-11-25 21:29:40 +01:00
Matthias Köfferlein 0217cf253d
Merge pull request #683 from KLayout/display_bug
Fixed display bug happening when child cells are instantiated with a …
2020-11-25 21:29:05 +01:00
Matthias Köfferlein d5f6b51092 Compatibility with Qt 4.6.x on CentOS6 2020-11-22 19:54:13 +00:00
root 62d56e3507 Fixed an issue with initialization order (found on CentOS6) 2020-11-22 19:52:58 +00:00
Matthias Koefferlein fd95dc6637 Windows build fix, Qt4 build fix. 2020-11-22 16:20:18 +01:00
Matthias Koefferlein be5fd1cd0e Fixed Windows build. 2020-11-22 15:34:22 +01:00
Matthias Koefferlein db6b3d280e Merge branch 'master' into complex_drc_ops 2020-11-22 09:31:15 +01:00
Matthias Koefferlein 95cec10105 Preparation for merge with master, fixed comments 2020-11-22 09:28:27 +01:00
Matthias Koefferlein 45664e834e Fixed a merge issue. 2020-11-22 09:12:05 +01:00
Matthias Koefferlein a7dd683d59 Fixed display bug happening when child cells are instantiated with a small magnification factor. 2020-11-21 23:38:50 +01:00
Matthias Koefferlein 96898d31d7 LEF/DEF layer map reader test case added. 2020-11-21 21:58:34 +01:00
Matthias Koefferlein 3b61255d9b Bugfix, restore previous behavior for empty tech component suffix 2020-11-21 21:06:05 +01:00
Matthias Koefferlein b0f25dd61e Fixed DEF layer mapping for compatibility with 0.26
Problem was: general layers (e.g. OUTLINE) were not routed through
the layer map.
2020-11-21 20:39:31 +01:00
Matthias Koefferlein 6eac98907f WIP: bugfix. 2020-11-21 01:00:28 +01:00
Matthias Koefferlein 2300c391ae Better alignment DEF layer map reader with specification (still some options are ignore). 2020-11-21 00:38:25 +01:00
Matthias Koefferlein 0e596e67ce WIP: compound operations. 2020-11-17 23:19:45 +01:00
Matthias Koefferlein 8175306423 WIP: compound operations. 2020-11-16 23:21:58 +01:00
Matthias Koefferlein 5c1efe151e WIP: fixed a segfault in the unit test. 2020-11-15 18:24:45 +01:00
Matthias Köfferlein beae26ec2e
Merge pull request #678 from KLayout/port-658-to-master
Port of #658 fix to master
2020-11-15 17:15:42 +01:00
Matthias Köfferlein 248168ea67
Merge pull request #677 from KLayout/issue-666
Issue 666
2020-11-14 20:55:28 +01:00
Matthias Koefferlein 13c3353148 Fixed merge commit. 2020-11-14 20:51:39 +01:00
Matthias Koefferlein 50dc53615c Merge branch 'master' of https://github.com/KLayout/klayout into usability-enhancements 2020-11-13 02:09:42 +01:00
Matthias Koefferlein f3668a713d Merge branch 'master' into usability-enhancements 2020-11-13 02:08:10 +01:00
Matthias Köfferlein 94b71cbf76
Merge pull request #642 from KLayout/2.5d-view-devel
2.5d view devel
2020-11-13 02:06:41 +01:00
Matthias Koefferlein ad0cad83c8 Port of #658 fix to master 2020-11-13 02:04:53 +01:00
Thomas Ferreira de Lima 16aba12a84 Adding clarification on GDS properties in cell, instance, shape and layout. 2020-11-13 01:33:55 +01:00
Matthias Koefferlein 5988c92f05 Trying to save some (potentially expensive) layout updates on 'overwrite' cell name conflict resolution. 2020-11-13 01:19:18 +01:00
Matthias Koefferlein 4f0b9118c3 Added test for the collect modes, bugfixed the new modes. 2020-11-13 00:31:56 +01:00
Matthias Koefferlein 035cd1bd34 Removed debug output. 2020-11-12 22:22:12 +01:00
Matthias Koefferlein f61aac6b1b Doc: resolve references to child classes too. 2020-11-12 10:22:22 +01:00
Matthias Koefferlein 6c8f802444 Correct production of ghost cells for OASIS 2020-11-12 00:27:49 +01:00
Kevin Zheng a1d1156407 Add -lexecinfo for BSD 2020-11-04 20:52:56 -08:00
Matthias Koefferlein 888b0936f7 Updated test golden data (order of cells only) 2020-11-03 23:11:07 +01:00
Matthias Koefferlein 61696f1ae7 Don't emit CELLNAME records for cells which are not written. This was confusing the new implementation of the OASIS reader. 2020-11-03 23:10:50 +01:00
Matthias Koefferlein 2ef3290f65 WIP: updated some golden data (only sequence of cells), restored old error messages, proper reporting of cell names in OASIS error messages 2020-11-03 21:18:47 +01:00
Matthias Koefferlein a92ebd0e17 WIP: cell name conflict resolution modes, bugfixed first implementation 2020-11-03 00:13:55 +01:00
Matthias Koefferlein 85869c329d BUGFIX: db::Shapes::insert(db::Shapes) wasn't working correctly! 2020-11-03 00:13:28 +01:00
Matthias Koefferlein eb3600d620 WIP: First implementation. Needs testing. 2020-11-02 01:23:27 +01:00
Matthias Koefferlein 50ee44b6e2 Addressed issue #663 by internal merging of the intruders. 2020-10-28 23:01:54 +01:00
Matthias Koefferlein c71d884e7e More elaborate DRC logging (number of results, timing, memory) 2020-10-26 21:19:27 +01:00
Kevin Zheng 96123c3429
Fix build on FreeBSD (#656)
* Fix build on FreeBSD

* Add missing dependency on qtWidgets
2020-10-18 23:43:28 +02:00
Matthias Koefferlein f1c7e2e8e1 Refactoring of the containers (Edges, Region, EdgePairs, Texts): size -> count, added hier_count. Added SRegion for shape iterator as generic polygonizable things 2020-10-11 17:51:54 +02:00
Matthias Koefferlein 8c1e0d7e0e Added option to retrieve current memory footprint, implemented for Windows (to be tested) 2020-10-11 17:47:30 +02:00
Matthias Köfferlein 591d4a5c37
Fixed #652 (M scaling not working sometimes for Spice), provided test… (#653)
* Fixed #652 (M scaling not working sometimes for Spice), provided testcases

* One more patch (bugfix, Spice reader)
2020-10-10 23:16:02 +02:00
Matthias Köfferlein 051a8bdc77
Fixed #651 (DRC "select" feature issues) (#654)
* WIP: added test case, fixed dup problem and '-' shortcut

* WIP: updated DRC doc and could not resist the temptation to fix 'it's' vs. 'its'

* Deep mode also working with select now. Updated tests.
2020-10-10 23:15:51 +02:00
Matthias Köfferlein 52f54ab39e
Fixed #648 (join_nets should work on global nets too) (#655) 2020-10-10 23:15:36 +02:00
Matthias Koefferlein f21dfb4a1c WIP: further code. 2020-10-09 23:15:02 +02:00
Matthias Koefferlein 18e63d352f WIP: complex DRC operations ... 2020-10-06 23:51:35 +02:00
Matthias Koefferlein 8e4fd2f679 WIP: complex DRC operations. 2020-10-04 21:46:06 +02:00
Matthias Koefferlein de97e2cde7 WIP: some bug fixes 2020-10-02 01:00:05 +02:00
Matthias Koefferlein 12a7ea4cd3 WIP: a small bugfix introduced with the latest refactoring 2020-10-01 23:15:53 +02:00
Matthias Koefferlein 61f18f7f33 [PORTBACK] fixed an issue with in-place processing of flat regions 2020-10-01 23:10:24 +02:00
Matthias Koefferlein 145c298d58 WIP: more generalization 2020-10-01 01:45:53 +02:00
Matthias Koefferlein bb5d30e0c0 WIP: more generalization 2020-10-01 01:12:12 +02:00
Matthias Koefferlein 453275e67e WIP: more generalization 2020-10-01 00:41:02 +02:00
Matthias Koefferlein 1b74607598 WIP: generalization of algorithms with local processor, include texts, edge pairs, edges 2020-09-27 23:57:17 +02:00
Matthias Koefferlein b464279dcf WIP: generalization of algorithms with local processor, first steps 2020-09-27 23:14:54 +02:00
Matthias Koefferlein 26028cdeb9 WIP: refactoring, unify shape iterator 2020-09-26 23:41:39 +02:00
Matthias Koefferlein f05fd28a94 WIP: some refactoring of the flat local processor mode for generalization 2020-09-26 21:45:26 +02:00
Matthias Koefferlein ec01c9b72b WIP: tests for local processor flat mode 2020-09-26 17:11:13 +02:00
Matthias Koefferlein 00ae88a5d4 WIP: Refactoring - local ops outsourced 2020-09-26 00:00:34 +02:00
Matthias Koefferlein cfdd3bec9d Merge branch 'master' into interact_with_count 2020-09-25 23:04:56 +02:00
Matthias Koefferlein bc98336d2a Added DRC test for interact with count 2020-09-22 19:19:26 +02:00
Matthias Koefferlein 56572bd481 Added DRC documentation for interacting, not_interacting, select_interacting, select_not_interacting. 2020-09-22 19:06:12 +02:00
Matthias Koefferlein 737e12d6a4 Added GSI tests. 2020-09-22 18:36:40 +02:00
Matthias Koefferlein f6107e0686 WIP: fixed a few issues with the DRC implementation 2020-09-21 23:35:35 +02:00
Matthias Koefferlein 91e924c559 WIP: Basic implementation of Region::interact with count 2020-09-21 22:54:46 +02:00
Matthias Koefferlein 965d796992 Fixed a build warning. 2020-09-20 18:55:13 +02:00
Matthias Koefferlein 151fd81bd3 Should fix unit test fails on Windows (backslash vs. slash for file name separators) 2020-09-20 01:07:39 +02:00
Matthias Koefferlein 0166d48eec ruby 1.x compatibility. 2020-09-19 21:19:27 +02:00
Matthias Koefferlein a81cc3cacf Merge branch 'master' of https://github.com/KLayout/klayout into drc-enhancements 2020-09-19 21:10:32 +02:00
Matthias Köfferlein f3fa3aac1a Merge remote-tracking branch 'origin/master' 2020-09-19 21:02:59 +02:00
Matthias Köfferlein ccfec5fe88 An issue with MSVC2017 builds fixed
On MSVC2017 builds, a crash is observed in the RBA basic
tests. There is no obvious reason, but empirically, the
instantation of a std::vector<VALUE> caused this problem.
Compiler bug or strange interaction with Ruby's GC?
2020-09-19 21:00:31 +02:00
Matthias Koefferlein db9f43f576 Updated DRC doc and enhanced generation of DRC doc somewhat (bigger images, no exaes etc.) 2020-09-16 23:45:26 +02:00
Matthias Koefferlein 3043418f8a Made shielding an option for some DRC features. 2020-09-16 23:44:44 +02:00
Matthias Koefferlein 15985c4ca8 Removed a duplicate definition 2020-09-16 22:23:43 +02:00
Matthias Koefferlein db2157bb94 Fixed builds without ruby/python 2020-09-16 01:25:54 +02:00
Matthias Koefferlein 66945c4944 Fixed build. 2020-09-16 01:17:32 +02:00
Matthias Koefferlein edaacff594 Fixed build. 2020-09-15 19:26:03 +02:00
Matthias Koefferlein 9200c2924f Fixed build. 2020-09-15 08:01:47 +02:00
Matthias Koefferlein a20bd38f17 Updated documentation 2020-09-15 00:19:47 +02:00
Matthias Koefferlein e75333ea41 DRC enhancements: max_vertex_count, max_area_ratio and forget 2020-09-15 00:12:55 +02:00
Matthias Koefferlein ce9c7e848a Merge branch 'master' into drc-enhancements 2020-09-14 20:52:02 +02:00
Matthias Koefferlein b5e158a6b6 Merge branch 'master' into 2.5d-view-devel 2020-09-14 20:48:46 +02:00
Matthias Koefferlein 60e3f87877 Merge branch 'master' into usability-enhancements 2020-09-14 20:41:23 +02:00
Matthias Koefferlein d7a82ab7dd Merge branch 'issue-639' 2020-09-14 18:40:38 +02:00
Matthias Köfferlein ff79b36740
Fixed #637 (Points are not selected properly for mirrored subcells) (#638) 2020-09-14 18:35:07 +02:00
Matthias Köfferlein 8f35c9b486
Merge pull request #632 from KLayout/gsi-enhancements
Enumerators for Ruby, "void to self" for Ruby+Python
2020-09-14 18:34:50 +02:00
Matthias Köfferlein 59ee6b6a83
Fixed #629 (timeout event of QTimer not present on Qt5) (#631)
In addition, the "destroyed" and "objectNameChanged" signals
were added (specifically to QObject).

The API binding for Qt5 was updated which adds some events.
2020-09-14 18:34:28 +02:00
Matthias Köfferlein 9cef935fad
Merge pull request #630 from KLayout/ruby-include
Ruby include
2020-09-14 18:33:57 +02:00
Matthias Köfferlein 8cdb6187b8
Fixed issue #617 (constness problem in netlist) (#622) 2020-09-14 18:33:24 +02:00
Matthias Köfferlein 948819472b
Issue 615 (#621)
* Password encoding to UTF-8 for Basic HTTP authentication - this is basically a hack. Needs to be reverted as soon as Qt switches to UTF-8 encoding.

* Workaround for issue #615
2020-09-14 18:33:01 +02:00
Matthias Koefferlein 33229ccfaa Updated fix version in RBA::Layout documentation. 2020-09-13 23:47:23 +02:00
Matthias Koefferlein 5280c762e4 Provide multi-cell copy/move of shapes (GSI binding) 2020-09-13 23:42:09 +02:00
Matthias Koefferlein 7d3abce201 Added multi-cell mapping for transferring multiple cells from one layout to another while including their hierarchy without duplicating cells. 2020-09-13 23:42:07 +02:00
Matthias Koefferlein d20aac77c6 Snap indicator when moving point in partial mode (no indicator for edge move yet as edge-to-object mapping isn't implemented yet) 2020-09-13 22:28:02 +02:00
Matthias Koefferlein 655c8c7658 WIP: mouse tracking on instance, box, path and text editor. 2020-09-08 00:06:06 +02:00
Matthias Koefferlein 316cf77175 WIP: Ruler now has a mouse snapping indicator too. 2020-09-07 23:49:42 +02:00
Matthias Koefferlein df1583b5db WIP: config options for mouse tracking options. 2020-09-07 23:19:44 +02:00
Matthias Koefferlein 307c10f184 WIP: better highlighting of snap objects. 2020-09-07 22:35:06 +02:00
Matthias Koefferlein e42136ee27 Editor options: recent layers are created if not there. 2020-09-06 23:03:18 +02:00
Matthias Koefferlein 55f5132514 WIP: fixed visibility of editor options. 2020-09-06 21:26:06 +02:00
Matthias Koefferlein a9a9f88f92 WIP: further reworking. 2020-09-06 21:10:26 +02:00
Matthias Koefferlein 46b5b87eaf WIP: refactoring editor options - moved some classes from edt to lay namespace 2020-09-06 18:45:58 +02:00
Matthias Koefferlein fb90144176 WIP: mouse cursor and snap highlighting 2020-09-05 23:58:10 +02:00
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
Matthias Koefferlein 2ec712b104 Implementation starts to make sense. TODO: major refactoring, a lot of utility functions like fit, ... 2020-04-13 22:18:52 +02:00
Matthias Koefferlein 9c00568301 WIP: compass, navigation, bug fixes. 2020-04-13 21:34:32 +02:00
Matthias Koefferlein fd2749895c WIP: foreground light, enhanced navigation ... 2020-04-13 18:13:17 +02:00
Matthias Koefferlein 194a2747e6 WIP: better hit point detection 2020-04-12 19:15:11 +02:00
Matthias Koefferlein 75b1b4dc54 WIP. 2020-04-12 18:38:39 +02:00
Matthias Koefferlein 55e79ef78f WIP. 2020-04-12 16:56:30 +02:00
Matthias Koefferlein d37608dac1 WIP. 2020-04-12 10:32:23 +02:00
Matthias Koefferlein 7077bac647 WIP. 2020-04-11 22:46:35 +02:00
Matthias Koefferlein 56d406aaad WIP 2020-04-11 12:02:30 +02:00
Matthias Koefferlein b5a51f15d0 WIP 2020-04-11 11:21:59 +02:00
Matthias Koefferlein 731dfffe1e WIP 2020-04-11 11:21:36 +02:00
Matthias Koefferlein 7472bd4955 WIP: experiments on OpenGL view. 2020-04-10 22:40:53 +02:00
Matthias Koefferlein a4c2cd34cf Fixed some bugs. 2020-04-06 23:55:30 +02:00
Matthias Koefferlein b7eb150f03 Fixed some bugs. 2020-04-06 23:52:51 +02:00
Matthias Koefferlein 1e2601d154 Fixed some build errors 2020-04-06 23:22:24 +02:00
Matthias Koefferlein c4e5367b8a First setup. 2020-04-06 23:22:24 +02:00
Matthias Koefferlein 9c62bb015f Include BLOCKAGE in map file LEF/DEF, becoming case insensitive for purpose 2020-04-05 23:56:43 +02:00
Matthias Koefferlein 3ada29d606 Some bugfixes for LEF/DEF reader for special nets (extension handling) 2020-04-05 23:49:19 +02:00
Matthias Koefferlein df7c530013 Bugfix for the net reader of DEF - wasn't properly reading diagonal parts. 2020-04-05 22:56:04 +02:00
Matthias Koefferlein cd801206bc Some refactoring - DEF scanner more modular (5) 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 4757ad5044 Some refactoring - DEF scanner more modular (4) 2020-04-05 21:49:36 +02:00
Matthias Koefferlein dea3743d59 Some refactoring - DEF scanner more modular (3) 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 9df6d29761 Some refactoring - DEF scanner more modular (2) 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 99af144d98 Some refactoring - DEF scanner more modular 2020-04-05 21:49:36 +02:00
Matthias Koefferlein f11a3a0dd5 Bugfix: MINWIDTH ... WRONGDIRECTION wasn't considering DIRECTION VERTICAL
Added/updated some tests, some refactoring.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein 4a24b727d5 Tried to implement MINWIDTH .. WRONGDIRECTION in LEF58_MINWIDTH property 2020-04-05 21:49:36 +02:00
Matthias Koefferlein bcaf28c94c Bugfix LEF/DEF reader: via needs to change the layer also if it's inside a DEF. Added more test cases. 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 2c60338ae8 Added DO .. BY .. STEP to vias in SPECIALNETS in DEF reader, added one more private testcase 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 0ae97279d8 Added optional MASK specification to VIA's RECT and POLYGON elements 2020-04-05 21:49:36 +02:00
Matthias Koefferlein fd0b07f0cd MERGE: strmxor could not identify layers when one has a name and the other does not (but both have numbers) 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 8796b65ddb DEF reader patched: after via continue with the new metal layer with the width given by the rule. 2020-04-05 21:49:36 +02:00
Matthias Koefferlein ee3ee5bd8e Another update of the map file reader for LEF/DEF 2020-04-05 21:49:36 +02:00
Matthias Koefferlein dd63b727f8 Another update of the map file reader for LEF/DEF 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 67a1c0ba25 Updated implementation of mapping file reader for LEF/DEF. 2020-04-05 21:49:36 +02:00
Matthias Koefferlein e15d99e4da LEF reader fix: determine routing layers for vias without VIARULE from involved layers 2020-04-05 21:49:36 +02:00
Matthias Koefferlein d328901799 DEF reader fix: TAPER has to disable NONDEFAULTRULE for the segment 2020-04-05 21:49:36 +02:00
Matthias Koefferlein 44503facea Attempt to auto-import .map files for LEF/DEF reader. Probably needs adjustment. 2020-04-05 21:49:36 +02:00
Matthias Koefferlein df11ff9b85 Merge branch 'master' of https://github.com/KLayout/klayout 2020-04-05 20:20:28 +02:00
Matthias Koefferlein 0abd5d5d96 Fixed some minor compiler warnings. 2020-04-05 18:30:08 +02:00
Matthias Koefferlein 27109312cf Avoid a runtime warning for missing QWidget binding without Qt bindings compiled in 2020-04-05 18:29:55 +02:00
Matthias Köfferlein c93db59e37
Fixed #524 (failed query leaves layout in invalid state) (#528) 2020-04-05 15:11:37 +02:00
Matthias Köfferlein 865076588b
Fixed issue #530 (events are mentioned as getters two times) (#531) 2020-04-05 15:11:18 +02:00
Matthias Köfferlein 2b3a53b285
Implemented #521 (enhanced API for ObjectInstPath) (#532) 2020-04-05 15:11:03 +02:00
Matthias Koefferlein d1f1cf3031 Fixed a refactoring damage: the application mode indicator did not follow programmatic changes. 2020-04-05 14:01:44 +02:00
Matthias Koefferlein 14b6d58a09 Bugfix: paste was always paste_interactive 2020-04-05 13:23:22 +02:00
Matthias Koefferlein cc6b23bffd MERGE: fixed a typo in the undo title. 2020-04-01 23:40:00 +02:00
Matthias Koefferlein c640347570 MERGE: added Spice reader testcase for resistors with model names. 2020-04-01 23:19:21 +02:00
Matthias Koefferlein 8c91dd520d MERGE: Enhanced DRC and LVS documentation somewhat 2020-04-01 22:45:50 +02:00
Matthias Koefferlein c021d60d41 Updated unit test 2020-03-29 09:23:13 +02:00
Matthias Koefferlein 86a3150aba Fixed .pro files 2020-03-29 09:03:02 +02:00
Matthias Koefferlein 115f2edfd6 Removed unused entry from .pro file - made some build crash. 2020-03-28 23:10:02 +01:00
Matthias Koefferlein 99d3610a6a Implemented #527 (wildcard layer mapping targets)
commit d77702cd86066f3a97d740a95923fa598c2ff07b
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date:   Sat Mar 28 21:28:39 2020 +0100

    Wildcard expansion feature on layer mapping

    Finished feature, added doc and test.

    The solution is to use placeholder indexes for the
    layer mapping which are substituted by the real
    layers when they are encountered.

commit af60b5f18acfe3c5e2f1d4e6bc6ee752a246dc0d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date:   Sat Mar 28 19:11:32 2020 +0100

    Preparations for new feature: introduce relative and wildcard target layer specs
2020-03-28 22:49:57 +01:00
Matthias Koefferlein 53f69ea90d Fixed a segfault in the unit tests (related to future branch) 2020-03-28 22:49:06 +01:00
Matthias Koefferlein 666cdeadc5 MERGE: documentation enhancements for LVS/DRC 2020-03-28 12:29:53 +01:00
Matthias Koefferlein a47932a79e Added one more testcase for join_symmetric_nets 2020-03-28 09:49:41 +01:00
Matthias Koefferlein 9afcec25bc Fixed #526 - Make scripe debugging more reliable
Problem: the debugger was printing an object's value as string.
The effect is that for big objects "to_s" will deliver huge strings
(e.g. polygons, netlists ...). "inspect" is better (already used
for Python), but it's aliased to "to_s" in Python and Ruby.
Huge strings will stall the debugger.

The solution is to stop this aliasing (Ruby 2.x doesn't do it
itself anymore) and use "inspect" consistently for Python and
Ruby.

Details can still be printed in the console.
2020-03-26 22:50:12 +01:00
Matthias Koefferlein b6ba51e563 Provide timing information for Spice reader/writer 2020-03-26 17:33:18 +01:00
Matthias Koefferlein 04aa005247 Fixed #525 - report true source line in DRC and LVS verbose mode 2020-03-26 17:20:15 +01:00
Matthias Koefferlein 8afd907abb Fixed builds 2020-03-15 23:27:24 +01:00
Matthias Koefferlein c10ccccdf7 Merge branch 'app-refactoring' into doc-args 2020-03-15 21:32:39 +01:00
Matthias Koefferlein 8275e47334 More @args removed. 2020-03-14 22:44:43 +01:00
Matthias Koefferlein daba9d78be More @args removed. 2020-03-14 22:26:21 +01:00
Matthias Koefferlein 53c81cc572 Got rid of most of the @args 2020-03-14 21:50:47 +01:00
Matthias Koefferlein c6b48acc76 Some small enhancements
LVS: max_branch_complexity was wrong and missing from doc.

Updated test cases so MSVC 2017 builds should pass.

Windows build.bat updated so debug builds can be made.
2020-03-04 21:48:00 +01:00
Matthias Köfferlein ef4c9313ab Fixed a severe bug in join_symmetric_nets 2020-03-03 22:24:03 +01:00
Matthias Köfferlein 7a60f5957b Enable Qt-less build of unit tests on Windows in debug mode and without iterator assertions 2020-03-03 22:19:31 +01:00
Matthias Koefferlein 6721cb9c5b Merge branch 'issue-482-update' 2020-03-02 18:57:40 +01:00
Matthias Köfferlein 91226230aa
Merge pull request #518 from KLayout/issue-517
Fixed #517 (VIARULE issue in DEF reader)
2020-03-02 18:56:55 +01:00
Matthias Koefferlein 8d665bd456 Fixed a minor segfault (DXF reader while having log level verbose), updated Changelog 2020-03-02 18:56:29 +01:00
Matthias Koefferlein 04ae4d5d28 Updated fix (wasn't correctly representing some via pattern) 2020-03-02 00:20:15 +01:00
Matthias Koefferlein cec1910bf0 Added tests. 2020-03-02 00:13:44 +01:00
Matthias Koefferlein c9955d39a6 Fixed issue-517 2020-03-02 00:09:41 +01:00
Matthias Koefferlein a5a4ae511d Some more tests, a (unlikely) segfault fixed 2020-02-28 23:19:27 +01:00
Matthias Köfferlein 82686b307c
Merge pull request #515 from KLayout/issue-471
Implemented #471 (leaner way to specify compare tolerances)
2020-02-27 18:46:15 +01:00
Matthias Köfferlein 56868eda85
Merge pull request #514 from KLayout/issue-482
Implemented #482 (split gate option aka join_symmetric_nets)
2020-02-27 18:46:02 +01:00
Matthias Köfferlein d824956a4f
Merge pull request #510 from KLayout/issue-486
Fixed #486 ('save as' feature for macros)
2020-02-27 18:45:50 +01:00
Matthias Koefferlein 78050b1e5f Implemented #471: Updated doc. 2020-02-27 17:30:23 +01:00
Matthias Koefferlein 02e38a2cd1 Merge branch 'issue-482' into issue-471 2020-02-27 15:49:35 +01:00
Matthias Koefferlein d315f84cab Attempt to fix Windows build error. 2020-02-27 15:46:34 +01:00
Matthias Koefferlein 8b73dffcfe Implementation done. Added tests. 2020-02-27 15:40:06 +01:00
Matthias Koefferlein 4cfe6ba2b9 Implemented #482: updated documentation. 2020-02-27 14:34:16 +01:00
Matthias Koefferlein 75e936bd64 Added one more test case. 2020-02-27 13:46:52 +01:00
Matthias Koefferlein 76f5e19ed8 Enhanced LVS with 'join_symmetric_nets'. Updated doc. Added test. 2020-02-27 13:35:36 +01:00
Matthias Koefferlein 3b31109367 Added GSI binding for join_symmetric_nets, added method to get circuits by name pattern. 2020-02-27 12:17:35 +01:00
Matthias Koefferlein 25d1a65b21 Small enhancement: unit tests work also with verbosity >0 now. 2020-02-27 01:29:10 +01:00
Matthias Koefferlein a46cd305c6 WIP: bug fix for symmetry detection (should consider different pins to break symmetry). Added tests. 2020-02-27 00:52:06 +01:00
Matthias Koefferlein b35429291e WIP: join_nets implemented, join_symmetric_nets: enhanced detection of symmetric nets. 2020-02-27 00:52:03 +01:00
Matthias Koefferlein 08af8d85c4 WIP: first algorithm - is capable of deriving the 'resistor cube' symmetry. 2020-02-27 00:52:00 +01:00
Matthias Koefferlein 58de38739a WIP: some refactoring, debugging output for netlist compare
Abstraction: a central getenv() feature to wrap all the system-specific things

Netlist compare debug and options can be enabled through environment variables:

KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE=1: print netlist compare debug info
KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH=1: print net grapg
KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE=1: make netlist compare case sensitive
2020-02-27 00:51:55 +01:00
Matthias Koefferlein 7d7c9aecc6 Fixed #486 ('save as' feature for macros) 2020-02-23 14:10:26 +01:00
Matthias Koefferlein 2564b11da3 Fixed #478 (shapes method can't be used in queries) 2020-02-23 13:36:20 +01:00
Matthias Koefferlein d01759aa60 Implemented #500 (limit number of shapes in net tracer) 2020-02-23 11:02:15 +01:00
Matthias Köfferlein 1992fc762a
Issue #489 (Pin names as shape properties) (#507)
* Fixed #489 (LEF/DEF reader provides pin names as properties)

* Removed vi swap file

* #489 fixed (LEF pins also get properties, added tests)
2020-02-23 00:29:12 +01:00
Matthias Köfferlein 946af71f2f
Fixed issue #473 (fast accessors to image pixel and mask data through… (#503)
* Fixed issue #473 (fast accessors to image pixel and mask data through arrays)

* Updated Jenkinsfile to not publish a PR build

* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:38:08 +01:00
Matthias Köfferlein 7c89192ad8
Fixed #502 (issues with AbsoluteProgress) (#504)
* Fixed #502 (issues with AbsoluteProgress)

* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:37:50 +01:00
Matthias Köfferlein 69e7704430
Issue 501 (#505)
* Fixed #501 (more Qt ownership management) - this commit contains some more changes because I had to regenerate the Qt binding sources.

* Fixed #501 (Qt object ownership transfer) - repairs, added tests

* Updated Jenkinsfile to not publish a PR build

* Update Jenkinsfile - exclude PR's from build
2020-02-21 18:25:22 +01:00
Matthias Koefferlein 9142479585 Fixed a segfault. 2020-02-19 09:51:55 +01:00
Matthias Koefferlein 8a95b2e6f7 WIP: wording. 2020-02-19 09:22:04 +01:00
Matthias Koefferlein 4782450170 WIP: args notation. 2020-02-19 09:13:25 +01:00
Matthias Koefferlein 7913e7cf82 Added unit tests. 2020-02-19 01:06:39 +01:00
Matthias Köfferlein 161068c70a
Merge pull request #492 from KLayout/issue-491
Issue #491 fixed (maybe)
2020-02-16 10:15:53 +01:00
Matthias Koefferlein 5853fecf37 Two bugs fixed: tech selection did not happen, enable all/disable all did not work 2020-02-13 00:53:20 +01:00
Matthias Koefferlein 0059d1bf24 Basic refactoring: Action -> Action* 2020-02-13 00:16:37 +01:00
Matthias Koefferlein c801df7f7b WIP: fixed assertion in klayout_main test. 2020-02-11 00:39:19 +01:00
Matthias Koefferlein ad775413f3 WIP: refactoring - fixed a segfault. 2020-02-10 23:13:35 +01:00
Matthias Koefferlein 9cb81ce807 WIP: further refactoring. 2020-02-10 00:38:48 +01:00
Matthias Koefferlein 45b6a72bee WIP: further refactoring. 2020-02-10 00:07:41 +01:00
Matthias Koefferlein e8a875ccb5 WIP: further refactoring. 2020-02-09 01:35:44 +01:00
Matthias Koefferlein a44535e009 WIP: further refactoring. 2020-02-08 23:01:42 +01:00
Matthias Koefferlein 85789a386b WIP: further refactoring. 2020-02-08 22:15:09 +01:00
Matthias Koefferlein 64a09e07f9 WIP: refactoring ongoing. 2020-02-08 00:02:49 +01:00
Matthias Koefferlein a14e90f367 WIP: refactoring ongoing - starts looking good :) 2020-02-07 23:52:32 +01:00
Matthias Koefferlein a2d4b02238 WIP: refactoring ongoing. 2020-02-07 19:05:45 +01:00
Matthias Koefferlein 24ad1b2d26 WIP: refactoring ongoing. 2020-02-07 18:46:35 +01:00
Matthias Koefferlein 4210198179 WIP: refactoring ongoing. 2020-02-07 17:33:53 +01:00
Matthias Koefferlein ce25d51763 WIP: refactoring ongoing. 2020-02-07 01:41:03 +01:00
Matthias Koefferlein b604624123 WIP: refactoring ongoing. 2020-02-07 01:32:05 +01:00
Matthias Koefferlein 68472e6e14 WIP: refactoring ongoing. 2020-02-07 01:27:24 +01:00
Matthias Koefferlein fa1b98c933 WIP: refactoring ongoing. 2020-02-07 01:11:23 +01:00
Matthias Koefferlein 674d4b45ad WIP: refactoring ongoing. 2020-02-07 01:00:46 +01:00
Matthias Koefferlein d6589f1d0e WIP: refactoring ongoing. 2020-02-07 00:41:37 +01:00
Matthias Koefferlein 4f03710f65 WIP: target will be version 0.27. 2020-02-05 00:02:12 +01:00
Matthias Koefferlein b2e6085ba1 WIP: not quite further ... 2020-02-04 23:54:29 +01:00
Matthias Koefferlein 22b3a5face WIP: refactoring - at least some local context menus for detached views 2020-02-04 21:33:27 +01:00
Matthias Koefferlein 0f69c24e79 WIP: avoids a segfault because of missing manager 2020-02-04 20:50:46 +01:00
Matthias Koefferlein f6a6acd20e WIP: new LayoutView features for pya/RBA. 2020-02-04 00:33:07 +01:00
Matthias Koefferlein 961a36a7ad Issue #491 fixed (maybe) 2020-02-03 22:38:45 +01:00
Matthias Köfferlein aba55148db
Merge pull request #483 from KLayout/issue-481
Fixed issue #481 (duplicate DRC markers)
2020-01-28 23:48:33 +01:00
Matthias Köfferlein 607cdbd71b
Merge pull request #484 from KLayout/issue-476
Issue 476
2020-01-28 23:48:21 +01:00
Matthias Koefferlein de5f092d37 Merge branch 'master' of https://github.com/KLayout/klayout 2020-01-28 23:46:42 +01:00
Matthias Koefferlein cc37ecfd17 Fixed titles of file dialogs. 2020-01-28 23:45:40 +01:00
Matthias Koefferlein 21397283f3 Fixed #477 2020-01-23 18:38:41 +01:00
Matthias Koefferlein eeadfcea7b Fixed #476 2020-01-23 17:56:20 +01:00
Matthias Koefferlein b1716fc8c4 Fixed issue #481 2020-01-23 17:26:12 +01:00
Matthias Koefferlein 925b7c2f33 Removed incorrect regexp substitution. 2020-01-23 17:22:58 +01:00
Matthias Koefferlein fb0d06602e Attempt to fix the issue
In additon, some actions like display of the netlist
browser are suppressed until "final" is true for
"_finish".

TODO: Layout#get_info should never segfault.
2020-01-12 23:41:03 +01:00
Matthias Köfferlein 80b0eae937
Merge pull request #469 from KLayout/issue-464
Fixed #464 (problems building a layer node tree with 'add_child')
2020-01-05 01:03:29 +01:00
Matthias Köfferlein db1d05282d
Merge pull request #467 from KLayout/issue-466
Issue 466
2020-01-05 01:03:10 +01:00
Matthias Köfferlein 6a996b6f5b
Merge pull request #465 from KLayout/issue-462
Implemented #462 (Generalize MOS transistor extraction to other gate …
2020-01-05 01:02:54 +01:00
Matthias Köfferlein b012e90def
Merge pull request #470 from KLayout/issue-463
Issue 463
2020-01-05 01:02:32 +01:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein cea5dbc0b4 Fixed #463 (Can't configure color of third-level layer groups) 2020-01-05 00:51:06 +01:00
Matthias Koefferlein 811560094a Updated tests. 2020-01-04 21:19:06 +01:00
Matthias Koefferlein 0285a5195c Fixed #464 (problems building a layer node tree with 'add_child')
The reason was a synchronization issue.

Actually "LayerPropertiesNodeRef" is not a reference, but
a mirror copy of the LayerPropertiesNode the reference points
to. Changes to the original must be synchronized into the
reference and back.

This concept is a tribute to the original implementation and
the node reference was a convenience add-on to the iterator-
based API.

Better solution in general is to replace the LayerPropertiesNodeRef
concept with a real reference.
2020-01-04 19:39:09 +01:00
Matthias Koefferlein 09f97aa286 Fixed #466 (Segfault when accessing a wrong layer tab) 2020-01-04 12:33:14 +01:00
Matthias Koefferlein 833edf53b2 Implemented #462 (Generalize MOS transistor extraction to other gate figures) 2020-01-02 22:20:45 +01:00
Matthias Koefferlein c4636cebdb Fixed #458 (Array instance net tracing bug) 2019-12-23 20:38:17 +01:00
Matthias Koefferlein 85c033db64 Small doc fixes 2019-12-21 18:00:02 +01:00
Matthias Köfferlein a4e87e5b4a
Merge pull request #454 from KLayout/dvb
Dvb
2019-12-18 18:09:39 +01:00
Matthias Köfferlein e2e761b999
Merge pull request #455 from KLayout/issue-453
Fixed #453 (Crash when using 'inverse' feature of TEXT PCell)
2019-12-18 18:09:26 +01:00
Matthias Koefferlein a314d3d8c5 Fixed #453 (Crash when using 'inverse' feature of TEXT PCell) 2019-12-18 18:05:09 +01:00
Matthias Koefferlein d9236a398f Multiple progress bars enabled. 2019-12-18 02:19:15 +01:00
Matthias Koefferlein 297f37a63a Huge performance improvement for a specific array element interaction. Reason: duplicate cluster interactions spoiled performance. 2019-12-18 01:10:16 +01:00
Matthias Koefferlein fcba0018ba Enhanced progress estimation of box scanner - no progress jumping back and forth. 2019-12-17 22:38:17 +01:00
Matthias Koefferlein a9bd037b58 Some code cleanup with performance impact 2019-12-17 22:23:43 +01:00
Matthias Koefferlein fb2611632d Some performance improvement of net extractor. 2019-12-17 21:16:29 +01:00
Matthias Koefferlein f174e5b83d Updated documentation 2019-12-17 20:29:37 +01:00
Matthias Koefferlein d0e6efa484 Implemented #444 (double-height standard-cell support). 2019-12-17 00:12:36 +01:00
Matthias Koefferlein 12c040aa6c Merge branch 'issue-448' into dvb 2019-12-15 20:51:35 +01:00
Matthias Koefferlein c9d528dc88 Fixed #447 - CentOS 6 build fixed. 2019-12-15 15:46:15 +01:00
Matthias Koefferlein fccd78a222 Fixed #448 and updated test data 2019-12-15 10:37:51 +01:00
Matthias Koefferlein 782f6fe601 BUGFIX: the L2N and LVSDB writer was writing too much
Sometimes, shapes from child cells were propagated into
parent cells in the L2N and LVSDB output.

Because of this fix, many testdata files have to be updated.
2019-12-15 01:29:56 +01:00
Matthias Koefferlein 87e658acf0 WIP: finalized refactoring. 2019-12-15 00:48:11 +01:00
Matthias Koefferlein da1ac3661f WIP: bugfix of refactoriung, update test data. 2019-12-15 00:16:47 +01:00
Matthias Koefferlein 1e5d02b1bc WIP: refactoring of cell instance interactions for net extraction. 2019-12-14 18:58:22 +01:00
Matthias Koefferlein 1f5ec9d3e9 Bugfix: don't mess with the hier cluster structure while determining the interactions ... 2019-12-12 00:20:15 +01:00
Matthias Koefferlein e11aaf4ac2 WIP: Continued rework. 2019-12-11 23:35:19 +01:00
Matthias Koefferlein fee5472845 WIP: further refactoring. 2019-12-11 01:28:56 +01:00
Matthias Koefferlein 406bc226bb WIP: refactoring 2019-12-11 00:39:46 +01:00
Matthias Koefferlein 75cb21bbd1 WIP: refactoring, first steps. 2019-12-10 23:55:14 +01:00
Matthias Koefferlein 4acc4b96e2 First attempt to fix the issue
Problem was caching which did not take into account the array nature
of instances.

This fix also moves the cache one level below so it is effective also
when instance tree traversal happens. This might speed up things too.

Needs testing.
2019-12-09 21:37:07 +01:00
Matthias Koefferlein 91b7d6a2df Fixed compatibility issue of MAG reader on Windows 2019-12-08 22:06:47 +01:00
Matthias Koefferlein bbb8e1f430 Merge branch 'master' of https://github.com/KLayout/klayout 2019-12-08 20:25:54 +01:00
Matthias Koefferlein 8916dd12a9 Small bugfix for MAG writer + tests. 2019-12-08 20:25:25 +01:00
Matthias Koefferlein 76c42f2959 Magic file writer fixes for Windows - file path handling wasn't right for windows paths with drives. 2019-12-08 19:58:58 +01:00
Matthias Köfferlein 054869ec9a
Merge pull request #446 from KLayout/issue-445
Fixed #445 (cryptic message on 'merge shapes' with instances selected)
2019-12-08 09:14:48 +01:00
Matthias Köfferlein ed407f1e93
Merge pull request #443 from KLayout/issue-438
Fixed #438 (error on redefinition of subcircuit in SPICE)
2019-12-08 09:14:05 +01:00
Matthias Köfferlein 61c50a59ec
Merge pull request #442 from KLayout/issue-440
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-08 09:13:48 +01:00
Matthias Köfferlein c1ece152c5
Merge pull request #441 from KLayout/issue-439
Issue 439 (plain-text macro is marked "modified" on windows)
2019-12-08 09:13:31 +01:00
Matthias Koefferlein 63cc73b569 Fixed #445 (cryptic message when instances are selected and 'merge shapes' is used) 2019-12-08 08:43:08 +01:00
Matthias Koefferlein 3b9beb0d49 Fixed #438 (error on redefinition of subcircuit in SPICE) 2019-12-07 23:39:39 +01:00
Matthias Koefferlein c214021618 Fixed #440 (issue with LayoutView#each_annotation_selected) 2019-12-07 21:51:10 +01:00
Matthias Koefferlein 9ef90aa135 Fixed #439 (CRLF issue with plain-text macros) 2019-12-07 19:14:21 +01:00
Matthias Koefferlein a430b4df83 Supply 'read_all' capability of text stream with CRLF replacement. 2019-12-07 19:08:35 +01:00
Matthias Koefferlein 2402adc45d Open to silence instance copy mode dialog
By using "don't ask again" the instance copy mode
dialog won't come up again. The mode can be reverted
back to "ask" in the editor options.
2019-12-05 01:09:48 +01:00
Matthias Koefferlein 717470a389 Enhancement of the "interactive" (infix) modes
1.) Copy & Cut will now take the selection from
    the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
    selection.
2019-12-05 00:36:46 +01:00
Matthias Köfferlein 2fa545d80b
Merge pull request #435 from KLayout/issue-429
Issue 429
2019-12-02 21:15:05 +01:00
Matthias Köfferlein e061a0a932
Merge pull request #433 from KLayout/wip
Some enhancements
2019-12-02 21:14:35 +01:00
Matthias Köfferlein 8f8c393309
Merge pull request #432 from KLayout/issue-425
Issue 425
2019-12-02 21:13:14 +01:00
Matthias Köfferlein e7ddf3b64f
Merge pull request #431 from KLayout/issue-426
Implemented #426 (feature request: group techs)
2019-12-02 21:12:40 +01:00
Matthias Köfferlein ebb19879e9
Merge pull request #430 from KLayout/issue-428
Issue 428
2019-12-02 21:12:22 +01:00
Matthias Koefferlein 904bbf15a1 Refinement of tech management and MAG reading
- The MAG reader now has access to the details of the proposed
  technology (set in KLayout), specifically inside library paths
  ($(tech_name), $(tech_dir)). This allows setting the MAG reader
  path relative to the technology path.
- If no specific technology is set before MAG files are read and
  the technology listed there is found in KLayout, KLayout will
  attach the layout to this technology.
2019-12-01 18:19:55 +01:00
Matthias Koefferlein baffb940d1 Implemented #429: final touches to doc and tests for RBA/pya API. 2019-12-01 16:41:27 +01:00
Matthias Koefferlein 152dc87682 Implemented a dummy arrangement of cells when the MAG output file isn't corresponding to a existing cell - useful for obtaining a cell overview 2019-12-01 10:13:11 +01:00
Matthias Koefferlein c49bc17e6a CIF writer: only layer names should be forced to upper case. Cell names don't need this. 2019-11-30 22:53:29 +01:00
Matthias Koefferlein 9eb09c3a5d Enhancements to implementation
- OASIS layers are turned into pure layer name (not lxdy_name) for
  MAG output
- Boxes of instances had been incorrect
- consistent naming of cell files in presence of special chars
2019-11-30 22:30:28 +01:00
Matthias Koefferlein f8743e7411 Added PearlRiver die Magic files as test case. 2019-11-30 21:16:31 +01:00
Matthias Koefferlein 6003727561 Added strm2mag tool and support for Magic options 2019-11-30 20:54:15 +01:00
Matthias Koefferlein f16a5085c5 WIP: some implementation refinement
- MAG writer output name does not need to match a cell name
  (this file is not written in this case, but the path and extension
  are taken from it). A warning is issued in this case.
- Strings for layer and cell names are normalized (special chars, UTF8)
- Cell duplicates won't be produced but existing cells are reused.
  This enables "incremental reads".
2019-11-30 19:04:54 +01:00
Matthias Koefferlein c6ede46fd0 WIP: substantial changes
- force lower-case layer names to allow CIF/MAG loop (CIF needs
  upper-case layer names, MAG doesn't)
- reverted CIF reader to standard
- new options for writer: tech, "zero timestamp".
- file name MUST be consistent with one cell name.
  Reason: it's not possible to derive the initial
  cell from the given options, so without the file name
  being consistent, we can't know what to write there.
  Basically the file name rather supplies the path.
2019-11-30 00:09:44 +01:00
Matthias Koefferlein 9fb73a3928 A small enhancement for CIF / less ignorant reader
The change is to allow lower-case cell and layer names when they
are separated from the command with a blank. So

"Layername XZY;": "L" is the command, "ayername" is ignored

BUT:

"L xyz;": "xyz" is not part of the command, but the layername.

Same for "DS".

This is a deviation from the "standard", but a useful one. Otherwise
case sensitivity cannot be maintained anymore in a CIF/Magic loop.
2019-11-29 01:15:06 +01:00
Matthias Koefferlein 0796b20c2d Added a first test for Magic reader/writer 2019-11-29 01:14:41 +01:00
Matthias Koefferlein 3f9dd59593 WIP: MAG reader now is compliant with writer (and Magic I hope) 2019-11-29 00:25:28 +01:00
Matthias Koefferlein 3283219b0f WIP: writer functionality debugged and enhanced (triangles, correct arrays etc.) 2019-11-28 23:58:19 +01:00
Matthias Koefferlein cef868d774 WIP: ongoing development. 2019-11-28 01:03:25 +01:00
Matthias Koefferlein 11e3209d4a WIP: removed traces of CIF copy 2019-11-28 00:45:47 +01:00
Matthias Koefferlein 4ac5801cc7 WIP: Implementation draft of MAG file writer. 2019-11-28 00:20:30 +01:00
Matthias Koefferlein 5c217b90b5 WIP: starting MAG writer. 2019-11-27 22:33:50 +01:00
Matthias Koefferlein a980332c76 Fixed MAG reader (rlabels) 2019-11-26 23:38:23 +01:00
Matthias Koefferlein 6399f4693a Bugfixed MAG reader. 2019-11-26 23:03:55 +01:00
Matthias Koefferlein 814b8df516 DRC enhancement: allow @+ to create a new layout for output. 2019-11-26 23:03:44 +01:00
Matthias Koefferlein 211524a0c0 WIP: reader starts becoming functional. 2019-11-26 01:03:24 +01:00
Matthias Koefferlein aece8b299f WIP: generalized code. 2019-11-25 19:54:24 +01:00
Matthias Koefferlein 2acb66182a WIP: basic framework 2019-11-25 00:07:56 +01:00
Matthias Koefferlein a8cace399e Added some private tests to LVS tests for better coverage. 2019-11-24 18:25:56 +01:00
Matthias Koefferlein 0f1dc1d191 Refine pin mismatch handling so that only 'not used' nets will make a pin match against null. 2019-11-24 16:40:45 +01:00
Matthias Koefferlein afacf7c0b5 WIP: fixed a segfault in the netlist browser. 2019-11-24 01:28:07 +01:00
Matthias Koefferlein 20976d7521 Avoid an error message on startup when Python/Ruby isn't enabled. 2019-11-24 00:36:46 +01:00
Matthias Koefferlein 64bb01d80d Dropped attempt to remove dummy nodes from spice reader netlist as this wasn't effective anyway. 2019-11-24 00:23:19 +01:00
Matthias Koefferlein ed00503d41 Fixed Spice reader: must not use Netlist::purge_nets to remove dummy nets. Updated golden test data. 2019-11-23 23:36:52 +01:00
Matthias Koefferlein aa28aa807a Unit tests fixed and a bugfix in the netlist compare
One unit test was failing because the netlist compare did not
properly consider dropped pins:
* A severe bug ("g1" should be "g2")
* Incomplete detection of dropped pins upwards in the hierarchy

The general pin and net mapping scheme has been enhanced so that
net mapping to "0" is valid (this will happen in case of dropped
pins) and this condition is used to detect pins without match
requirement.
2019-11-23 22:04:25 +01:00
Matthias Koefferlein 1309aa59cb Merge branch 'master' into issue-425 2019-11-23 01:55:28 +01:00
Matthias Koefferlein 7de90ae595 Merge branch 'issue-417' 2019-11-23 01:46:38 +01:00
Matthias Koefferlein 79f4f8bc57 Update unit test for issue-417 branch. 2019-11-23 01:45:56 +01:00
Matthias Koefferlein d5506a176a WIP: first implementation - needs testing. 2019-11-23 01:20:22 +01:00
Matthias Koefferlein 2757b22da6 Resolved conflicts for issue-419 merge 2019-11-22 23:34:03 +01:00
Matthias Koefferlein 4fe5a96596 Implemented #426 (feature request: group techs)
The tech group is a new XML tag "<group>...</group>".
This tag is editable in the tech "general" page as "Group".
If non-empty, a submenu will be created in the tech selector
menu for all techs with the same group.
2019-11-22 23:23:11 +01:00
Matthias Köfferlein a792cf4c1e
Merge pull request #424 from KLayout/issue-407
Issue 407
2019-11-22 23:12:44 +01:00
Matthias Köfferlein c5dc7c9fa8
Merge pull request #423 from KLayout/issue-415
Fixed #415 (text mode for XML reader and stream writer to avoid macro format confusion)
2019-11-22 23:12:31 +01:00
Matthias Köfferlein ac7e17ffcb
Merge pull request #422 from KLayout/issue-406
Issue 406
2019-11-22 23:12:16 +01:00
Matthias Köfferlein 9200e5037d
Merge pull request #421 from KLayout/issue-417
Fixed #417: look up the net in the parent hierarchy of the net shape …
2019-11-22 23:11:59 +01:00
Matthias Köfferlein c8cf8122b6
Merge pull request #414 from KLayout/issue-411
Issue 411
2019-11-22 23:11:24 +01:00
Matthias Köfferlein 319c73e6c0
Merge pull request #413 from KLayout/issue-408
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-22 23:11:05 +01:00
Matthias Köfferlein 967e8dc5b1
Merge pull request #412 from KLayout/issue_410
Fixed issue #410
2019-11-22 23:10:52 +01:00
Matthias Köfferlein b6869e4deb
Merge pull request #409 from KLayout/netlist_properties
Netlist properties
2019-11-22 23:10:39 +01:00
Matthias Koefferlein e4596e4971 Fixed #428 (hide edit buttons for user properties in viewer mode) 2019-11-22 22:40:01 +01:00
Matthias Koefferlein d37a744322 Build issue fixed on Windows. 2019-11-21 22:03:01 +01:00
Matthias Koefferlein 215ce8812b More consistent handling of Windows/Linux switch in output stream and unit tests. 2019-11-21 21:57:49 +01:00
Matthias Koefferlein 247bfa9ac5 Implemented #407 (variables in technology base path)
The implementation uses extrapolation of strings in the
"Expressions" framework.

There is how:
* $(tech_name) -> substituted by the technology name
* $(tech_dir) -> substituted by the directory the technology file is stored in
* $(tech_file) -> substituted by the absolute path to the tech file
* $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
* $(env('X')) -> substituted by the environment variable $X
2019-11-21 21:37:00 +01:00
Matthias Koefferlein 72a3528e55 WIP: implementation of a fix (explicit text mode for XML reader and stream writer) 2019-11-20 23:52:37 +01:00
Matthias Koefferlein 6648b53822 Fixed issue #419 (multiple top circuits after flatten of netlist)
The problem is solved by always producing subcircuits for cell
instances, even if there are no connections.

The netlist comparer had to be adjusted too because subcircuits
without pins were used for representing "unknown" subcircuit pairing.

In addition, this patch should lead to a better matching of
parallel subcircuit configurations where two different subcircuits
are entirely parallel.
2019-11-20 21:56:12 +01:00
Matthias Koefferlein f28b8e60c1 Fixed #417: look up the net in the parent hierarchy of the net shape clusters to find the net for the flattened netlist. 2019-11-19 23:22:40 +01:00
Matthias Koefferlein 6c7ceb74dc Enhanced intersections algorithm so that the generated points won't overlay with finite edges from the AND part 2019-11-19 21:19:36 +01:00
Matthias Koefferlein 9af662a512 WIP: try to avoid duplicate intersection points by eliminating those. Problem persists: intersection points may be duplicates of edges arising from AND 2019-11-18 23:14:24 +01:00
Matthias Koefferlein 24759c7174 WIP: first implementation. Testing needed. 2019-11-18 19:14:06 +01:00
Matthias Koefferlein 990961e5f4 Fixed #411 (multiple device extractors for same class) 2019-11-17 23:12:50 +01:00
Matthias Koefferlein 1131532e4f First implementation, needs testing. 2019-11-17 22:45:36 +01:00
Matthias Koefferlein 68c6941318 Fixed issue #408 (internal error after EdgePairs#polygon) 2019-11-17 22:32:02 +01:00
Matthias Koefferlein 147f2c1168 Fixed issue #410 2019-11-17 22:18:55 +01:00
Matthias Koefferlein 181d5b48e6 Fixed consistent typo: PCell's -> PCells 2019-11-17 21:47:11 +01:00
Matthias Koefferlein 6d8f56194b Edge enhancements
New binding: Edge#d (distance vector), Edge#clipped and Edge#clipped_line.
"intersection_point" returns nil in case of no intersection.
Documentation error fixed (Edge#distance).
2019-11-17 21:30:08 +01:00
Matthias Koefferlein 595075a88a Let the background ruler's size scale with the font size - otherwise it gets quite small on high-res screens. 2019-11-14 02:07:50 +01:00
Matthias Koefferlein 8dddc4000f Also write the net properties to GDS or OASIS
"build_nets" will now write the net's properties
to the generated net shapes.
This might enable interesting applications.
2019-11-13 23:09:09 +01:00
Matthias Koefferlein bb3aed5773 Merge branch 'master' of https://github.com/KLayout/klayout into netlist_properties 2019-11-13 00:59:29 +01:00
Matthias Koefferlein 876487edde Added persistency of the netlist object properties into L2N/LVSDB files 2019-11-13 00:06:29 +01:00
Matthias Koefferlein d060147713 Enhancements for the netlist object properties
- more memory efficient (single pointer only)
- iterator for properties
- NetlistObject#property_keys in GSI
2019-11-12 23:00:49 +01:00
Matthias Koefferlein 6d6ac23f50 Fixed a build issue (const iterator cannot be used in std::map::erase) 2019-11-12 20:55:28 +01:00
Matthias Koefferlein 7309688944 More robustness of snap algorithm for unit tests 2019-11-12 20:13:35 +01:00
Matthias Koefferlein 6b5c951088 Fixed string unit test on MinGW 32bit 2019-11-12 19:11:21 +01:00
Matthias Koefferlein 3bf45f3638 Fixed MSVC build error. 2019-11-11 23:23:47 +01:00
Matthias Koefferlein 86e041cd51 Updated test data. 2019-11-11 23:03:40 +01:00
Matthias Koefferlein b7094affa4 Fixed a dummy error message on Windows/Python 3.7 and really ignore 2019-11-11 21:53:19 +01:00
Matthias Koefferlein 47efb9d11b WIP: fixed compiler warning 2019-11-11 07:08:37 +01:00
Matthias Koefferlein 0ce06125ca Introducing netlist object properties. 2019-11-11 07:02:02 +01:00
Matthias Koefferlein b220374bd1 Fixed gcc builds with stdc++0x (math.h issue) 2019-11-10 01:30:45 +01:00
Matthias Koefferlein 817bbf81f1 Fixed gcc builds with stdc++0x (M_PI no longer available) 2019-11-09 23:20:43 +01:00
Matthias Koefferlein 994c8b8484 Removed superfluous file from lay.pro. 2019-11-09 16:53:17 +01:00
Matthias Koefferlein 4a212e8db6 Added tests for Region#scale_and_snap and Region#snap 2019-11-07 23:33:54 +01:00
Matthias Koefferlein 988b1e563f Added unit test for DeepRegion::snap 2019-11-07 23:11:34 +01:00
Matthias Koefferlein 318efbf7b0 Fixed 'scale_and_snap' feature 2019-11-07 22:54:16 +01:00
Matthias Koefferlein 4924d0269c Fixed #400, added tests. 2019-11-06 23:28:16 +01:00
Matthias Koefferlein 1e2a8b264d WIP: because the fixed scheme works nicely, add a new scale_and_snap function. 2019-11-06 01:11:40 +01:00
Matthias Koefferlein 895206dfa1 WIP: bugfix in case of clip variants. 2019-11-06 01:11:40 +01:00
Matthias Koefferlein 51676376e6 WIP: Variant building bug fixed. Needs testing. 2019-11-06 01:11:40 +01:00
Matthias Köfferlein 990f01adec
Merge pull request #398 from KLayout/issue-393
Issue 393
2019-11-06 01:01:48 +01:00
Matthias Köfferlein 3476e40e79
Merge pull request #397 from KLayout/issue-394
Issue 394
2019-11-06 01:01:36 +01:00
Matthias Köfferlein 65b0752c5c
Merge pull request #396 from KLayout/issue-387
Implemented issue-387 (python version in grain.xml)
2019-11-06 01:01:23 +01:00
Matthias Köfferlein 9fffd03ad3
Merge pull request #390 from KLayout/issue-382
Implemented #382: text editor view for user props
2019-11-06 01:01:09 +01:00
Matthias Köfferlein b920e057a3
Merge pull request #389 from KLayout/issue-386
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-06 01:00:58 +01:00
Matthias Köfferlein 6e02f1f93e
Merge pull request #388 from KLayout/issue-368
Implemented #368: no segfault but exception if accessing invalid laye…
2019-11-06 01:00:47 +01:00
Matthias Köfferlein a351bc8085
Merge pull request #385 from KLayout/dvb
Dvb
2019-11-06 01:00:33 +01:00
Matthias Koefferlein fe9e808d61 Fixed implementation: cannot change definition of tl::Extractor::read_word and need a new method to read a word. 2019-11-03 21:50:47 +01:00
Matthias Koefferlein 41ab2d6d79 Enhanced #387 fix with pseudo-features
To restrict the requirements to a specific Python, Ruby or Qt
major version it's now possible to use "python2", "python3", "ruby1",
"ruby2", "qt4" and "qt5" features.

Like this:

  <api-version>python2 2.7</api-version>

will require python >=2.7.0, but Python 3 is not allowed.
2019-11-03 19:36:10 +01:00
Matthias Koefferlein 4f49447fe8 Fixed #393 (properly show DRC syntax errors) 2019-11-03 19:01:46 +01:00
Matthias Koefferlein 078aa36974 Issue #394 fixed: at least the toolbox layout should be fixed now 2019-11-03 18:16:26 +01:00
Matthias Koefferlein 5ba657b790 Implemented #394: now there is 'XLarge', 'XXLarge' and 'XXXLarge' for default fonts as well. 2019-11-03 17:34:25 +01:00
Matthias Koefferlein 5a288b7224 WIP: trying to use Libration Mono from Ubuntu 16.04 2019-11-03 16:29:26 +00:00
Matthias Koefferlein 37e402e9bd WIP: new fixed font bitmaps - needs improvement 2019-11-03 17:22:57 +01:00
Matthias Koefferlein 50e8f334d1 Implemented issue-387 (python version in grain.xml)
The solution is to extend the api-version field.

"0.26.1" is KLayout API >= 0.26.1
"ruby" means: Ruby required
"python 2.6.0" means: Python required with at least 2.6.0
"0.26.1; ruby; python 2.6.0" means: all of this together

In addition, the version has been set to 0.26.1 now.
2019-11-03 02:12:05 +01:00
Matthias Koefferlein 861a6fdfcc Fixed a typo in the DRC documentation. 2019-11-02 22:35:19 +01:00
Matthias Koefferlein 7910ddc6a3 Fixed a compiler warning, testcase update (part 1) 2019-11-02 20:39:59 +01:00
Matthias Koefferlein cd353219ce Implemented #382: text editor view for user props
This view is an alternative view to the table and
allows copy/paste and faster editing.
2019-11-02 12:36:02 +01:00
klayoutmatthias 627b248f7e Enhanced compatibility between platforms (problem was: order of execution of argument expressions) 2019-11-02 01:26:37 +01:00
Matthias Koefferlein 9e4bd31010 Fixed issue #386 by mapping 'None' to 'None_' in Python 2019-11-01 17:53:31 +01:00
Matthias Koefferlein e95ced6d7a Implemented #368: no segfault but exception if accessing invalid layer iterator 2019-11-01 17:36:08 +01:00
Matthias Köfferlein f2fafd1bad
Merge pull request #371 from KLayout/pull_feature
Pull feature
2019-10-31 23:51:21 +01:00
Matthias Koefferlein 679aecd11f Removed debug output. 2019-10-31 00:51:54 +01:00
Matthias Koefferlein 73556d6edc Netlist compare issue fixed
In tentative mode, node equivalence shall not be assumed
if the nodes have edges which don't appear in the other node.
2019-10-30 23:55:08 +01:00
Matthias Koefferlein 3cc38fcfc2 Solved ambiguous bus resolution problem. 2019-10-29 23:26:17 +01:00
Matthias Koefferlein 15fa99c128 WIP: bugfix ambiguous bus-like pins and net compare. 2019-10-29 22:53:37 +01:00
Matthias Köfferlein 262f2b87ad
Merge pull request #380 from rizoschrist-prime/issue-376
Fixed #376 - PCell callbacks invoked on value change
2019-10-27 20:11:23 +01:00
Matthias Koefferlein e25d4784ea Updated tests. 2019-10-26 01:48:50 +02:00
Matthias Koefferlein 373a3db1ec WIP: netlist comparer - increase default depth and added test
The test is specific for symmetric circuits with manifold
symmetry axes.
2019-10-24 23:58:30 +02:00
Matthias Koefferlein ac479c30bc Fixed unit tests. 2019-10-24 00:23:03 +02:00
Matthias Koefferlein 3a8d5d9779 Removed debug code. 2019-10-23 23:49:38 +02:00
Matthias Koefferlein 4ce37160d5 Two bug fixes in net compare (tests required):
- name compare of net names wasn't always case insensitive
- tentative evaluation was sometimes continued even after
  a contradiction was detected because the return codes
  of different edge examinations were not combined correctly.
2019-10-23 23:46:25 +02:00
Matthias Koefferlein 36ee1efe16 WIP: speedup LVS 'align' by flattening top-down 2019-10-21 22:14:36 +02:00
Matthias Koefferlein f0635589f7 WIP: fixed cell cluster interaction cache. 2019-10-20 23:27:15 +02:00
Matthias Koefferlein a0544e7807 WIP: caching of cell interactions in net cluster builder for speedup - test data needs update! 2019-10-19 21:44:29 +02:00
Matthias Koefferlein bf18000877 Added tests (breakout cells, LVS cheats) 2019-10-18 00:25:51 +02:00
Matthias Koefferlein 611f62e73f Removed debug leftover code 2019-10-17 22:47:43 +02:00
Matthias Koefferlein cd4516393b WIP: bugfix (breakout cell handling) and performance
1.) Bugfix: breakout cells also need to be handled
    when diving down inside the hier cluster builder
2.) Performance: cache cell interactions
2019-10-17 01:54:41 +02:00
Matthias Koefferlein 9e1c8b44c7 Introducing cheats for LVS/device extraction/booleans 2019-10-16 18:59:38 +02:00
Matthias Koefferlein a3b2e3a154 Bugfix for glob pattern with empty alternative. 2019-10-16 01:10:08 +02:00
Matthias Koefferlein 991778f718 "breakout cells": attempt to provide a solution for SRAM
Breakout cells can be specified to shortcut hierarchy
evaluation for some cells. This allows treating SRAM cells
as isolated entities - specifically when it comes to extracting
devices.
2019-10-16 00:49:41 +02:00
Matthias Koefferlein 5c44a54676 Bugfix: don't try to extract netlist on errors 2019-10-16 00:49:33 +02:00
Christos Rizos d8e7d29e98 Fixed #376 - PCell callbacks invoked on value change 2019-10-14 11:40:28 +03:00
Matthias Koefferlein 67526c7f4e Fixed #372 (build issue with 64 bit coordinates) 2019-10-05 20:06:30 +00:00
Matthias Koefferlein f8476bdf26 Fixed an issue with 'align' in LVS scripts - with multiple layout cells assigned to one schematic, align won't give the right results. 2019-10-05 09:30:38 +02:00
Matthias Koefferlein 2325e1bce4 Merge branch 'dvb' into pull_feature 2019-10-04 22:58:52 +02:00
Matthias Koefferlein ef56264f64 Fixed a regular arrays issue with begin_touching
In case of 1d arrays with a or b == (0,0), the iterator
was always delivering all items, not just the touching ones.
2019-10-04 22:45:23 +02:00
Matthias Koefferlein 2fa7c4b6d4 Partially enabled progress for hierarchical processor. 2019-10-04 01:48:45 +02:00
Matthias Koefferlein 212bd86aab Thread safetiness: enable multiple threads for deep region operations 2019-10-04 01:39:16 +02:00
Matthias Koefferlein 7c5ae471ab WIP: performance improvement of hier local processor
The solution is to take intruder instances from as
far as possible in the hierarchy. This provides a
performance improvement in some cases, specifically
if this leads to compression of contexts.
2019-10-03 22:53:38 +02:00
Matthias Koefferlein 5ed41cc345 Merge branch 'master' into pull_feature 2019-10-03 14:32:25 +02:00
Matthias Köfferlein a072822461
Merge pull request #367 from KLayout/pcb-l2n
Enabled net tracing for heavily decomposed polygons
2019-10-03 14:31:36 +02:00
Matthias Koefferlein e1d77a1476 pull_interacting for edges/edges and edges/regions, some enhancements and bug fixes
Bug fixes:
- use dist 1 to cover touching case properly in local processor
- handling of raw mode and is_merged state

Additional tests
2019-10-03 13:08:37 +02:00
Matthias Koefferlein 76b8bd3279 Fixed several issues with raw mode/merged semantics and many Region and Edges methods. Added edge/edge pull and edge/polygon pull. 2019-10-03 01:46:49 +02:00
Matthias Koefferlein 77c8ff50ed WIP: don't fallback to flat in case of non-deep other arguments in select_interacting and pull. 2019-10-02 00:12:04 +02:00
Matthias Koefferlein a1e87d4c14 First pull* implementation functional. 2019-10-01 23:53:05 +02:00
Matthias Koefferlein 74880a5198 First implementation of pull* methods 2019-10-01 22:06:16 +02:00
Matthias Koefferlein ca747771ac Allow preempt LVS configuration
same_nets, equivalent_pins, same_circuits and same_device_classes
can now be given at the beginning of the LVS script. This will
simplify building universal scripts with the run specific part at
the beginning (one "load" section).

The price are somewhat less specific error messages when something
fails in these methods.
2019-10-01 00:21:27 +02:00
Matthias Koefferlein 0bc2321ade Some code cleanup. 2019-09-30 23:17:42 +02:00
Matthias Koefferlein a3cecb2ebe WIP: enable multiple layout versions of one schematic circuit using 'same_circuit' 2019-09-30 23:08:15 +02:00
Matthias Koefferlein bdf5e3c124 WIP: fake pin debug issue with LVS
Fake pins: pins that happen because something connects to a cell at an
unexpected position. Such a pin is difficult to find. The solution is
to keep those nets and nur purge them so these nets can be identified
in the layout.

Here: is_floating? will be true only if there are no pins. Hence
nets with pins are not removed. is_passive is introduced for nets -
passive nets are such that don't have elements, but a pin.
Circuits are purged if they only have passive nets.
2019-09-30 21:58:13 +02:00
Matthias Koefferlein 506cfc1c6f WIP: attempt to retain nets which don't have active elements but pins. This is supposed to simplify debugging in case of fake pins. When removing those nets, the pin is very difficult to find. 2019-09-30 20:58:55 +02:00
Matthias Köfferlein 1c16cea421
Merge pull request #364 from KLayout/issue-363
Fixed #363 (able to draw invalid polygon with two points)
2019-09-29 21:26:58 +02:00
Matthias Koefferlein eda5a2497e Fixed #363 (able to draw invalid polygon with two points) 2019-09-23 00:56:09 +02:00
Matthias Koefferlein d69c60a5c5 Enabled net tracing for heavily decomposed polygons 2019-09-19 00:13:14 +02:00
Matthias Koefferlein 6c52daa3a3 Follow-up on #353 (sessions paths relative to session file)
Consistent behavior for file paths for images too.
Plus: image paths are not kept as absolute paths
inside the session.
This makes regeneration of images stable.
2019-09-18 22:05:37 +02:00
Matthias Köfferlein 9edb9d61ab
Merge pull request #361 from KLayout/issue-358
Fixed #358 (strm2oas was producing GDS)
2019-09-18 21:17:48 +02:00
Matthias Koefferlein 9c301f9744 Fixed Ruby-less builds. 2019-09-18 00:50:21 +02:00
Matthias Koefferlein a50fadffcd Fixed #358 (strm2oas was producing GDS) 2019-09-17 23:10:41 +02:00
Matthias Köfferlein 6a305cfbbf
Merge pull request #356 from KLayout/issue-353
Fixed #353 (paths relative to .lys file for rdb-file)
2019-09-16 23:36:17 +02:00
Matthias Köfferlein f5ce24066e
Merge pull request #357 from KLayout/issue-352
Fixed #352 (LVS should ignore equivalent_pins line for non-existing c…
2019-09-16 23:36:02 +02:00
Matthias Koefferlein 55475e905f Fixed #352 (LVS should ignore equivalent_pins line for non-existing circuits)
Same is true now for same_nets and same_circuits.
2019-09-15 00:18:29 +02:00
Matthias Koefferlein b747bbabd9 Fixed #353 (paths relative to .lys file for rdb-file)
This fix also includes: L2N and LVS DB files are now also
included in the sessions.
2019-09-14 22:38:23 +02:00
Matthias Koefferlein 08aacbd2e8 Provide tests to text buddy executables without framework 2019-09-13 23:46:12 +02:00
Matthias Koefferlein 4c8727182e Fixed #354 by using the proper initialization 2019-09-13 18:54:31 +02:00
Matthias Koefferlein ddbf566cd5 Updated DRC documentation (deep mode) 2019-09-09 21:47:27 +02:00
Matthias Koefferlein 5bcb2bb5cb Merge branch 'master' into dvb 2019-09-08 23:42:56 +02:00
Matthias Koefferlein 9d921e29fe Fixed Windows build. 2019-09-08 23:40:34 +02:00
Matthias Koefferlein 6eb049eecc Merge branch 'master' into dvb 2019-09-08 21:48:42 +02:00
Matthias Koefferlein 48a13162d8 Fixed build on MSVC 2019-09-08 21:45:34 +02:00
Matthias Koefferlein 56084b6b59 Merge branch 'dvb' 2019-09-08 20:07:16 +02:00
Matthias Köfferlein 77232f8a50
Merge pull request #349 from KLayout/deep-booleans
Deep booleans
2019-09-08 20:06:03 +02:00
Matthias Koefferlein a7b3f1dfcd Added documentation for dockable bookmarks feature 2019-09-08 20:01:22 +02:00
Matthias Koefferlein d9d3b3cafe Some enhancements to #343 fix
- "follow selection": allows navigating between the bookmarks
  with the cursor keys
- "manage bookmarks" now starts with the selected bookmarks
  also selected.
2019-09-08 02:23:38 +02:00
Matthias Koefferlein d2d22eafb5 Implementation of #343 (dockable bookmark window)
Here is the proposal:
- There is a new panel similar to the layer list showing the
  bookmarks. It can be shown using View/Bookmarks.
  Initially this panel is hidden.
- Double-clicking on an item in this bookmark list will
  navigate to the bookmark.
- Context menu entries of this panel are: manage, load and
  save bookmarks (like in main menu)

In addition, "bookmark this view" now proposes a bookmark name
make of "B" and a unique number.
2019-09-08 01:22:34 +02:00
Matthias Koefferlein 8a21d9718e First implementation 2019-09-08 01:11:19 +02:00
Matthias Koefferlein c95a0652cc First implementation of deep mode for XOR tool. 2019-09-07 22:30:10 +02:00
Matthias Koefferlein 26f8fc5c83 Bug fixed strmxor with deep mode, added tests. 2019-09-07 21:27:12 +02:00
Matthias Koefferlein ce5620e0bc Follow-up on #342: fixed unit tests. 2019-09-07 09:11:18 +02:00
Matthias Koefferlein f7bba9200e Merge branch 'deep-booleans' 2019-09-07 08:44:51 +02:00
Matthias Köfferlein f7173d0da4
Merge pull request #345 from KLayout/issue-317
Issue 317
2019-09-06 23:24:34 +02:00
Matthias Köfferlein 0388d51f6d
Merge pull request #348 from KLayout/help-link-not-working
Fixed: help link not working
2019-09-06 23:24:23 +02:00
Matthias Koefferlein e2cc0c48b1 Provide flat and hierarchical 'trace all nets' feature, added Netlist#flatten. 2019-09-06 23:13:21 +02:00
Matthias Koefferlein 67575a7ea2 WIP: strmxor.cc - deep mode implemented. Not tested. 2019-09-06 22:18:13 +02:00
Matthias Koefferlein 8df2199838 Fixed: help link not working
The help link wasn't working for File/Setup/Rulers/Templates
("here"). Also: if clicked from the model "Ruler and annotations setup"
the link was working but the help window wasn't usable. The modal
setup dialog was hiding the help window.
2019-09-05 22:59:08 +02:00
Matthias Koefferlein fa72885020 issue #317: provide undo combination for the paste+move sequence in 'interactive paste'. Same for 'interactive dup' 2019-09-04 23:47:05 +02:00
Matthias Koefferlein 70a4ce82b3 First implementation of infix mode
Three mode menu items appear in "Targets for Key Binding"
in the setup dialog and can be bound to a key.

"Move Interactive" will immediately start moving the
selection.

"Paste Interactive" and "Duplicate Interactive" will
paste and then immediately start moving.

Remaining issue: when Paste or Duplicate moves are
cancelled the pasted objects will still be there and
at the original location. So they are may be hard to
see. Also with Undo, two undo items are there: Paste
and Move.
2019-09-03 22:53:32 +02:00
Matthias Koefferlein 50573edad0 Added Ellipse Outline code, fixed doc. 2019-09-03 20:26:22 +02:00
Matthias Koefferlein 25e2151e28 Tiny enhancement of measurement algorithm gives more reliable results on auto-measure for 'any direction'. The solution is taking vertexes into account and accepts them as counterpart for the seed. 2019-09-02 22:58:42 +02:00
Matthias Koefferlein 2e695bd048 Leaner solution: provide snap and swap
"Swap points": will swap P1 and P2
"Snap both": will take P2 into account (before it was only P1)
2019-09-01 23:14:21 +02:00
Matthias Koefferlein 9fa5277e41 Implementation proposal
The solution tries to be a bit more generic:

- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
2019-09-01 19:59:03 +02:00
Matthias Koefferlein c7ee35a4e3 WIP: documentation 2019-09-01 17:37:23 +02:00
Matthias Koefferlein 1106d3faac Merge branch 'dvb' 2019-09-01 11:25:42 +02:00
Matthias Köfferlein 57cee7921a
Merge pull request #339 from KLayout/issue-337
Fixed #337 (cross style missing in Annotation class)
2019-08-30 14:02:04 +02:00
Matthias Köfferlein 16fd8741a5
Merge pull request #340 from KLayout/issue-338
Fixed #338 (broken doc)
2019-08-30 14:01:52 +02:00
Matthias Köfferlein fde4fd42f9
Merge pull request #336 from KLayout/multiple-files-on-import
Stream import: support multiple files
2019-08-30 14:01:38 +02:00
Matthias Koefferlein b9886e472a Fixed #338 (broken doc) 2019-08-30 13:34:19 +02:00
Matthias Koefferlein d767ef27c7 Fixed #337 (cross style missing in Annotation class) 2019-08-30 13:25:15 +02:00
Matthias Koefferlein 5cfadad54f Updated test data. 2019-08-30 11:01:00 +02:00
Matthias Koefferlein 2a8f4c9610 Updated test data. 2019-08-30 10:52:51 +02:00
Matthias Koefferlein 550e2622bf Put more amphasis on net names to resolve ambiguities
The problem was that with the floating test case, the
ambiguity resolution sometimes assigned the wrong pins
and floating pins/connected pins were swapped.

One option is to make the ambiguity resolver consider
the pin connection state when tenatively evaluating
nodes.

Another option is to put more emphasis on net names
and use them for ambiguity resolution. This has helped
here.
2019-08-30 10:24:55 +02:00
Matthias Koefferlein 60ed0cdc89 Updated test golden data (mainly: nets are not purged when there is a subcircuit pin on it) 2019-08-29 23:26:03 +02:00
Matthias Koefferlein b1acfe9587 Tried a better deal with floating pins
1.) is_floating is now only true if there is no device
    and no subcircuit on a net. This means we only purge
    nets if they are really floating. So far we purged
    nets without pins which lead to the mismatch:

    Before purge:
      Layout:            (net) <--> DEVICE.TERMINAL
      Schematic:           PIN <--> DEVICE.TERMINAL

    After purge:
      Layout:           (null) <--> DEVICE.TERMINAL
      Schematic:           PIN <--> DEVICE.TERMINAL

    (null does not match any net)

2.) circuit pin matching was a bit picky. Only when
    one circuit did not have pins, matching was sloppy.

    In real cases however, circuits may have unconnected
    pins:
    - top level pins without a counterpart (no label)
    - subcircuits pins which are not used

    We catch both cases by refining the match: if a pin
    is not used, it does not need to match against
    any other pin. It's reported as "matching against null"
    though.
2019-08-29 22:25:59 +02:00
Matthias Koefferlein 9a69d106fd Fixed some small issues in the netlist compare 2019-08-29 00:19:24 +02:00
Matthias Koefferlein f6492c80c5 Stream import: support multiple files
Multiple files can now be selected for "File/Import/Other Files into current".

NOTE: performance for many files may not be excellent
due to re-sorting of hierarchy and bounding box re-computation.
2019-08-26 22:28:35 +02:00
Matthias Koefferlein de64f61903 Fixed issue #333 (automation of auto-measure rulers) 2019-08-26 21:34:57 +02:00
Matthias Koefferlein 3a12714593 Fixed some doc issues, added doc for hierarchical compare. 2019-08-26 18:55:35 +02:00
Matthias Köfferlein cb541f935e
Merge pull request #332 from KLayout/gridline-colors
Implemented individual colors for grid lines, axes and rulers (backgr…
2019-08-26 00:19:32 +02:00
Matthias Koefferlein db9ea27324 Re-run feature for DRC too. 2019-08-25 23:47:55 +02:00
Matthias Koefferlein 441f946f43 WIP: LVS rerun feature 2019-08-25 21:55:48 +02:00
Matthias Koefferlein 515b68b76f WIP: provide a recipe registration facility for LVS rerun 2019-08-25 18:03:27 +02:00
Matthias Koefferlein 444e10d32f WIP: rerun LVS, partial LVS
Rerun LVS: a button is provided which allows re-running
the LVS or netlist extraction from the netlist browser.
TODO: a generic concept for triggering the generators

"Partial LVS" is a feature where it's possible to
select a layout subcell - running LVS then will only
compare against the corresponding schematic subcell, not
the whole tree. The magic is done by "align" which will
remove the upper hierarchy part.
2019-08-24 22:56:20 +02:00
Matthias Koefferlein c543fe7a44 Added test for floating device terminals. 2019-08-24 19:42:00 +02:00
Matthias Koefferlein a9a2cb69c8 Avoiding one assertion by not considering floating device terminals 2019-08-24 09:58:08 +02:00
Matthias Koefferlein 1b6e42d70a Fixed a segfault in the LVS result browser. 2019-08-24 08:53:19 +02:00
Matthias Koefferlein 3a93bc2162 Added test for mixed-hierarchy LVS case. 2019-08-24 00:13:38 +02:00
Matthias Koefferlein 3ae848bff4 Provide test case for spice reader with delegate for devices as subcircuits. Small bugfix in spice reader: wrong line number in warning. 2019-08-23 23:13:04 +02:00
Matthias Koefferlein 850e288a28 Implemented individual colors for grid lines, axes and rulers (background configuration page) 2019-08-23 22:31:01 +02:00
Matthias Koefferlein b0aa9b6540 Spice reader test compatible with Windows (three-digit exponential) 2019-08-21 23:03:24 +02:00
Matthias Koefferlein bceccd7ac0 Fixed issue #330 2019-08-21 00:38:57 +02:00
Matthias Koefferlein 6f2d29d05b Fixed a segfault when running a PCell definition macro (segfault happened in update of library view because the library was gone). Fixed a dialog title. 2019-08-20 23:38:48 +02:00
Matthias Koefferlein 908ddbfb5b Merge branch 'library-browser' 2019-08-20 23:14:37 +02:00
Matthias Koefferlein 45cdefcf9a Provide strict mode for device classes, dmos3/dmos4 for LVS 2019-08-20 23:12:17 +02:00
Matthias Koefferlein 50a341232c Documentation fixes (e.g. better LVS layout pictures) 2019-08-20 19:17:56 +02:00
Matthias Koefferlein b7c83eaaa6 Spice reader: subcircuits w/o pins
This happens for subcircuits which only
connect to global nets.

Plus: ".global" now accepts more than just one net
2019-08-19 23:00:24 +02:00
Matthias Koefferlein 1bc03c3b79 Implement "M" parameter for Spice
This implementation is pretty simplistic and
applies "M" the following way:
* R: R(final) = R/M
* L: L(final) = L/M
* C: C(final) = C*M
* M: W(final) = W*M
* D: A(final) = A*M
* Q: AE(final) = AE*M

The other parameters (specifically the other
geometry parameters) are not scaled yet.
2019-08-19 22:51:22 +02:00
Matthias Koefferlein 207e44837c LVS: allow missing device classes in reference schematic
Reasoning: some devices may simply not be used in the
reference schematic.
2019-08-19 22:26:50 +02:00
Matthias Koefferlein fa4da4ba0b Doc typo fixed. 2019-08-19 21:58:32 +02:00
Matthias Koefferlein 24b985f32e Better .include for Spice reader
* .inc is allowed as synonym
* Paths can be URL's (with HTTP)
* Relative resolution of paths/URL's vs. parent of .include
2019-08-19 21:45:40 +02:00
Matthias Koefferlein 9fecc4b674 Merge branch 'dvb' 2019-08-19 21:06:37 +02:00
Matthias Köfferlein 15f45fb09d
Merge pull request #327 from KLayout/query-performance-fix
Fix for layout query performance improvement: needs to check for qual…
2019-08-19 19:37:15 +02:00
Matthias Koefferlein fe4396d872 Merge branch 'issue-306' 2019-08-19 00:03:39 +02:00
Matthias Koefferlein e148898d4c Fixed an issue with drawing canvas and undo
When a "create instance" operation with a library cell
was undone the following issue could be seen: as the library
cell might create new layers in the target layout, these
needed to be undone when the operation was reverted.

But then the canvas bit planes got messed up because the
"LayoutView::set_view_ops" call was missing. Now this
happens inside the manipulation functions for deleting
and inserting layers. This should also reduce the
necessity to call LayoutView::update_content explicitly.
2019-08-18 23:56:00 +02:00
Matthias Koefferlein e9eed3842b Fix for layout query performance improvement: needs to check for qualified cell name (with lib), not pure cellname 2019-08-18 19:09:07 +02:00
Matthias Köfferlein c75a1bc2eb
Merge pull request #313 from KLayout/query-performance
Query performance
2019-08-18 17:31:17 +02:00
Matthias Köfferlein 16ae0346b8
Merge pull request #314 from KLayout/vars-for-queries
Vars for queries
2019-08-18 17:31:11 +02:00
Matthias Köfferlein bf41da69da
Merge pull request #315 from KLayout/lib-browser
Lib browser
2019-08-18 17:31:02 +02:00
Matthias Köfferlein 46128e4141
Merge pull request #319 from KLayout/issue-316
Fixed issue #316 (Text capture box has zero dimension for move)
2019-08-18 17:30:54 +02:00
Matthias Köfferlein 46d2fef0fa
Merge pull request #323 from KLayout/issue-321
Fixed issue #321
2019-08-18 17:30:47 +02:00
Matthias Köfferlein 757855cb9c
Merge pull request #324 from KLayout/issue-322
Fixed issue #322 by skipping used layer indexes - will also help with…
2019-08-18 17:30:39 +02:00
Matthias Koefferlein 2cc6909d2c Second fix for issue #306 (round function problem)
This fix adds a "amend" option to the rounded corners
dialog - disabling this option allows to skip the "undo rounding"
step in case the algorithm does not determine the rounding
properties of the input properly.

Without "amend" enabled, the rounding will always be
applied atop of any existing rounding.
2019-08-18 17:25:28 +02:00
Matthias Koefferlein 8981ed434a First fix for issue-306: some polygons are not recognized as rounded, more robust radius extraction. 2019-08-17 23:55:49 +02:00
Matthias Koefferlein 9c3f70342b key bindings and menu items visibility string packing/unpacking for scripts
New convenience functions are provided which simplify
manipulation of key bindings and menu item visibility
configuration strings. AbstractMenu#pack_key_binding
and AbstractMenu#unpack_key_binding turn a path/key
map into a single string and back. The string format
is the same than for the key-binding configuration key.

The same is provided for the menu item visibilily
with AbstractMenu#pack_menu_item_visible and
Abstract#unpack_menu_item_visible.
2019-08-17 19:54:18 +02:00
Matthias Koefferlein 7b163728ab Added UI comment 2019-08-17 19:23:14 +02:00
Matthias Koefferlein 4659569333 Primary fix issue #318 (unable to remove key binding)
For a backward compatible solution, a key binding
target of '' still means "take default". For
"nothing", a new pseudo-key "none" was defined.

For scripting, this value is available as
constant "Action#NoShortCut".
2019-08-17 19:17:40 +02:00
Matthias Koefferlein aa72d03526 Fixed issue #322 by skipping used layer indexes - will also help with DXF and other named-layer formats 2019-08-17 15:30:47 +02:00
Matthias Koefferlein 06a1cafdf4 Fixed issue #321
This is a small paradigm shift in the configuration hierarchy:
plugins (as children of root) now inherit the configuration
from the parent - now only through configure, but also through
config_get (pull with config_get vs. push with configure).

TODO: both methods are not entirely consistent as configure
can block propagation of configuration settings. But that's a
feature hardly used anyway and rather an optimization thing.
2019-08-17 14:54:48 +02:00
Matthias Koefferlein 19e3d6eab0 Fixed issue #316 (Text capture box has zero dimension for move) 2019-08-04 23:45:46 +02:00
Matthias Koefferlein 25aa54eebf Updated doc for library view 2019-08-04 01:54:16 +02:00
Matthias Koefferlein 7c0dd07d42 WIP: lib browser - cleanup and small bug fixes. 2019-08-04 00:49:08 +02:00
Matthias Koefferlein a104352a93 WIP: library browser - cleanup of unused cells in lib browser, some bug fixed, enhancements to parameter editor on drop 2019-08-04 00:08:39 +02:00
Matthias Koefferlein ed2cdc6c7e WIP: lib browser - open properties dialog after dropping PCell. TODO: needs to be modal with cancel option 2019-08-03 01:03:59 +02:00
Matthias Koefferlein 9daf63403a WIP: lib-browser - icons for lib cells. 2019-08-03 00:45:42 +02:00
Matthias Koefferlein 5ec06b9f24 WIP: library browser - show BASIC PCell variants with more parameters so they can be told apart. 2019-08-03 00:17:02 +02:00
Matthias Koefferlein 741434dc13 WIP: library browser - take selected layer for default if there is no default layer 2019-08-02 23:40:54 +02:00
Matthias Koefferlein de9db84ac7 WIP: library browser - drag & drop of PCell instances 2019-08-02 22:49:55 +02:00
Matthias Koefferlein 56bf9dd8d5 WIP: lib browser - persistence of tree state during update 2019-08-02 21:46:15 +02:00
Matthias Koefferlein fda5d86b4b Performance enhancement of netlist compare (avoid O(2) loop) 2019-08-02 01:39:07 +02:00
Matthias Koefferlein 67944240b2 WIP: lib browser, drag and drop partially works 2019-08-02 00:53:24 +02:00
Matthias Koefferlein a567002e6c Search feature for library browser plus two bugfixes
Bugfixes:
1.) A crash due to wrong key_event_handler pointer
    (relevant for hierarchy view)
2.) When switching cellview the focus wasn't changed
    and selection stayed in old cellview
2019-08-01 23:15:07 +02:00
Matthias Koefferlein 4428ef808b WIP: library browser - PCell variants as children of PCells 2019-08-01 22:52:20 +02:00
Matthias Koefferlein 0c18171e63 WIP: library browser - basic setup. Not much functionality yet. 2019-07-31 23:46:48 +02:00
Matthias Koefferlein 5faf762571 WIP: libraries view - basic skeleton 2019-07-30 23:22:26 +02:00
Matthias Koefferlein dfd713016b Added some unit tests for performance improvement of queries. 2019-07-29 22:36:39 +02:00
Matthias Koefferlein 0dcfeabaf4 Query performance improvement for the cell tree recursion case by introducing optimization hints ('filter state objectives') 2019-07-29 22:27:36 +02:00
Matthias Koefferlein e329f60257 WIP: attempt to improve performance by using name match shortcuts 2019-07-28 19:05:25 +02:00
Matthias Koefferlein e33c2f7b66 Less dependencies on compiler details for RBA/pya tests. 2019-07-28 16:36:31 +02:00
Matthias Koefferlein 49c1bacb98 Introducing variables for layout queries:
1.) The ExpressionContext class is a mapping of tl::Eval
    and allows providing a variable context for the LQ.
    Expression class is derived from ExpressionContext now.
2.) The variable lookup has been changed so that variables
    can be modified even if they come from a parent context.
3.) LayoutQuery and iterator has been given an argument to
    supply the context
2019-07-28 01:33:30 +02:00
Matthias Köfferlein 9a324727d2
Merge pull request #312 from KLayout/dvb
Dvb
2019-07-27 22:32:59 +02:00
Matthias Koefferlein 71f646c24f WIP: updated test data for latest updates, don't sort LVSDB on reading for consistency 2019-07-27 21:42:51 +02:00
Matthias Koefferlein 169cc5246d WIP: updated golden data for new device sorting in cross reference. 2019-07-27 20:37:41 +02:00
Matthias Koefferlein 2993a6411a WIP: some enhancements to cross reference and browser
Devices: try to pair unmatching ones similar to subcircuits
Don't sort devices by the device name but by class name
Show the device parameters for netlist devices (same as
for netlist browser)
2019-07-27 20:21:13 +02:00
Matthias Koefferlein 2e034c2172 Bugfix: net names need HTML escaping. 2019-07-27 00:53:21 +02:00
Matthias Koefferlein b4fa4b1bae Flattening of layout with circuit flattening.
Technically, the layout isn't flattened, but connections are made
which allow regenerating the layout even after the circuit
has been flattened.
2019-07-27 00:37:22 +02:00
Matthias Koefferlein 4f9208577b Added option to configure capture range. 2019-07-25 00:06:50 +02:00
Matthias Koefferlein 19b6347f3f Reproducible layer order for different ruby versions. 2019-07-24 20:50:28 +02:00
Matthias Koefferlein 9cad9ca024 Fixed missing initialization of device_scaling in LayoutToNetlist. 2019-07-24 20:49:56 +02:00
Matthias Koefferlein afb5cea576 Added "device_scaling" to LVS
Plus: added some missing files

Implementation details:
* scaling factor was introduced in DeviceExtractor::extract
* for easy implementation this is available in "sdbu"
* "sdbu" is made available in GSI
* to test this, the db::compare_netlist had to be enhanced to
  exactly check device parameters
* enhancement of LVS script framework and doc updates
2019-07-24 00:16:47 +02:00
Matthias Koefferlein 5dabd6093d Provide new 'align' feature in LVS for automatic circuit flattening. 2019-07-23 01:12:12 +02:00
Matthias Koefferlein aff8212f2f Provide 'align' method to auto-align circuit and cell hierarchy in LVS 2019-07-23 00:14:43 +02:00
Matthias Koefferlein 14d9689498 Added .global to Spice reader. 2019-07-22 23:02:31 +02:00
Matthias Köfferlein d87c27b4cd
Merge pull request #310 from KLayout/issue_293
Fixed #293: window title of setup form is 'Setup'
2019-07-21 23:49:38 +02:00
Matthias Köfferlein 8a66f59b6e
Merge pull request #308 from KLayout/issue-305
Fixed issue #305 (CIF reader issue with rotated boxes)
2019-07-21 23:49:11 +02:00
Matthias Köfferlein fbb8a432c4
Merge pull request #307 from KLayout/dvb
Dvb
2019-07-21 23:48:55 +02:00
Matthias Koefferlein 39011e3a37 Fixed #293: window title of setup form is 'Setup' 2019-07-21 23:22:10 +02:00
Matthias Koefferlein 8f21cdf449 Fixed issue #305 (CIF reader issue with rotated boxes) 2019-07-21 22:57:02 +02:00
Matthias Koefferlein 9d250d6df9 Using a larger branch complexity than default for LVS full test's netlist compare
In addition: typo fixed, added doc for complexity configuration
parameters.
2019-07-21 22:24:07 +02:00
Matthias Koefferlein df7195b81f Compatibility with ruby 1.8, force garbage cleanup for LVS/DRC and tests. 2019-07-21 10:23:08 +02:00
Matthias Koefferlein 6e6e449eef Consolidated test data for lvs:full - there are too many variants to support pure text compare. We use the netlist comparer now. 2019-07-21 09:20:44 +02:00
Matthias Köfferlein f82e7929d8 Fixed a conversion issue with ints on MSVC
Because long is 32bit on Windows (like int), the
conversion from long to unsigned int was subject
to sign overflow. This was fixed by going to
unsigned int via unsigned long.
2019-07-20 00:28:32 +02:00
Matthias Koefferlein 0215d05a12 Fixed unit tests. 2019-07-19 00:02:05 +02:00
Matthias Köfferlein 7fc907cf7e Fixed a segfault from the testsuite 2019-07-16 23:17:29 +02:00
Matthias Köfferlein 4e1736a181 Updated golden data of two tests for Windows. 2019-07-16 01:27:08 +02:00
Matthias Köfferlein 630f7e56d8
Merge pull request #303 from KLayout/issue-302
Fixed #302 and plus a potential invalid memory access fixed
2019-07-16 00:44:00 +02:00
Matthias Köfferlein b3e9915259 Provide special LVS test golden data for Windows (slight differences in shape order etc.) 2019-07-16 00:40:43 +02:00
Matthias Köfferlein df23830a1c Fixed a runtime issue on Windows 2019-07-16 00:39:39 +02:00
Matthias Köfferlein e4efaac12f MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT 2019-07-15 23:23:19 +02:00
Matthias Köfferlein 9820e57031 Don't write third terminal for R or C (WithBulk variants) 2019-07-15 23:19:03 +02:00
Matthias Köfferlein eb9ffb4a35 Another msvc2017 build warning fixed 2019-07-15 23:18:20 +02:00
Matthias Köfferlein 9a371b8fd2 Fixed some build warnings with msvc2017 (maybe real issues and memory leaks) 2019-07-15 23:17:24 +02:00
Matthias Köfferlein 350ae397aa MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT 2019-07-15 00:18:18 +02:00
Matthias Köfferlein ede217cd0b Fixed #302 and plus a potential invalid memory access fixed 2019-07-15 00:17:01 +02:00
matthias 89ce2be5c2 Merge remote-tracking branch 'origin/master' into dvb 2019-07-14 01:28:11 +02:00
Matthias Köfferlein 1b08656835
Merge pull request #300 from KLayout/issue-264
Issue 264
2019-07-14 00:12:58 +02:00
Matthias Köfferlein 397e86f4b4 Merge branch 'dvb' of https://github.com/klayout/klayout into dvb 2019-07-13 23:39:16 +02:00
Matthias Köfferlein 4172b60d60 Fixed a build issue on Windows. 2019-07-13 23:38:26 +02:00
matthias 8b17a4da4f A few utility functions
Polygon#is_rectilinear?, Polygon#is_empty?
and same for SimplePolygon
2019-07-13 22:45:22 +02:00
matthias 5f27341995 Some refactoring, better templates
1.) tl::Stream now can read from resources
    (:<path> URL's)
2.) LVS/DRC templates are kept as resource,
    "create_template" uses the URL to read them.
3.) Added samples for LVS
4.) Configured LVS to match sample
2019-07-13 18:40:00 +02:00
matthias ebca5e1ce6 Bugfix: small LVS and DRC macro iessues (LVS and DRC menus not working etc.) 2019-07-13 17:00:05 +02:00
Matthias Koefferlein 1251fb2cd6 Added < and > to allowed chars for net names in Spice reader 2019-07-13 08:50:13 +02:00
Matthias Koefferlein 2d57a11f8c Fixed #287 (RecursiveShapeIterator to ObjectInstPath)
There is a new constructor for ObjectInstPath to
create one from a RecursiveShapeIterator.
2019-07-12 23:13:50 +02:00
Matthias Koefferlein e8ff8156a0 fix for #264
1. Errors in coerce_parameters are now shown as
   red label + warning icon in the parameters dialog
2. Errors during produce are always logged now

Plus: the scroll bars of the PCell parameters page
don't jump back on "Apply".
2019-07-12 21:13:18 +02:00
Matthias Koefferlein c7e883cdb2 SPICE reader now assigned net names as pin names. 2019-07-12 19:00:27 +02:00
Matthias Koefferlein f66b094e88 Merge branch 'dvb' into dvb_test 2019-07-12 17:44:11 +02:00
Matthias Koefferlein a47190f3ab Write short versions of LVS and L2N DB by default. 2019-07-12 17:43:43 +02:00
Matthias Koefferlein 85717beca6 Allow saving LVS DB files from netlist browser. 2019-07-12 17:29:44 +02:00
Matthias Koefferlein d109a22cf5 Renaming (distro nodes->virtual nodes) 2019-07-11 23:20:42 +02:00
Matthias Koefferlein e32ee570c7 Alternative algorithm for subcircuit matching - tests updated, refactoring 2019-07-11 23:19:02 +02:00
Matthias Koefferlein 7bc4acd8f6 WIP: new version of subcircuit match algorithm - needs refactoring. 2019-07-11 23:14:53 +02:00
Matthias Koefferlein 0d9273aaf6 WIP: new subcircuit match algorithm 2019-07-11 00:16:36 +02:00
Matthias Koefferlein 2f01c7a0bd WIP: other algorithm for handling subcircuits in netlist compare 2019-07-10 23:40:16 +02:00
Matthias Koefferlein 67f786035c WIP: during refactoring 2019-07-10 00:32:53 +02:00
Matthias Koefferlein 1fd069ca99 Provide a better description for net mismatch with warning. 2019-07-09 20:29:35 +02:00
Matthias Koefferlein cef96902ad Boundary for circuits, reverted automatic generation of global pins
- global pins have been generated for device cells too and lead
  to implicit pins which may not be desired. The original problem
  was how to make abstract circuits comparable. This has to be
  solved differently.
- Circuit boundaries are good for displaying the boxes for
  abstract circuits
2019-07-09 19:55:48 +02:00
Matthias Koefferlein 0c6ead6f90 WIP: introduced boundary into L2N format so we have something to display for abstracts. 2019-07-09 01:18:23 +02:00
Matthias Koefferlein c9e08c4500 WIP: propagate global nets to parent hierarchy even if there is no shape inside the cell. 2019-07-08 23:11:35 +02:00
Matthias Koefferlein bdb8a7bcc2 WIP: reverted modifications on SPICE reader. 2019-07-08 21:51:59 +02:00
Matthias Koefferlein 9625caea65 WIP: added full LVS test. 2019-07-08 21:43:06 +02:00
Matthias Koefferlein b48453633f WIP: some fixes and small enhancements. New tests. 2019-07-08 00:09:10 +02:00
Matthias Koefferlein bc2d9448d6 Providing LVS tests. 2019-07-07 21:33:28 +02:00
Matthias Koefferlein 95a1e38fe3 WIP: better reproducablility for .lvsdb layer names, updated tests. 2019-07-07 19:39:00 +02:00
Matthias Koefferlein 993ef78575 WIP: some cleanup/enhancement
General topic: abstracts and swappable pins.
Issue: we work bottom up and assign pins. This is the
basis for net graph building. But swappable means those
pins can change. The compare works fine, but debugging
output is strange: as the pin assigned is fixed, the nets
found to be attached to a circuit might not fit any
proposed pin pair (which does not contain swapping).

The problem gets worse with abstracts.

The enhancements are
- Such cases generate only warnings in the browser
  and the message says swapping might be the case
- Floating nets are treated differently. This should
  lead to a better performance for abstracts/black boxes,
  but in case of disconnected pins (due to wire errors),
  floating nets happen to create mismatches in the nets above.
- Net graph building does not consider swappable nets. In
  case of two swappable pins this wouldn't be an issue, but
  for more than two this would create ambiguities and
  prevent topological matching.

Plus: Debug output option for net graph

Tests updated
2019-07-07 18:17:14 +02:00
Matthias Koefferlein ace0788f85 WIP: Spice reader reads pin names from nets 2019-07-07 00:05:22 +02:00
Matthias Koefferlein 0e5ecdc36b Attempt to make LVS compare output a little more predictable with boundary cases
- For unattached subcircuit pins no error should be reported
- For abstract nets, graph propagation through subcircuit pins isn't attempted.
  Abstract nets are only dummy-associated currently.
2019-07-06 23:40:49 +02:00
Matthias Koefferlein 903b1f7505 WIP: fixed 'equivalent_pins' 2019-07-06 21:47:25 +02:00
Matthias Koefferlein 5ce8dd2684 WIP: added circuit blankout. 2019-07-06 19:50:20 +02:00
Matthias Koefferlein fb8a64b0e1 WIP: updated LVS doc. 2019-07-06 09:37:54 +02:00
Matthias Koefferlein 24a0c3dd00 LVS template for macros. Enhancement: 'schematic' statement can now be anywhere in LVS script. 2019-07-06 09:35:51 +02:00
Matthias Koefferlein a179705a03 WIP: more refactoring. 2019-07-06 09:15:33 +02:00
Matthias Koefferlein 0595ec2e0f WIP: one more test for LVS 2019-07-06 09:08:32 +02:00
Matthias Koefferlein 2f6aae7204 WIP: refactoring, added first tests for LVS 2019-07-06 08:52:40 +02:00
Matthias Koefferlein 15022709b4 WIP: doc update, robustness of LVS browser model (xref) 2019-07-05 23:35:14 +02:00
Matthias Koefferlein a6a0d9946c Updated documentation 2019-07-05 21:45:50 +02:00
Matthias Koefferlein fade779238 WIP: doc update. 2019-07-05 17:48:23 +02:00
Matthias Koefferlein 153bfa9c52 Updated doc. 2019-07-04 23:56:04 +02:00
Matthias Koefferlein 68f98d9f0d Some typos fixed, connect_implicit now can be used multiple times (but without glob pattern) 2019-07-04 23:55:46 +02:00
Matthias Koefferlein 71777670de Fixed unit tests. 2019-07-04 01:24:19 +02:00
Matthias Koefferlein 5e70f4fa03 Fixed an edit bug. 2019-07-04 01:18:25 +02:00
Matthias Koefferlein bd5fbc065a WIP: updated doc. 2019-07-04 01:16:08 +02:00
Matthias Koefferlein 07ae488652 WIP: bugfix - don't uppercase file names in SPICE .include, typos fixed. 2019-07-04 00:57:52 +02:00
Matthias Koefferlein 20c8c6bdaa WIP: more LVS doc. 2019-07-04 00:57:04 +02:00
Matthias Koefferlein 437ead7699 WIP: updated doc. 2019-07-03 01:48:55 +02:00
Matthias Koefferlein 0399b07ff3 WIP: Added sample / xs for vertical BJT 2019-07-03 01:25:26 +02:00
Matthias Koefferlein d913d2352c WIP: doc updated, small typos fixed. 2019-07-03 00:45:11 +02:00
Matthias Koefferlein 66a9fa41e7 WIP: added more docs, confine BJT combination to emitter parameters. 2019-07-02 21:09:32 +02:00
Matthias Koefferlein 8aa6f4edcf WIP: added more test data, doc links 2019-07-02 02:03:58 +02:00
Matthias Koefferlein 87ca28a83f WIP: updated LVS doc. 2019-07-02 01:49:56 +02:00
Matthias Koefferlein 9f26553d4b Added inverter test layout 2019-07-02 00:25:31 +02:00
Matthias Koefferlein 3c4c1b9c4f WIP: bugfixes
1.) Don't error out in batch mode (without view)
2.) Don't add nets to connectivity when they just
    serve for device recognition
2019-07-02 00:07:50 +02:00
Matthias Koefferlein f931b6a1c1 Bugfix: avoid an assertion in the netlist browser
Reason: when a circuit does not have pins and is top level,
but the reference has pins, the reference pins are regarded
to match against (nil). This case has to be reported properly,
otherwise the model can't be built consistently.
2019-07-02 00:01:11 +02:00
Matthias Koefferlein 1e49338fe9 WIP: doc. 2019-06-30 23:36:51 +02:00
Matthias Koefferlein 2f66f3ee3b WIP: Extraction of DRC and LVS doc, added doc to classes 2019-06-28 18:44:36 +02:00
Matthias Koefferlein ef1441e546 WIP: fixed unit tests. 2019-06-28 17:08:04 +02:00
Matthias Koefferlein 6ed3838baf WIP: fixed an edit failure 2019-06-28 14:43:52 +02:00
Matthias Koefferlein ed41af9b4b WIP: added documentation to LVS script. 2019-06-28 12:50:55 +02:00
Matthias Koefferlein a8f8ca0d7d WIP: fixed a display issue and a segfault in the netlist browser. 2019-06-28 11:45:58 +02:00
Matthias Koefferlein 80d86cc425 WIP: netlist browser - allow switching between L2N and LVSDB view 2019-06-28 11:27:43 +02:00
Matthias Koefferlein 910a36b83d WIP: better matching of subcircuits - attempt to map them even if not identical. This hopefully makes solving subcircuit connection problems easier. 2019-06-28 11:05:43 +02:00
Matthias Koefferlein 3310d34cf3 WIP: better tooltips and comments for LVS browser. 2019-06-27 00:14:18 +02:00
Matthias Koefferlein 955d21a656 WIP: case insensitive compare of netlists (after reading Spice, the names are caseless) 2019-06-26 20:58:42 +02:00
Matthias Koefferlein 0cbfa698f0 WIP: debugging, development
- LVS DSL debugging, enhancements
- Allow polygons with holes in L2N
- Spice Reader: was creating too many class objects
- Device class categorizer: allow associating A->C,B-C
- ...
2019-06-26 20:41:49 +02:00
Matthias Koefferlein 37012efba0 WIP: fixed unit tests, bug fix in DeepRegion -> and and not shall return a DeepRegion always. 2019-06-24 20:56:20 +02:00
Matthias Koefferlein 33bb85e4f3 WIP: live actions for netlist extraction - connect etc. are no longer delayed for better error messages 2019-06-24 19:41:02 +02:00
Matthias Koefferlein 624811d55e WIP: fixed a basic issue with empty layers
Previous: empty layers occupied a special layer in the DSS
But what when empty layers are required as outputs?
ONE layer isn't good -> would overwrite the layer and it's
no longer empty for others.
So we need to keep the layers separate.
2019-06-23 23:44:15 +02:00
Matthias Koefferlein 464a1f35fb WIP: enhancements to DRC DSL for net extraction, some bug fixes in L2N browser etc. 2019-06-23 23:23:36 +02:00
Matthias Koefferlein 0f9c50c405 WIP: new macro category: LVS 2019-06-23 16:57:41 +02:00
Matthias Koefferlein 04f0edc814 WIP: split DRC into multiple files, bug fixed from lym management. 2019-06-23 09:25:16 +02:00
Matthias Koefferlein 717e7ca0ab WIP: Fixed Spice reader/writer delegate, tests. 2019-06-23 00:08:49 +02:00
Matthias Koefferlein a1a0b62a10 WIP: doc fixes, added Netlist::simplify as convenience method 2019-06-22 22:18:55 +02:00
Matthias Koefferlein 621c3f74ed WIP: reader delegate - GSI binding, tests. 2019-06-22 22:03:32 +02:00
Matthias Koefferlein 343e340e22 WIP: SPICE reader delegate, unit tests + debugging 2019-06-22 19:44:33 +02:00
Matthias Koefferlein d174fb73fd WIP: preparations for SPICE reader delegate. 2019-06-22 18:37:32 +02:00
Matthias Koefferlein 4f41d99126 WIP: better probing of nets, fixed a bug when hiding browser. 2019-06-22 11:34:44 +02:00
Matthias Koefferlein 46dafd50ea WIP: unit tests updated 2019-06-22 10:15:32 +02:00
Matthias Koefferlein 847f60947d WIP: BJT - don't place base and emitter terminals over each other. 2019-06-22 02:19:49 +02:00
Matthias Koefferlein 8881851537 WIP: netlist browser - config UI, some fixes. 2019-06-22 01:35:54 +02:00
Matthias Koefferlein 9647c94c68 WIP: added NE parameter for BJT3/4, AE and NE are primary parameters now. 2019-06-21 23:41:08 +02:00
Matthias Koefferlein 6f6b9e898b WIP: reduced number of warnings with clang 2019-06-21 23:22:42 +02:00
Matthias Koefferlein 391484b276 Enhancement: drawing of cross fill
* Polygons were not filled
* Restrict cross filling to box-only shapes.
2019-06-20 17:55:44 +02:00
Matthias Koefferlein 32dc52143c Removed a wrong RESOURCE statement that sneaked in 2019-06-19 23:24:12 +02:00
Matthias Koefferlein a4d2be7fbf Merge remote-tracking branch 'origin/master' into dvb 2019-06-19 23:14:27 +02:00
Matthias Köfferlein 9ca1a8ae5a
Merge pull request #279 from KLayout/issue-275
Fixed #275 (don't write PCell context with OASIS)
2019-06-18 18:45:08 +02:00
Matthias Köfferlein 38ec560458
Merge pull request #280 from KLayout/issue-276
Fixed #276 (Layer properties name cannot be updated)
2019-06-18 18:44:55 +02:00
Matthias Köfferlein 2ef403e0ac
Merge pull request #282 from KLayout/issue-281
Fixed #281 (proper reporting of width/space violations in the kissing…
2019-06-18 18:44:41 +02:00
Matthias Köfferlein 782790fe2e
Merge pull request #283 from KLayout/issue-277
Fixed #277 (min_coherence not recognized by region size)
2019-06-18 18:44:28 +02:00
Matthias Köfferlein fcec51e936
Merge pull request #284 from KLayout/issue-278
Fixed #278 (lost reference to Shape object from ObjectInstPath)
2019-06-18 18:44:13 +02:00
Matthias Köfferlein 46acf1ac36
Merge pull request #285 from KLayout/issue-271
Fixed #271 (proposal, more choices for the cell origin on 'make cell')
2019-06-18 18:44:02 +02:00
Matthias Koefferlein 9d7c8d31fc Fixed #272 (error message if macro interpreter isn't available) 2019-06-18 02:03:54 +02:00
Matthias Koefferlein 03bc7e7d9a Fixed non-Qt build. 2019-06-18 01:13:41 +02:00
Matthias Koefferlein eecb62906c Fixed #271 (proposal, more choices for the cell origin on 'make cell') 2019-06-18 00:52:13 +02:00
Matthias Koefferlein 2fd43ec656 Fixed #278 (lost reference to Shape object from ObjectInstPath) 2019-06-17 23:37:35 +02:00
Matthias Koefferlein 303cda6981 Fixed #277 (min_coherence not recognized by region size) 2019-06-17 21:40:37 +02:00
Matthias Koefferlein 2389d2b391 Fixed #281 (proper reporting of width/space violations in the kissing-corner case) 2019-06-17 20:48:07 +02:00
Matthias Koefferlein 56c622053f Fixed #276 (Layer properties name cannot be updated)
In addition, this fix includes Python-related fixes: because
of the short lifetime of Python references, the functionality
was not as expected sometimes. Keeping copies of LayerPropertiesIterators
helped. Some tweaks were required to maintain the delete() semantics.
2019-06-16 21:42:07 +02:00
Matthias Koefferlein c7fe1cb189 Fixed #275 (don't write PCell context with OASIS)
The ability to disable PCell context on OASIS output
with the "write_context_info" option was added.
2019-06-16 16:48:30 +02:00
Matthias Koefferlein 0794290fb5 WIP: added RBA basic tests for device extractors. 2019-06-15 21:48:02 +02:00
Matthias Koefferlein a91c3d3a4e WIP: fixed BJT4 class, added RBA tests for new device classes. 2019-06-15 21:11:15 +02:00
Matthias Koefferlein e939d51104 WIP: BJT4 device, more parameters for resistor (W,L), BJT devices for Spice writer, tests updated 2019-06-15 18:22:04 +02:00
Matthias Koefferlein 1b2a611d83 WIP: diode extraction test. 2019-06-15 09:34:04 +02:00
Matthias Koefferlein c717eb1efa WIP: fixed RBA unit tests. 2019-06-15 00:01:40 +02:00
Matthias Koefferlein 0b5db06ca8 WIP: tests for BJT extraction 2019-06-14 23:45:04 +02:00
Matthias Koefferlein 4212a783a5 WIP: test cases for device extractors R/C with bulk 2019-06-14 21:21:11 +02:00
Matthias Koefferlein 020b874083 WIP: more device classes - unit tests for classes 2019-06-14 20:41:38 +02:00
Matthias Koefferlein a979b669db WIP: new device classes 2019-06-14 19:08:09 +02:00
Matthias Koefferlein 3569ce391c Fixed implementation of duplicate instance removed 2019-06-13 15:52:36 +02:00
Matthias Koefferlein 0d623bc57a Avoid netlist extraction issues with duplicate instances
So far, duplicate instances have lead to net propagation
into parent cells and floating nets. This is fixed by ignoring
duplicate instances where possible.
2019-06-13 13:33:28 +02:00
Matthias Koefferlein 8e1dadbe59 Updated golden data of unit tests. 2019-06-13 09:02:47 +02:00
Matthias Koefferlein ebd00c186b Enhancements for net export feature
- some refactoring
- better performance (was slow because layer iteration
  was done outside of loop and recursive cluster iterator)
- with selected nets, only the required hierarchy is
  produced. For this a new argument is added to
  LayoutToNetlist::create_cell_mapping (nets) which
  allows selecting the nets for which a cell mapping
  is requested
2019-06-12 22:55:24 +02:00
Matthias Koefferlein ad041a63bc Windows build fix. 2019-06-11 08:37:39 +02:00
Matthias Koefferlein efbe847a27 Netlist browser: Pins are not sorted as their order matters, unit tests fixed 2019-06-09 22:33:13 +02:00
Matthias Koefferlein a64726e5aa Performance enhancement of netlist model (issue was sorting by expanded name) 2019-06-09 10:05:45 +02:00
Matthias Koefferlein 13f4547789 More progress reporting, performance enhancements
Main performance enhancement: don't update layouts
between make_layer in DeepRegion
2019-06-09 09:40:45 +02:00
Matthias Koefferlein 7c220c63e1 Functional netlist hierarchy tree. 2019-06-06 01:36:07 +02:00
Matthias Koefferlein 577edea08b Added tree model for netlist hierarchy browser (LVS/L2N) 2019-06-01 22:38:27 +02:00
Matthias Koefferlein 23ba97e07b .. and one more fix of gcc 4.4.7 2019-05-31 23:25:01 +02:00
Matthias Koefferlein 22439f1a31 Syntax error fixed 2019-05-31 23:20:32 +02:00
Matthias Koefferlein 14c1f7a4d6 Another fix of gcc 4.4.7 2019-05-31 23:16:43 +02:00
Matthias Koefferlein 9c898f536b Merge branch 'dvb' into dvb_enhancements 2019-05-31 23:00:40 +02:00
Matthias Koefferlein 7d6237a90a Unescaping of net names on Spice reader -> writer/reader should be self-compatible. 2019-05-31 22:55:09 +02:00
Matthias Koefferlein 985cffc099 Unique net names for Spice netlist writer 2019-05-31 22:19:51 +02:00
Matthias Koefferlein 6f263211e2 Some more fixes for picky gcc 4.4.7 2019-05-31 00:41:11 +02:00
Matthias Koefferlein 9409cfce5c Some more fixes for gcc 4.4.7 :) 2019-05-31 00:36:14 +02:00
Matthias Koefferlein c684633dd6 Some enhancements for netlist extraction and writer
* Spice writer can now be configure to skip the debug
  comments
* < and > are allowed chars in spice names now
* global net names have second prio over labels now
2019-05-31 00:11:28 +02:00
Matthias Koefferlein 98207cb454 Another fix for gcc 4.4.7 2019-05-30 23:45:27 +02:00
Matthias Koefferlein e9cc9345f1 Fixed build on gcc 4.4.7 2019-05-30 22:53:27 +02:00
Matthias Koefferlein d4634f8620 Try to establish reproducability of clock tree compare test. 2019-05-30 07:12:49 +02:00
Matthias Koefferlein 9c6ed3e956 Merge remote-tracking branch 'origin/master' into dvb 2019-05-29 22:32:05 +02:00
Matthias Koefferlein f59e49d678 Small bugfix for glob pattern matcher. 2019-05-29 22:27:58 +02:00
Matthias Koefferlein 1935ee7ff9 Tried to fix unit tests for MSVC 2019-05-29 22:09:39 +02:00
Matthias Koefferlein dea2b76dc8 Added unit tests for res and cap device extractors. 2019-05-29 21:35:02 +02:00
Matthias Koefferlein 3b3791204d Fixed two more unit tests and renamed new 'define_layer' to 'define_opt_layer' for disambiguation 2019-05-29 01:22:11 +02:00
Matthias Koefferlein 10667d8e35 Bugfixed last commit, fixed unit tests. 2019-05-29 00:51:42 +02:00
Matthias Koefferlein 9d01cb5282 Some updates (res/cap device ex, flatten preserved geometry)
- Two new device extractors for resistors and caps
  (two-terminal only)
- R and C device classes have A and P parameters now
- A generic concept to supply terminal output layers
  for device extractors (tX).
- Converted offset to transformation for devices:
  this was required to make circuit flattening preserve
  the geometry (transformation of devices)
  L2N/LVSDB formats have been extended for this.
2019-05-29 00:10:10 +02:00
Matthias Koefferlein f4939a6efc [BUGFIX] crash when setting the line style/width > 1 2019-05-28 00:04:32 +02:00
Matthias Koefferlein 85e6cb074d Added pya test for NetlistCrossReference 2019-05-27 20:58:04 +02:00
Matthias Koefferlein 9a1f4e1973 Added pya test for LayoutVsSchematic 2019-05-27 20:36:53 +02:00
Matthias Koefferlein 759cc835d9 Added LayoutToNetlist test for pya. 2019-05-27 20:28:48 +02:00
Matthias Koefferlein 7f6afe1f8b Allow some compiler warnings in favor of passing unit tests ... 2019-05-27 18:55:27 +02:00
Matthias Koefferlein 419ed7dd78 Bugfixed the pya and RBA GSI initialization after last refactoring. 2019-05-27 18:44:42 +02:00
Matthias Koefferlein 7b7e35d3d5 Fixed some compiler warnings. 2019-05-27 18:05:38 +02:00
Matthias Koefferlein 23aa79f8a7 Bugfixed pya initialization. 2019-05-27 18:05:10 +02:00
Matthias Koefferlein 5ed61bcb5a RBA/pya: don't inject child classes into module
Previously, child classes have also appeared in
the module. Now, they only appear in the parent
class.
2019-05-27 00:54:33 +02:00
Matthias Koefferlein 4858f3418a Some refactoring of the GSI class generation scheme
The main fix was to not register the original class when
adding it as a child class. Otherwise duplication happened.

This requires sorting of some kind when generating the classes.
Some refactoring has been applied here.
2019-05-26 22:38:03 +02:00
Matthias Koefferlein 2bf3f3d5c9 Fixed unit tests, bug fixes in netlist DB model. 2019-05-26 18:28:35 +02:00
Matthias Koefferlein eb81a7e5a6 GSI binding of LVS objects. 2019-05-26 09:01:21 +02:00
Matthias Koefferlein 89cbe930ae WIP: GSI binding of LVS framework, tests and debugging 2019-05-26 01:37:45 +02:00
Matthias Koefferlein 14bc72039e WIP: integration of LVSDB into LayoutView (GSI) 2019-05-25 23:22:24 +02:00
Matthias Koefferlein 58b9cfa3c5 WIP: corrected some bugs in the GSI binding of LVS objects. 2019-05-25 22:59:52 +02:00
Matthias Koefferlein 09fe41294b WIP: GSI binding for LayoutVsSchematic and NetlistCrossReference. 2019-05-25 22:33:35 +02:00
Matthias Koefferlein 01f7939918 LVSDB browser: filter based on status ('show all') 2019-05-25 10:12:35 +02:00
Matthias Koefferlein 895b17b1c7 WIP: LVSDB browser styling 2019-05-25 01:19:19 +02:00
Matthias Koefferlein 33b836d243 LVSDB browser: styling. 2019-05-24 23:30:55 +02:00
Matthias Koefferlein 875609ffb1 Styling of LVSDB browser 2019-05-23 23:54:51 +02:00
Matthias Koefferlein 3269c4cd15 WIP: further debugging of crossref model + tests. 2019-05-23 00:06:37 +02:00
Matthias Koefferlein 57f9efa611 WIP: debugged cross-reference model 2019-05-22 23:47:38 +02:00
Matthias Koefferlein f1fc16d55f WIP: LVS DB model 2019-05-22 00:46:15 +02:00
Matthias Koefferlein abc3d38ba4 Some more fixes for Linux builds 2019-05-21 21:05:38 +02:00
Matthias Koefferlein 0b8fa69551 Added build dependency to fix some Linux builds 2019-05-21 20:49:45 +02:00
Matthias Koefferlein 252622e3f8 Fixed unit tests, support floating pins for netlist compare 2019-05-20 23:48:07 +02:00
Matthias Koefferlein 625b173379 Reworked l2n and lvsdb format such that reading/writing gets more reproducible: maintain unnamed state of devices, subcircuits and pins 2019-05-20 22:33:23 +02:00
Matthias Koefferlein 834dcc7474 WIP: LVSDB reader/writer fixes 2019-05-19 23:42:31 +02:00
Matthias Koefferlein ea8320dcf8 WIP: LVSDB reader/writer: bugfixes, refactoring, tests. 2019-05-19 22:55:03 +02:00
Matthias Koefferlein 81e512e1cd WIP: Debugging of LVS DB writer 2019-05-19 10:13:20 +02:00
Matthias Koefferlein b2fee5da3d WIP: LVS DB writer. 2019-05-19 00:34:14 +02:00
Matthias Koefferlein bee662eea8 WIP: refactoring of LVS/L2N DB readers 2019-05-18 22:24:58 +02:00
Matthias Koefferlein c09db62cf6 Supply a base class binding for netlist compare event receivers 2019-05-18 22:24:35 +02:00
Matthias Koefferlein 3a11951175 WIP: LVS DB structure, reader 2019-05-18 21:39:54 +02:00
Matthias Koefferlein d006d0c91e WIP: some refactoring 2019-05-17 21:49:40 +02:00
Matthias Koefferlein 65ea72c569 WIP: netlist cross reference - refactoring of sorting, more robust 2019-05-16 23:26:49 +02:00
Matthias Koefferlein 95caca1dd5 WIP: netlist cross reference - tests and bugfixes 2019-05-16 22:43:28 +02:00
Matthias Koefferlein 924daa65b7 WIP: tests for netlist cross ref. 2019-05-16 00:09:06 +02:00
Matthias Koefferlein a46d991c6f WIP: netlist cross-reference 2019-05-15 23:00:02 +02:00
Matthias Koefferlein 67e68e9e4f WIP: fixed net colorizer 2019-05-13 23:56:49 +02:00
Matthias Koefferlein 829e337462 WIP: prepared dual mode for netlist browser. 2019-05-13 23:50:16 +02:00
Matthias Koefferlein a433361c53 WIP: prepared dual mode for netlist browser. 2019-05-13 23:36:59 +02:00
Matthias Koefferlein 6b7e4c2713 Netlist browser: tree items are sorted now. 2019-05-12 10:13:00 +02:00
Matthias Koefferlein cd34eb19f1 WIP: some refactoring. 2019-05-12 08:52:47 +02:00
Matthias Koefferlein 590f078d6a WIP: cleanup. 2019-05-11 22:37:24 +02:00
Matthias Koefferlein f72790e808 WIP: glob pattern - GSI binding to enable compatible implementations. 2019-05-11 22:35:50 +02:00
Matthias Koefferlein dfb9cdad4f WIP: refactoring of glob pattern 2019-05-11 18:31:42 +02:00
Matthias Koefferlein b171ee5ae1 WIP: refactoring of glob pattern (goal is to support more pattern) 2019-05-11 18:23:31 +02:00
Matthias Koefferlein 72cadf6d5d WIP: more powerful glob pattern 2019-05-11 02:29:38 +02:00
Matthias Koefferlein 252b1551dc Bugfix: strmrun issues
- strmrun did not support x[rb] notation for file type
- x.y.py was rejected because y.py was taken as the suffix
- reason was extension() function for which there is
  an extension_last() now
- but this function is no longer used as the lym::Macro
  object is used now
2019-05-10 23:43:57 +02:00
Matthias Koefferlein 56f6143e4f Added RBA::Technology#clear_technologies 2019-05-10 23:24:04 +02:00
Matthias Koefferlein bfe5c7c2b9 Fixed #265: put CIF at the end of the detection chain
The CIF format is kind of fuzzy and supports a high
degree of syntactic freedom. Hence the format detection
is not quite reliable. Do CIF as last resort.
2019-05-10 23:10:14 +02:00
Matthias Koefferlein 6f689863b6 Fixed MSVC build, fixed unit tests. 2019-05-10 21:09:19 +02:00
Matthias Koefferlein 0f0dd42b4d Refactoring and GSI binding for combined device interface. 2019-05-10 18:32:05 +02:00
Matthias Koefferlein 675a96eb9e WIP: some refactoring. 2019-05-10 00:40:49 +02:00
Matthias Koefferlein dda7ee8b60 WIP: a small refactoring. 2019-05-10 00:18:58 +02:00
Matthias Koefferlein ea28530c55 L2N: combined device persistance (complex concept - needs simplification?) 2019-05-10 00:15:51 +02:00
Matthias Koefferlein db1e813635 WIP: combined devices and geometry/L2N DB representation. Yet to do: device cell transformation beyond vector? 2019-05-09 01:07:54 +02:00
Matthias Koefferlein 9a361ee234 WIP: Support for combined devices 2019-05-08 00:14:08 +02:00
Matthias Koefferlein 2302036d6f Fixed a compiler warning, build compatibility with Qt5 2019-05-06 19:06:06 +02:00
Matthias Koefferlein 1dbb25b2e8 Some refactoring (reuse cell context cache) 2019-05-06 01:54:10 +02:00
Matthias Koefferlein a3da8231a2 Netlist browser fixes
- Reverted sorting of circuits top-down because the solution
  was inconsistent -> needs to be solved by proxy
- Provide a sample transformation for subcircuits without connections
  (potential for refactoring!)
2019-05-06 01:20:00 +02:00
Matthias Koefferlein 99b47f732a Netlist browser enhancements
- better performance when changing layer properties (by deferred
  execution of the callback)
- coloring of nets (net color has precedence)
- sorting of circuits top-down
2019-05-06 00:09:31 +02:00
Matthias Koefferlein 30fdb0089b Integration of netlist extractor with net tracer plugin (-> "trace all nets") 2019-05-05 22:30:07 +02:00
Matthias Koefferlein a48f190bcb Merge remote-tracking branch 'origin/master' into dvb 2019-05-05 01:31:41 +02:00
Matthias Koefferlein c33fd40ec9 Switched l2n format to relative mode by default (relative mode is an option and maybe shorter) 2019-05-04 23:06:18 +02:00
Matthias Koefferlein 655d4bccdd Netlist browser: command line option -mn to open netlist DB from command line. 2019-05-04 22:18:15 +02:00
Matthias Koefferlein 20eb53d626 Netlist browser: Esc now clears the selection rather than closing the browser window. 2019-05-04 22:09:23 +02:00
Matthias Koefferlein 6cf4df1cb1 BUGFIX (general): closing a cellview did not adjust the hidden cell flags properly. 2019-05-04 21:54:06 +02:00
Matthias Koefferlein 4c31d5ed1b Netlist browser: some refactoring, fixed unit tests. 2019-05-04 21:46:25 +02:00
Matthias Koefferlein 00bd297e3b WIP: netlist browser - highlighting of devices, subcircuits 2019-05-04 20:43:21 +02:00
Matthias Koefferlein ceb3d39ddb WIP: netlist browser - device links 2019-05-04 19:39:58 +02:00
Matthias Koefferlein 7e9e0dd5e6 WIP: netlist browser 2019-05-04 19:24:17 +02:00
Matthias Koefferlein bc26e32a68 WIP: netlist browser 2019-05-04 18:48:57 +02:00
Matthias Koefferlein 548f16f1df WIP: tried to provide a more consistent net building feature (here: building hierarchical nets with properties as net annotation - needs cell variants if properties are assigned to subcells too) 2019-05-04 00:37:38 +02:00
Matthias Koefferlein 2aaec56adb WIP: netlist browser - extended the net export scheme of build_net to support net annotation and flattening. 2019-05-03 23:33:37 +02:00
Matthias Koefferlein 062b74aad7 WIP: net export feature, first part 2019-05-02 23:30:44 +02:00
Matthias Koefferlein 18bbc24484 Netlist browser: allow different database units between storage layout and original layout 2019-05-01 23:17:01 +02:00
Matthias Koefferlein 08d1cff797 DRC documentation images updated - have not been made with full hierarchy. Fixed script. 2019-05-01 23:03:14 +02:00
Matthias Koefferlein 71d1f4567c Netlist browser: net icons for connections. 2019-05-01 22:26:05 +02:00
Matthias Koefferlein 086ddeace7 Netlist browser bugfix: show subcircuit nets in coordinate system of subcircuit 2019-05-01 21:42:10 +02:00
Matthias Koefferlein 60216ee3f6 Netlist browser: some bug fixes in search, probe net feature. 2019-05-01 00:24:43 +02:00
Matthias Koefferlein 4e15b3df92 Netlist browser: detailed info box. 2019-04-30 00:18:11 +02:00
Matthias Koefferlein e661bac0a7 Netlist browser: fixed a segfault on 'unload all' 2019-04-28 22:57:06 +02:00
Matthias Koefferlein 0983ebc854 Fixed unit tests. 2019-04-28 21:19:08 +02:00
Matthias Koefferlein c4b5c648b7 Netlist browser: warning if not all shapes are highlighted. 2019-04-28 19:40:55 +02:00
Matthias Koefferlein d68c61394a Netlist browser: find text feature. 2019-04-28 19:22:39 +02:00
Matthias Koefferlein bfea3fdc2f Netlist browser - some bugfixes, multiple selection of nets, colorizing 2019-04-28 16:28:39 +02:00
Matthias Koefferlein f8d09a642b WIP: netlist browser - coloring 2019-04-28 00:41:47 +02:00
Matthias Koefferlein dc3f200119 Aligned net browser config with net tracer. 2019-04-27 00:30:45 +02:00
Matthias Koefferlein c613ddb633 WIP: netlist browser: context menu. 2019-04-26 23:32:26 +02:00
Matthias Koefferlein 97fb852579 WIP: some refactoring. 2019-04-26 23:27:16 +02:00
Matthias Koefferlein b4d5fcbf16 Netlist browser: full information display for single netlist. 2019-04-26 21:51:52 +02:00
Matthias Koefferlein c19dc41506 WIP: netlist browser 2019-04-25 01:47:16 +02:00
Matthias Koefferlein 9ee58b161f WIP: netlist browser 2019-04-25 01:23:36 +02:00
Matthias Koefferlein 5500ca45d8 Icons for netlist browser 2019-04-23 23:34:07 +02:00
Matthias Koefferlein 13cd80376a Fixed a segfault when closing the netlist browser. 2019-04-23 19:52:22 +02:00
Matthias Koefferlein 7f9da5e8de Introduced concept of device class templates
This concept allows to persist at least the standard
(built-in) device classes into L2N DB files. This way
device classes are persisted.
2019-04-23 19:44:07 +02:00
Matthias Koefferlein 46b47ff0d9 WIP: netlist browser - removed self test, is unit test now. 2019-04-22 22:00:47 +02:00
Matthias Koefferlein 0410ae765e WIP: netlist browser - some debugging 2019-04-22 21:53:53 +02:00
Matthias Koefferlein 611cf9eb7b WIP: some refactoring 2019-04-22 21:28:19 +02:00
Matthias Koefferlein 969d4e80cd WIP: netlist browser. 2019-04-22 09:28:26 +02:00
Matthias Koefferlein 5b8a9cf49c WIP: netlist browser 2019-04-22 01:25:48 +02:00
Matthias Koefferlein 59aa5758f5 WIP: netlist browser. 2019-04-21 10:54:25 +02:00
Matthias Koefferlein ae9064021c WIP: netlist browser. 2019-04-21 10:41:20 +02:00
Matthias Koefferlein 20b984cc50 Naming of layers isn't required anymore for connect et al: names are given automatically now. 2019-04-20 20:30:12 +02:00
Matthias Koefferlein 767f6a7c48 WIP: first code pieces 2019-04-20 10:33:56 +02:00
Matthias Koefferlein 8121f70e65 Netlist compare: Net mismatches reported if nets don't match but we still will proceed 2019-04-18 00:01:21 +02:00
Matthias Köfferlein e42b731e41
Merge pull request #262 from KLayout/issue-261
Fixed #261 (iterator must not be incremented while value is used)
2019-04-17 22:15:36 +02:00
Matthias Koefferlein 567769f13d More robust WebDAV test by sorting the order of collection items 2019-04-17 22:01:56 +02:00
Matthias Koefferlein e73c853873 Another fix for CenOS6 builds. 2019-04-17 07:24:31 +02:00
Matthias Koefferlein 0bde41446a Fixed #261 (iterator must not be incremented while value is used) 2019-04-16 23:54:11 +02:00
Matthias Koefferlein 42cb95188d Fixed build issue on CentOS6 2019-04-16 20:48:58 +02:00
Matthias Koefferlein 197d99ab62 Unit test fixed. 2019-04-16 07:10:34 +02:00
Matthias Koefferlein b5d21dadd0 Fixed a segfault in an application test. 2019-04-16 00:09:41 +02:00
Matthias Koefferlein eabf558186 netlist exaction: selective net joining with labels
Now, a glob pattern can be used to identify the labels
which implicitly join nets. Also, net joining now
only happens on top level.
2019-04-15 23:24:27 +02:00
Matthias Koefferlein 3ebdfa83f9 Netlist compare: successfully applied the netlist compare to a bigger example. 2019-04-14 19:38:31 +02:00
Matthias Koefferlein 9f3bea92fb WIP: less strict pin matching (for top levels with/without pins). Fixed tests. 2019-04-14 19:22:07 +02:00
Matthias Koefferlein 699e94a45f WIP: added configuration options (complexity, depth) for net compare 2019-04-14 19:11:42 +02:00
Matthias Koefferlein 92524dcf57 WIP: netlist compare - bugfixed latest version and updated tests. 2019-04-13 19:56:08 +02:00
Matthias Koefferlein 4e85ae7db0 WIP: netlist compare (better backtracking) 2019-04-13 02:48:10 +02:00
Matthias Koefferlein e855d8df35 WIP: fixed unit tests. 2019-04-12 00:31:48 +02:00
Matthias Koefferlein 187baf2941 WIP: enhanced backtracking of netlist compare. 2019-04-12 00:15:36 +02:00
Matthias Koefferlein e03a524fcf WIP: netlist compare, bug fixes. 2019-04-11 00:47:36 +02:00
Matthias Koefferlein c0b1c4f775 WIP: enhanced backtracking for netlist compare 2019-04-11 00:13:19 +02:00
Matthias Koefferlein f34d161e2f WIP: new backtracking algorithm for net matching. 2019-04-09 23:13:40 +02:00
Matthias Koefferlein a3edd95f94 WIP: new backtracking algorithm for net matching. 2019-04-09 22:31:03 +02:00
Matthias Koefferlein 6b6cc5a34f WIP: network compare, debugging output. 2019-04-09 16:44:47 +02:00
Matthias Koefferlein 2e9422a753 Netlist compare: a little less freedom when picking derived net pairs ... 2019-04-08 21:32:41 +02:00
Matthias Koefferlein 7cdd40dabb Netlist compare: more detailed derivation of net assignments from known nets (pairing by deduction) 2019-04-08 21:21:34 +02:00
Matthias Koefferlein be35646c24 Spice reader/writer: more consistent with respect to allowed characters now. 2019-04-08 21:20:22 +02:00
Matthias Koefferlein c0bf5d955c Removed a debug statement. 2019-04-07 11:49:59 +02:00
Matthias Koefferlein c474fa6550 Bugfix: Spice reader needs to transform length units to micrometer 2019-04-07 11:09:08 +02:00
Matthias Koefferlein f6836b96a2 WIP: some enhancements
Spice writer: don't prefix model name with "M"
Added "device_class_mismatch" message to netlist compare
Assertion if device classes or circuits are nil on
"same_..."
2019-04-07 10:15:57 +02:00
Matthias Koefferlein df2bd5e80a Netlist: flatten subcircuits, circuits 2019-04-06 23:36:08 +02:00
Matthias Koefferlein 18ee59023e Speedup of Spice format netlist reader 2019-04-06 21:14:25 +02:00
Matthias Koefferlein 8f1db684c0 Fix: account for rounding errors when doing default compare of device parameters. 2019-04-06 20:33:29 +02:00
Matthias Koefferlein aad52b77ba Netlist compare: added the ability to filter small caps and high resistance devices 2019-04-06 19:46:13 +02:00
Matthias Koefferlein da5680ef24 Netlist compare: configurable device parameter compare scheme. 2019-04-06 15:19:43 +02:00
Matthias Koefferlein 43f65e4d29 Added tests for GSI binding of dbNetlistCompare 2019-04-06 00:18:37 +02:00
Matthias Koefferlein c5a56dbc5f WIP: GSI binding for netlist comparer. 2019-04-04 23:41:46 +02:00
Matthias Koefferlein 52fb8b0f65 Merge remote-tracking branch 'remotes/origin/master' into dvb 2019-04-04 07:35:43 +02:00
Matthias Köfferlein 6be05609e8
Merge pull request #255 from KLayout/issue-252
Issue 252
2019-04-04 07:31:51 +02:00
Matthias Köfferlein a1bac382dc
Merge pull request #256 from KLayout/issue-251
Fixed #251 - exit handler missing? [skip ci]
2019-04-04 07:30:13 +02:00
Matthias Köfferlein 053db73e85
Merge pull request #257 from KLayout/spell-fixes
Fixed some spelling errors (allow to, allows to)
2019-04-04 07:30:02 +02:00
Matthias Koefferlein 5310a37f75 Fixed #251 - exit handler missing? [skip ci]
RBA::MainWindow::instance.destroyed do
  RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end

at_exit do
  puts "It's over!"
end

RBA::Application::instance.aboutToQuit do
  RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end
2019-04-03 23:29:40 +02:00
Matthias Koefferlein eacd5fc19d Fixed some spelling errors (allow to, allows to) 2019-04-03 19:15:09 +02:00
Ruben Undheim d287b6958b A few more spelling fixes 2019-04-03 08:23:27 +02:00
Matthias Koefferlein 61a61a2a5a WIP: added lib module to qmake-based python module build
This works:

  import klayout.db
  import klayout.lib
  print(klayout.db.Library.library_names())   # says ["Basic"]

Also works:

  from klayout import *

Does not work:

  # import klayout.lib needs to be done before the libraries
  # are used initially
  import klayout.db
  print(klayout.db.Library.library_names())   # says []
  import klayout.lib
  print(klayout.db.Library.library_names())   # says []
2019-04-03 01:07:22 +02:00
Matthias Koefferlein 8e9f15669f WIP: utilizing netlist compare for DRC checks as well
+ Some enhancements (e.g. enable pin swapping for pins
  without names and devices or subcircuits)
2019-04-02 22:39:29 +02:00
Matthias Koefferlein 89ffd7e3da WIP: Simple SPICE reader. 2019-04-01 22:46:33 +02:00
Matthias Koefferlein 9613ad72c8 WIP: netlist compare - using it for more tests
Issue solved: some circuit pins may not have a net - these
need to be ignored.

Requirement: all pins with a net must be mapped.

Detached pins are not present in the mapping table.
A dummy mapping table was introduced to allow dropping
of pins in the second circuit too.

Output of compare should not depend on memory location
anymore and pin mismatch reporting should include all
pins.
2019-03-31 23:59:43 +02:00
Matthias Koefferlein 06e326dfd9 WIP: netlist compare - some more tests by netlist compare. Needs fixing. 2019-03-31 19:00:42 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
Matthias Koefferlein b391b4510f WIP: can compare empty circuits now
Empty circuits play a role as abstracts. They
are compared by using the pin names the nets
are attached to. The implementation change is:
* nodes without device terminals or subcircuit pins
  are compared through their net properties (count
  and name of pins attached)
* some enhancements of the net string serializer
  have been made to account for pin name mismatches.
2019-03-31 09:53:51 +02:00
Matthias Koefferlein 2452c72d2d WIP: netlist compare deployed for netlist extractors
Some enhancements were required:
* Clusters left over from joined clusters must not be
  turned into nets: this leads to dummy nets.
* null Nets can happen as targets of edges. Don't assert
  in this case but treat null nets as identical for both
  netlists.
* Don't resolve ambiguous nets if there are options to
  do this non-ambiguously.
* logger can be null
* Added compare_netlists to dbTestSupport
2019-03-30 23:04:57 +01:00
Matthias Koefferlein f06d435b05 WIP: netlist comparer - moved into it's own files. 2019-03-29 00:37:45 +01:00
Matthias Koefferlein e8d59504dd WIP: netlist compare - forced matching of circuits. 2019-03-29 00:13:13 +01:00
Matthias Koefferlein d255617051 WIP: netlist compare - tests for device class equivalence mapping, added Netlist#device_class_by_name 2019-03-28 18:01:22 +01:00
Matthias Koefferlein cefd6e91cf WIP: some refactoring, netlist compare. Goal: support explicit device class and circuit mapping. 2019-03-27 23:17:35 +01:00
Matthias Koefferlein b44a55d901 WIP: netlist compare - pin swapping. 2019-03-26 23:38:36 +01:00
Matthias Koefferlein 46cd80d606 WIP: netlist compare - terminal swapping of devices. 2019-03-26 22:05:08 +01:00
Matthias Koefferlein e0cb3f6303 WIP: netlist compare - subcircuit matching enhanced. 2019-03-26 20:54:49 +01:00
Matthias Koefferlein 93d2341bc7 WIP: netlist compare 2019-03-26 00:10:10 +01:00
Matthias Koefferlein fec2348d97 WIP: Net compare. 2019-03-25 23:26:46 +01:00
Matthias Koefferlein 1a30a3919d WIP: Net compare with subcircuits. 2019-03-25 22:14:16 +01:00
Matthias Koefferlein 55052038ea WIP: netlist compare 2019-03-24 21:14:08 +01:00
Matthias Koefferlein bb2d3765b8 WIP: netlist compare, ambiguous net resolution, device mapping. 2019-03-24 00:45:58 +01:00
Matthias Koefferlein 25b7ab9dab WIP: netlist comparer 2019-03-23 10:31:29 +01:00
Matthias Koefferlein 5fe67e802f Applied Qt binding fix to qt5 as well. 2019-03-23 01:10:01 +01:00
Matthias Koefferlein 7042cdb98b Ported netlist normalization for #246 merge (unit test compatibility windows/linux) 2019-03-22 21:54:45 +01:00
Matthias Köfferlein d1acd722ad
Merge pull request #246 from KLayout/issue-245
Issue 245
2019-03-22 21:49:39 +01:00
Matthias Koefferlein 4e63b38092 Further normalization of Spice test files (unit tests) 2019-03-22 21:47:52 +01:00
Matthias Koefferlein 8f34a93891 Fixed RBA unit tests (load font from resource) 2019-03-22 21:42:40 +01:00
Matthias Köfferlein 85808527c6
Merge pull request #244 from KLayout/issue-241
Fixed issue-241 (no TextGenerator.default_generator for pymod)
2019-03-22 17:52:22 +01:00
Matthias Koefferlein 5dfc609724 Normalize netlists before compare for windows/linux compatibility. 2019-03-22 17:51:37 +01:00
Matthias Köfferlein 0a3b068443
Merge pull request #239 from KLayout/pointer-to-temp-in-qtbinding
Bugfix: crash on Ubuntu in pya:qtbinding
2019-03-22 07:34:36 +01:00
Matthias Koefferlein 522156b467 Renamed generated .cc files (fonts, glyphs) so they don't need to be excluded in pymod builds. 2019-03-22 07:26:51 +01:00
Matthias Koefferlein e545d6af3f Refined solution for issue-245 by providing a better name mapping (checked with ngspice) 2019-03-22 00:05:17 +01:00
Matthias Koefferlein 9356f32026 Fixed issue-245 (support Spice netlist with names instead of numbers)
The option is in the Spice writer (writer.use_net_names=true).
2019-03-21 23:34:16 +01:00
Matthias Koefferlein 69282f8fef Fixed issue-241 (no TextGenerator.default_generator for pymod)
The issue was there because the fonts got imported
through Qt Resources. But in pymod there is no Qt.
The solution is to import them though compiled-in
blobs.
2019-03-21 23:11:52 +01:00
Matthias Koefferlein e424a88c90 WIP: netlist compare algo
1.) Can identify transistor netlists without subcircuits
2.) Ambiguities stay unresolved

Next steps: assign ambiguous nets one by one and continue
in case of ambiguitites.
2019-03-21 22:13:23 +01:00
Matthias Koefferlein c568838bbe WIP: netlist compare 2019-03-20 23:00:43 +01:00
Matthias Koefferlein 2d4f23abd1 Updated tests. 2019-03-19 00:08:47 +01:00
Matthias Koefferlein d7eb9162ce WIP: unified to_string/to_parsable_string of db::Netlist, step 1 2019-03-18 19:28:20 +01:00
Matthias Koefferlein e4078ca750 String serialization for netlists. 2019-03-18 02:00:33 +01:00
Matthias Koefferlein de85058ecf Bugfix: crash on Ubuntu in pya:qtbinding
Reason: a reference to a temporary object was passed
to a function. This happened for a default value.
The solution is to create a heap object to such default values.
2019-03-17 18:22:19 +01:00
matthias 4db632b799 Maxbe fixed issue-236
At least it's no longer reproducible with valgrind.
2019-03-13 17:36:30 +01:00
matthias e361a528a9 DRC layer's flatten now returns a proper DRCLayer object, enabled flat layers to become input also for deep mode L2N 2019-03-13 16:14:27 +01:00
Matthias Koefferlein 57fb764f16 Removed ambiguity for 64bit coordinate builds. 2019-03-12 00:09:52 +01:00
Matthias Koefferlein 01ff0684f2 Tried to fix a compiler issue on CentOS6 2019-03-11 21:33:33 +01:00
Matthias Koefferlein 21f8ba6f35 Tried to fix CentOS6 build fails. 2019-03-11 07:38:51 +01:00
Matthias Koefferlein 6e93942c5b Fixed build for CentOS6 2019-03-11 07:15:58 +01:00
Matthias Koefferlein 566746823c Merge remote-tracking branch 'origin/dvb' 2019-03-10 23:08:46 +01:00
Matthias Koefferlein 15040101ec Fixed a small issue in the adjust cell origin dialog. 2019-03-10 22:38:27 +01:00
Matthias Koefferlein 41fdd74189 Custom devices for device extractor - tests in the DRC framework 2019-03-10 22:37:32 +01:00
Matthias Koefferlein 510c675d21 Test cases for DRC-based net extraction and flat extraction
Flat extraction requires that texts of subcells are not
considered. Otherwise they pollute the net namespace of
the top cell.
2019-03-10 19:35:13 +01:00
Matthias Koefferlein ab8107de2d Bugfix: Spice writer needs 'P' suffix for source/drain area of MOS 2019-03-10 01:26:52 +01:00
Matthias Koefferlein 5ea8c56db3 A minor doc fix. 2019-03-09 23:23:45 +01:00
Matthias Koefferlein 37cc84908e Updated test because of edge pair normlization 2019-03-09 20:25:45 +01:00
Matthias Koefferlein 6932977273 A few bug fixes and test updates
- edge pairs are normalized before turning them into polygons.
  This makes flat and deep implementation more consistent.
- deep region and flat regions were not cooperating in geo
  checks
- unnamed layers are not registered in make_layer - this
  does not make sense and will just hold a fake ref
- tests now use GDS to represent texts after transformation
  (with orientation, OASIS can't do this)
- texts are more consistently handled in the tests
- test debug output is not written in the same format
  than golden data unless special normalization is
  requested.
- a non-orientable polygon was converted to orientable in
  a text because this can be represented in GDS consistently
- DRC testsuite uses "polygons" instead of "input" to achieve
  identical behavior for deep and flat mode with respect to
  texts
- dbRegionTests are updated because texts are not allowed
  for non-original layers too
2019-03-09 19:40:38 +01:00
Matthias Koefferlein 745696507f Two bug fixes in DRC related to flatten:
- Merge semantics wasn't transferred to flat region
- Merge semantics wasn't set at all in deep region
2019-03-09 09:59:23 +01:00
Matthias Koefferlein bcc506adc6 Updated DRC doc. 2019-03-06 07:55:20 +01:00
Matthias Koefferlein b30a9278d6 WIP: updated test cases. 2019-03-06 07:41:44 +01:00
Matthias Koefferlein 8b29b30ff9 WIP: more consistent text handling
Texts are not only kept inside original layers, but
also inside deep layers. This enables using texts
from DRC.

However, texts in deep layers are kept as markers.
Mostly they are converted back to texts, but the
orientation will be lost.

The change eliminates the need to using Iterators
in DRC instead of original layers and use of
label layers in deep mode.

A drawback is the presence of marker shapes in
deep mode (unless polygon layers are created).
Also, text output to RDB is not supported from
deep layers currently.
2019-03-06 00:34:56 +01:00
Matthias Koefferlein c07d7e92d4 Fixed three compiler warnings. 2019-03-04 17:58:40 +01:00
Matthias Koefferlein bacd565d05 Bugfix: Spice writer added one pin too much to MOS4 transistors. 2019-03-04 17:26:35 +01:00
Matthias Koefferlein 604a634bf1 Generalization of layout index for LayoutToNetlist 2019-03-03 18:10:52 +01:00
Matthias Koefferlein 49621aa13a Fixed some documentation issues, DRC doc updated. 2019-03-03 10:17:54 +01:00
Matthias Koefferlein b9127a93bf Build issue fixed. 2019-03-02 17:35:15 +01:00
Matthias Koefferlein d7cb2913c9 Fixed a problem with the documentation generator. 2019-03-02 17:22:27 +01:00
Matthias Koefferlein 32c44a8693 Fixed some unit tests by cleaning up resources properly. 2019-03-02 12:10:10 +01:00
Matthias Koefferlein 9c75ee8c92 Added DRC tests for antenna check. 2019-03-02 11:23:40 +01:00
Matthias Koefferlein 5c9b652771 Integration of LayoutToNetlist into DRC framework ('Netter')
First steps are made towards providing an antenna check
2019-03-02 10:41:16 +01:00
Matthias Koefferlein 261fb027fd GSI binding of antenna check function + tests. 2019-03-02 00:38:51 +01:00
Matthias Koefferlein 8d3b94201e Antenna check: tests added, 'catchall' diode protection 2019-03-01 23:07:28 +01:00
Matthias Koefferlein 9f4f2d58d7 First version of antenna check. 2019-02-28 23:56:49 +01:00
Matthias Koefferlein f83278207c WIP: don't keep a reference to DeepLayer inside DeepShapeStore - that's against the design. 2019-02-28 22:42:40 +01:00
Matthias Koefferlein 4035c804b7 WIP: fixed bugs, added tests. 2019-02-28 22:23:20 +01:00
Matthias Koefferlein fccdee5186 WIP: provisions for DRC/network extractor integration. 2019-02-28 00:55:06 +01:00
Matthias Koefferlein 36a3540e16 Allow empty regions for device extractor. 2019-02-25 23:51:21 +01:00
Matthias Koefferlein 21ea37f747 Updated test golden data. 2019-02-25 22:52:37 +01:00
Matthias Koefferlein 9b31bd3214 Fixed crash by introducing a new scheme for storing cluster refs
The previous implementation was based on the Instance
pointers, but these got invalidated during device cell
construction. Now an explicit copy of the instance is
kept.
2019-02-25 22:36:24 +01:00
Matthias Koefferlein d4ed21f42a Just new tests 2019-02-25 22:34:06 +01:00
Matthias Koefferlein adc21b43d8 Another fix for Windows build (for gcc) 2019-02-24 00:17:33 +01:00
Matthias Koefferlein 50c73dbae8 Merge branch 'issue-234' 2019-02-23 18:16:01 +01:00
Matthias Koefferlein 60a2ce6037 Another fix for issue-234: linewidth parameter of save_image_with_options did not have any effect. 2019-02-23 18:13:49 +01:00
Matthias Koefferlein fc486062d8 Fixed issue-234 by enhancing the drawing algorithm. 2019-02-23 10:23:47 +01:00
Matthias Koefferlein f40d437a96 Fixed #232 by limiting the allowed number of string to the maximum supported stipple height (32). 2019-02-23 09:52:14 +01:00
Matthias Koefferlein 3c6aafcc0c Region: hierarchical text object detection implementated. 2019-02-23 00:56:55 +01:00
Matthias Koefferlein c7b17fb65a Merged master into dvb branch 2019-02-22 23:16:44 +01:00
Matthias Koefferlein 792de1e0e9 'break' function for regions (split polygons into pieces if required) 2019-02-22 23:10:26 +01:00
Matthias Koefferlein 18f74bac1e Enabled transformations for deep regions/edges/edge pairs - important for handling layouts with different DBUs in DRC 2019-02-22 01:02:48 +01:00
Matthias Koefferlein d830318a1f Further Windows build fixes. 2019-02-20 23:59:23 +01:00
Matthias Koefferlein 03d744cc5b Further Windows build fixes. 2019-02-20 23:20:40 +01:00
Matthias Koefferlein 0f86e0c8aa Further Windows build fixes. 2019-02-20 22:56:01 +01:00
Matthias Koefferlein 5d222690bd Further Windows build fixes. 2019-02-20 22:50:19 +01:00
Matthias Koefferlein e787a18be2 Attempt to fix Windows build 2019-02-20 22:03:53 +01:00
Matthias Koefferlein 91407ddaa9 Added tests for region processors. 2019-02-20 21:40:43 +01:00
Matthias Koefferlein 503707f361 Refactoring: based results of edge/polygon operations on delegates entirely 2019-02-20 10:10:54 +01:00
Matthias Koefferlein 124c4eb61c Refactoring: generalization of filter/processor for edges, region 2019-02-20 09:45:38 +01:00
Matthias Koefferlein 0f2d0605a9 Some more refactoring - generalized polygon processing in region. 2019-02-20 01:17:14 +01:00
Matthias Koefferlein 2e9fb9fe9a DRC bugfix: layer wasn't overwritten but added on output. 2019-02-20 00:41:24 +01:00
Matthias Koefferlein dbe8c62177 Fixed a bug introduced during refactoring: hulls/holes spoiled deep regions and produced Polygons rather than PolygonRefs 2019-02-20 00:33:46 +01:00
Matthias Koefferlein 3dd1ed4c4d Refactoring of edges processor. 2019-02-19 23:10:14 +01:00
Matthias Koefferlein 496b695ef0 Refactoring of the polygon processing in Region 2019-02-19 22:11:55 +01:00
Matthias Koefferlein 90c1d212a4 Refactoring: new concept for edge/polygon filters 2019-02-19 20:19:10 +01:00
Matthias Koefferlein 7143e75310 Some refactoring: cell variant collector isn't a big template anymore 2019-02-19 19:16:55 +01:00
Matthias Koefferlein a69e27b769 Clean up resources in DRC. 2019-02-18 23:44:14 +01:00
Matthias Koefferlein 3918172c6a Fixed a nasty issue with editable mode. 2019-02-18 23:34:46 +01:00
Matthias Koefferlein 7f71cc3a56 Some bug fixes, added tests for hier DRC (at least for what is there yet) 2019-02-18 22:24:34 +01:00
Matthias Koefferlein 0bed4615aa Fixed unit tests. 2019-02-18 21:01:19 +01:00
Matthias Koefferlein 9ec6b44c93 Added some tests for the previous commit. 2019-02-18 00:15:26 +01:00
Matthias Koefferlein b91edbabde Enabled deep mode for DRC 2019-02-17 23:21:23 +01:00
Matthias Koefferlein 311318c578 Ported edge/edge DRC functions to hierarchical mode. 2019-02-17 18:54:33 +01:00
Matthias Koefferlein c40f147dc7 Edge/edge and edge/polygon interaction test ported to hierarchical mode. 2019-02-17 18:36:15 +01:00
Matthias Koefferlein 7ef0451ca8 Partial segments of edges converted to hierarchical operations. 2019-02-17 17:53:21 +01:00
Matthias Koefferlein 74006b6208 Hierarchical implementation of extended method for edges 2019-02-17 17:34:31 +01:00
Matthias Koefferlein ae783a2245 Hiearchical implementation of edge filter. 2019-02-17 16:18:24 +01:00
Matthias Koefferlein 61d766bd4c Hierarchical implementation of edge to region operations. 2019-02-17 16:05:39 +01:00
Matthias Koefferlein e6ee1c064e Hierarchical implementation of edge/edge booleans. 2019-02-17 15:07:16 +01:00
Matthias Koefferlein 8e5bffcf18 Hierarchical angle check. 2019-02-17 11:42:30 +01:00
Matthias Koefferlein a7bfaac424 Cell variant resolution by propagation, grid check now implementation hierarchically (with propagation) 2019-02-17 10:59:04 +01:00
Matthias Koefferlein 5dc833970b Hierarchical implementation DRC functions (measurements) 2019-02-16 22:34:36 +01:00
Matthias Koefferlein 5a994fef6d First steps towards hiearchical DRC - needs testing. 2019-02-16 00:35:29 +01:00
Matthias Koefferlein 6e35e80963 Hierarchical implementation of polygon vs. edge interact 2019-02-15 23:43:45 +01:00
Matthias Koefferlein 78617930dd Hierarchical implementation of self-overlap merge. 2019-02-13 22:41:12 +01:00
Matthias Koefferlein ddcfda8761 Some optimization: keep merged state in deep region. 2019-02-13 17:17:03 +01:00
Matthias Koefferlein b0fc2be96e Deep regions: some more operations implemented hierarchically
- snap (!) - but only for gx == gy
- filtering
- interact/inside/outside/overlap + not_... variants
- edges
2019-02-13 01:07:32 +01:00
Matthias Koefferlein 10f9de8b66 Added test for edge-based clusters, edge connectivity modes 2019-02-12 22:14:50 +01:00
Matthias Koefferlein 98864b1eda Some refactoring (removed code copies) 2019-02-12 21:27:17 +01:00
Matthias Koefferlein 4b5736ba6a Added result type template parameter to local hier processor. 2019-02-12 20:32:07 +01:00
Matthias Koefferlein 6404ca6b1d WIP: Deep edge pairs 2019-02-12 00:08:47 +01:00
Matthias Koefferlein 43014d6923 WIP: some testing and bug fixes for hierarchical report db generation. 2019-02-11 00:22:19 +01:00
Matthias Koefferlein 2d9a3aaaa6 WIP: Hierarchical production of error db's. Needs testing. 2019-02-11 00:11:03 +01:00
Matthias Koefferlein dd4fcd9e36 WIP: templatized local hierarchical processor. 2019-02-10 18:39:32 +01:00
Matthias Koefferlein a81a8cdbc8 Modified edge transformation to maintain the orientation paradigm
When the transformation is mirroring, edges now swap their
points to maintain the right-is-inside paradigm.
2019-02-10 16:03:46 +01:00
Matthias Koefferlein a14ca01bac WIP: more on deep edge collections. 2019-02-10 15:33:14 +01:00
Matthias Koefferlein f22217b6c4 WIP: deep edges and edge pairs. 2019-02-10 10:22:47 +01:00
Matthias Koefferlein 4abc38a5cc Test for deep/flat collaboration 2019-02-10 08:28:48 +01:00
Matthias Koefferlein e8e45b7272 Some tests, smooth and round method of deep region 2019-02-09 23:51:35 +01:00
Matthias Koefferlein 7a86f0d878 Bugfix: size method needs to produce polygon refs so the output is usable as input for booleans too. 2019-02-09 22:55:34 +01:00
Matthias Koefferlein b6dd149f53 Changed variant suffix to to be consistent with cell name suffix generation in KLayout. 2019-02-09 19:21:14 +01:00
Matthias Koefferlein 1f3af7bbfe Hierarchical area and perimeter and sizing
Area and perimeter computation happens hierarchically
now. Magnified instances are supported.

Sizing is implemented hierarchically.

For anisotropic sizing, orientation variants may be
generated. For both isotropic and anisotropic
magnification variants will be created.
2019-02-09 19:13:54 +01:00
Matthias Koefferlein bbf7b2768b WIP: cell variant collecting and building. 2019-02-09 16:29:34 +01:00
Matthias Koefferlein 50c8c067d5 WIP: cell variant formation utility class. 2019-02-07 23:13:23 +01:00
Matthias Koefferlein decc5ede13 Robustification of Region
- Tests for merge
- Locking the layout when writing back the data for
  performance improvement
2019-02-05 23:39:31 +01:00
Matthias Koefferlein 7c043dbb99 WIP: fixed DeepRegion implementation somewhat. Needs testing. 2019-02-05 00:25:32 +01:00
Matthias Koefferlein 981d668161 WIP: introduced hierarchical merge and some other hierarchical operations. 2019-02-04 23:43:19 +01:00
Matthias Koefferlein 9c0123df20 Implemented implicit joining of nets with the same label. 2019-02-03 21:34:23 +01:00
Matthias Koefferlein 3f1cd226a5 Made net name optional in l2n format. 2019-02-03 13:33:58 +01:00
Matthias Koefferlein f9c33733b9 l2n format writer and reader: more compact output 2019-02-03 01:49:48 +01:00
Matthias Koefferlein 1ea687d7b7 More details control over verbosity of region ops
Plus: the region op control attributes (threads,
min_coherence etc.) got lost when replacing the
delegate of a region. Now they are maintained in
most cases.
2019-02-03 01:48:14 +01:00
Matthias Koefferlein 99f111fe01 Attempt to achieve reproducibility between MSVC and gcc
Applies to dbHierProcessor.cc:

The issue was related to std::unordered_set/map which
(as the name says) is not ordered. The output of the
boolean core computation step is currently dependent
on the order (it's single pass), hence the order of
the contexts matters.

Using ordered sets where possible and explicit
sorting might help.
2019-02-02 22:43:42 +01:00
Matthias Koefferlein 5daf34ed76 Merge remote-tracking branch 'origin/windows-compat' into dvb 2019-02-02 02:36:14 +01:00
klayoutmatthias 1a080cc4d7 Windows build compatibility. 2019-02-02 02:33:48 +01:00
Matthias Koefferlein c90f7e4af9 Introduced perimeter parameters for MOS3/MOS4 2019-02-02 01:29:28 +01:00
Matthias Koefferlein 11cfe36ed1 Some MSVC build issues fixed (hopefully) 2019-02-01 23:18:54 +01:00
Matthias Koefferlein 8ad6da0281 Fixed a build issue on MSVC 2019-02-01 07:43:24 +01:00
Matthias Koefferlein f2fff5cca1 Fixed compile issue. 2019-02-01 00:00:10 +01:00
Matthias Koefferlein efe06046aa Bugfixes (dbu, global nets)
1.) Fixed bug on build_nets when DBU's of target
    and source layout were different

2.) Global nets of subcircuits need to be considered
    also when they are already connected through other
    connections.
2019-01-31 23:50:34 +01:00
Matthias Koefferlein 57305977a4 Spice writer delegate fix
- Changed to const & objects in the Spice writer delegate
  to non-const & for Ruby/Python reimplementation (as const/non-const
  ambiguity is an issue for Ruby/Python we cannot efficiently
  work with const refs)
- Updated test data because the previous implementation wasn't
  using refs but rather copies of device and device class
  objects.
2019-01-31 22:23:58 +01:00
Matthias Koefferlein 30e26c4f96 Avoid an issue with virtual functions
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.

Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.

In addition, now it's possible to declare
results as references always (also if const &).

See gsiTest.cc:1078 for example:

  //  gsi::arg_make_reference makes the function's return value
  //  always being taken as a reference
  gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 01:07:15 +01:00
Matthias Koefferlein 7b07782cdf Avoid an issue with virtual functions
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.

Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.

In addition, now it's possible to declare
results as references always (also if const &).

See gsiTest.cc:1078 for example:

  //  gsi::arg_make_reference makes the function's return value
  //  always being taken as a reference
  gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 00:36:44 +01:00
Matthias Koefferlein 4068478887 Implemented SPICE writer + tests. 2019-01-31 00:07:10 +01:00
Matthias Koefferlein 7d06ea83c1 Bugfix: a segfault happened during net cluster formation because make_path was messing up the memory layout of the cluster collections. 2019-01-28 21:29:34 +01:00
Matthias Koefferlein 7e42ff83cd More fine-tuning of verbosity of log output for local processor. 2019-01-28 21:28:23 +01:00
Matthias Koefferlein da8b2854de Some fine-tuning of the timer output verbosity of the edge processor. 2019-01-28 21:27:41 +01:00
Matthias Koefferlein 2da7b218b4 Print errors on log when running device extractor. 2019-01-27 22:01:29 +01:00
Matthias Koefferlein 794c31329a Bugfix: internal error when running netlist extraction. 2019-01-27 22:00:30 +01:00
Matthias Koefferlein 458d00969c Fixed issue #228
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-27 00:04:15 +01:00
Matthias Koefferlein fe0d3e28ba Fixed issue #228
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-26 23:59:22 +01:00
Matthias Koefferlein 863c6ba8de Fixed a hierarchy traversal bug in the hier processor. 2019-01-26 21:53:44 +01:00
Matthias Koefferlein 74b6341425 Fixed unit tests, added swap function to tl::list 2019-01-25 23:19:12 +01:00
Matthias Koefferlein 4712ee0f29 Activated DeviceAbstract for GSI. 2019-01-25 22:40:41 +01:00
Matthias Koefferlein 29264013b0 WIP: more consistent handling of polygon splitting parameters. 2019-01-25 22:28:25 +01:00
Matthias Koefferlein 12aaa2db20 Refactoring: unified handling of splitting parameters. 2019-01-25 21:48:56 +01:00
Matthias Koefferlein 6da9bc5e85 Updated tests after switching to boolean core. 2019-01-25 21:38:45 +01:00
Matthias Koefferlein 707c761bac WIP: local hierarchical operations: take boolean core rather than shape ref core -> better hierarchical quality. Tests need to be fixed. 2019-01-25 00:21:01 +01:00
Matthias Koefferlein a635435899 Moved some code 2019-01-23 23:39:43 +01:00
Matthias Koefferlein 1cfa3251ce Better reproducibility of results in hier processor: hash function of shape ref takes object hash, not pointer hash 2019-01-23 22:19:28 +01:00
Matthias Koefferlein fba5bed2a3 Performance improvement of device extractor (taking out a O(N**2) loop) 2019-01-23 01:02:22 +01:00
Matthias Koefferlein 68fe668567 WIP: performance improvement. 2019-01-22 07:42:44 +01:00
Matthias Koefferlein 81bf47688e Renamed device model -> device abstract 2019-01-21 22:37:13 +01:00
Matthias Koefferlein d79a448eaa Some performance improvement by eliminating empty objects in the box scanner. 2019-01-21 22:37:02 +01:00
Matthias Koefferlein f83e1dae43 Refactoring, some bugfixes, GSI bindings for L2N methods. 2019-01-20 23:12:27 +01:00
Matthias Koefferlein 4c7f43d749 More l2n reader tests. 2019-01-20 17:31:58 +01:00
Matthias Koefferlein dd39168dc8 WIP: Enabled layout generation from read l2n data. 2019-01-20 02:50:23 +01:00
Matthias Koefferlein a5e2cf58c3 l2n dump format is leaner (device terminal shapes dropped from nets as they are contained in the device abstracts). Some refactoring. 2019-01-19 23:00:19 +01:00
Matthias Koefferlein 8213e71a79 WIP: l2n reader implementation, some bug fixes, refactoring. 2019-01-19 22:19:08 +01:00
Matthias Koefferlein b6eeb4bef3 Fixed #225 by fixing the READER. 2019-01-16 23:12:47 +01:00
Matthias Koefferlein 56bb39a273 LayoutToNetlist enhancements in the area of the dumper. 2019-01-16 22:45:58 +01:00
Matthias Koefferlein 438f50091f WIP: Refined output format for l2n 2019-01-16 00:49:51 +01:00
Matthias Koefferlein 4cb8982ca2 WIP: added concept of device model. 2019-01-15 23:03:25 +01:00
Matthias Koefferlein 5962d66940 WIP: major enhancements with respect to device handling
The device handling in the netlist extractor was now
entirely moved to device cells. New options are introduced
for exporting these cells. Tests have been updated.
2019-01-15 21:33:41 +01:00
Matthias Koefferlein 1af81b74d2 WIP: refactoring - turning devices into cells for better backannotation. 2019-01-14 00:59:47 +01:00
Matthias Koefferlein 3b0f4b3d78 WIP: fixed some compiler issues on certain systems. 2019-01-12 00:27:55 +01:00
Matthias Koefferlein baf50bd0b1 WIP: refactoring - singularization of classes in separate files. 2019-01-10 23:36:52 +01:00
Matthias Köfferlein 1144899976
Merge pull request #221 from KLayout/issue-200
Fixed #200 by introducing layout locking during iteration
2019-01-09 01:11:49 +01:00
Matthias Koefferlein aeeb6d7c87 Fixed #200 by introducing layout locking during iteration
The cause for the problem was that the layout got updated
while iterating causing the mess within the iterator.

This solution is to lock the layout while an iterator
is present. This happens for various Cell and Shapes
iterator, so it's a major enhancement.
2019-01-09 01:06:11 +01:00
Matthias Koefferlein 9fa5618034 Added test for device combination. 2019-01-08 23:49:12 +01:00
Matthias Koefferlein 14cb9090ec Provide operator-- on SortedCellIndexIterator to fix #220 2019-01-08 21:53:10 +01:00
Matthias Koefferlein d4d7ea8022 Updated copyright. 2019-01-08 01:09:25 +01:00
Matthias Koefferlein b0d7f5f7f5 Updated copyright. 2019-01-08 00:58:45 +01:00
Matthias Koefferlein feb2b69aa9 Merge remote-tracking branch 'origin/master' into dvb 2019-01-08 00:49:16 +01:00
Matthias Koefferlein fb4048d317 Added RBA tests for four-terminal MOS extraction plus global nets. 2019-01-08 00:17:58 +01:00
Matthias Koefferlein 294f1701b5 Added a test for joining of layers through multiple global net assignment. 2019-01-07 23:57:52 +01:00
Matthias Koefferlein 315bcdd016 WIP: bugfixed netlist extractor with global nets. 2019-01-07 23:33:57 +01:00
Matthias Koefferlein c80e335cd6 WIP: global nets integration in cluster builder. 2019-01-07 02:08:59 +01:00
Matthias Koefferlein a4f0fd665e Provided a solution for connectivity through global nets. 2019-01-06 17:50:51 +01:00
Matthias Koefferlein 6cf7558384 WIP: preparations for global net extraction 2019-01-06 17:04:13 +01:00
Matthias Koefferlein 64c2548ab8 WIP: first steps towards global nets. 2019-01-06 15:28:40 +01:00
Matthias Koefferlein eb435d5d85 WIP: refactoring - separated pins of net into outgoing and subcircuit. 2019-01-06 12:53:22 +01:00
Matthias Koefferlein 261b14a260 WIP: GSI binding of LayoutToNetlist::build_nets 2019-01-06 02:15:04 +01:00
Matthias Koefferlein 8d51d1e4bb WIP: better optimization of hierarchical net output. 2019-01-06 01:54:36 +01:00
Matthias Koefferlein ec3a3b0f8c WIP: added ability to export nets to layouts. 2019-01-06 01:32:20 +01:00
Matthias Koefferlein bc4f9efa5d One more test for probing with a slightly more complex hierarchy. 2019-01-05 23:21:37 +01:00
Matthias Koefferlein f86f8149eb Fixed a bug that caused a segfault in the Layout2Netlist object (array repo references to original layout rather than to the working layout) 2019-01-05 22:40:53 +01:00
Matthias Koefferlein cbca1fb530 Cleaned up a namespace mess (db::Net was duplicated in NetTracer and db itself) - renamed to db::NetTracerNet, but better solution would be to rename db to something else in the plugin. 2019-01-05 22:39:52 +01:00
Matthias Koefferlein 15b79c9ddb IMPORTANT BUGFIX: array repo handling
The issue: when cloning an array, the
"in_repository" flag might be left set. This
makes the system think the array is kept in
a repo. In the best case this creates a
memory leak.
2019-01-05 21:55:06 +01:00
Matthias Koefferlein 6e468b43e0 WIP: bugfix - local to instance interaction did shortcut too early. 2019-01-05 10:12:55 +01:00
Matthias Koefferlein c31c87916c WIP: bugfix - array reference were not always considered correctly. 2019-01-05 01:34:10 +01:00
Matthias Koefferlein ad6d9b5715 WIP: provide a less memory intensive way to deliver shapes from nets. 2019-01-04 17:41:09 +01:00
Matthias Koefferlein e439d50111 WIP: hier netlist processort: performance improvement in instance-to-instance checking, leaner output of net shapes. 2019-01-04 08:03:31 +01:00
Matthias Koefferlein bcac78235b Fixed a testsuite fail after last commit. 2019-01-04 01:59:52 +01:00
Matthias Koefferlein 72f838f8ee WIP: performance improvement, maximum confinement of interactions by local search area. 2019-01-04 01:22:24 +01:00
Matthias Koefferlein 3fd99407a3 WIP: bugfix - hierarchical net extractor wasn't considering self-interactions between instance array elements. 2019-01-03 23:25:28 +01:00
Matthias Koefferlein 62d9941c4a WIP: Bugfix - hierarchy was dropping instances. 2019-01-03 22:09:19 +01:00
Matthias Koefferlein 20799026d1 WIP: bugfix in net extraction (wrong hierarchy treatment) 2019-01-03 18:26:18 +01:00
Matthias Koefferlein 76330bea3a Save some memory on net shape retrieval. 2019-01-02 23:23:04 +01:00
Matthias Koefferlein e3b8d3635c Small bugfix: object._destroy wasn't working for directly passed objects. 2019-01-02 23:18:14 +01:00
Matthias Koefferlein ec3198c466 Netlist extraction performance improvement by taking a shortcut for local cluster/child cell cluster interactions. 2019-01-01 22:39:22 +01:00
Matthias Koefferlein 6a710a9efb Fixed an internal error that happened if additional layers got added to the working shape set. 2019-01-01 19:19:53 +01:00
Matthias Koefferlein 7898ec37cd Bugfix: netlist extractor did loose some connections. 2019-01-01 17:23:11 +01:00
Matthias Koefferlein fed7a4bfed Some performance improvement for the net extractor. 2019-01-01 13:07:40 +01:00
Matthias Koefferlein 060abc056e Fixed a memory corruption issue from the Netlist destructor. 2018-12-31 17:33:14 +01:00
Matthias Koefferlein 37d8f0bfca Added hierarchical progress reporting for more detailed progress. 2018-12-31 16:41:32 +01:00
Matthias Koefferlein 923e4075da Added an intrinsic linked list implementation. 2018-12-31 15:25:45 +01:00
Matthias Koefferlein 509de593e6 Removed a compiler warning. 2018-12-31 01:42:55 +01:00
Matthias Koefferlein 0cc340cf4f Once more being nice to picky compilers ... 2018-12-31 01:09:13 +01:00
Matthias Koefferlein b75125f7c2 Please picky compilers (once more) .. 2018-12-31 00:50:43 +01:00
Matthias Koefferlein e3279b754b Please picky compilers .. 2018-12-31 00:00:15 +01:00
Matthias Köfferlein d726afb189
Merge pull request #215 from lightwave-lab/bugfix/technology-load
Bugfix: gsi method db Technology.load pointing to save
2018-12-30 22:57:58 +01:00
Matthias Koefferlein 9c607d7663 Added a first version of the layout to netlist extraction feature
The main entry point is RBA::LayoutToNetlist which is the
GSI binding for the layout to netlist extractor. For a first
impression about the abilities of this extractor see the
Ruby tests in testdata/ruby/dbLayoutToNetlist.rb.

The framework itself consists of many classes, specifically

- RBA::Netlist for the netlist representation
- RBA::DeviceClass and superclasses (e.g. RBA::DeviceClassResistor and
  RBA::DeviceClassMOS3Transistor) for the description of devices.
- RBA::DeviceExtractor and superclasses (i.e. RBA::DeviceExtractorMOS3Transistor or
  the generic RBA::GenericDeviceExtractor) for the implementation of the
  device extraction.
- RBA::Connectivity for the description of inter- and intra-layer connections.
2018-12-30 22:43:56 +01:00
Matthias Koefferlein f989a85642 WIP: introduced Circuit::is_external_net 2018-12-30 18:44:30 +01:00
Matthias Koefferlein 72a140957d WIP: added test for recursive net shape retrieval 2018-12-30 18:22:45 +01:00
Matthias Koefferlein 16a2b1982d WIP: added one more level of abstraction to layout-to-netlist extraction (db::LayoutToNetlist) for easier use. 2018-12-30 17:53:46 +01:00
Matthias Koefferlein b512f628bc WIP: specific device extractor and GSI binding. 2018-12-30 14:54:59 +01:00
Matthias Koefferlein ec7ab8e01d WIP: moved code. 2018-12-30 14:15:58 +01:00
Matthias Koefferlein c841b84867 WIP: some minor refactoring. 2018-12-30 13:37:52 +01:00
Matthias Koefferlein a787204e77 WIP: connect and disconnect terminal by name in GSI 2018-12-30 13:28:11 +01:00
Matthias Koefferlein 293c6f496e WIP: more query functions for netlist classes (i.e. net by name, device by name etc.), some refactoring, GSI bindings, tests. 2018-12-30 13:00:03 +01:00
Matthias Koefferlein 425acda31a WIP: GSI binding of device extractor classes. 2018-12-30 11:32:33 +01:00
Matthias Koefferlein c571535e55 WIP: standard device classes, added GSI binding plus tests. 2018-12-29 23:48:31 +01:00
Matthias Koefferlein 44b5b2742e WIP: tests for specialized device classes and device combination 2018-12-29 22:58:29 +01:00
Matthias Koefferlein 45b35f3aae WIP: to_string for netlist, tests, some bugfixes on device combination. 2018-12-29 22:18:58 +01:00
Matthias Koefferlein edbafae43e WIP: make top level pins for named nets and netlist purging. Tests. 2018-12-29 20:50:35 +01:00
Matthias Koefferlein 54adb84e27 WIP: locking of netlist for better performance. 2018-12-29 01:04:48 +01:00
Matthias Koefferlein d57ede441c WIP: netlist topology - children, parents, top-down and bottom-up iteration. 2018-12-29 00:48:28 +01:00
Matthias Koefferlein 2f48479838 WIP: a bit of simplification, renaming of methods, parents for subcircuits, devices. References for circuits pointing to subcircuits. 2018-12-28 22:51:11 +01:00
Matthias Koefferlein a5b9cbfe5b WIP: device extractor now declares it's layers, passing layers by name supported now. 2018-12-28 01:53:27 +01:00
Matthias Koefferlein c665d6aceb WIP: introduced error messaging for device extractor. 2018-12-28 01:06:17 +01:00
Thomas Ferreira de Lima fcc05d5b9d
Bugfix: gsi method db Technology.load pointing to save 2018-12-27 16:26:46 -05:00
Matthias Koefferlein 411c18cdb4 WIP: also test parameter extraction in device extraction test. 2018-12-27 21:06:35 +01:00
Matthias Koefferlein 473c90f99d WIP: some refactoring: splitting of big methods, documentation 2018-12-27 19:06:16 +01:00
Matthias Koefferlein 1c41c43b95 WIP: rename netlist extractor test. 2018-12-27 10:58:48 +01:00
Matthias Koefferlein d6473b4d84 WIP: moved netlist extractor into right place. 2018-12-27 10:57:46 +01:00
Matthias Koefferlein 8b2902c31b WIP: introduced expanded net name 2018-12-27 10:43:25 +01:00
Matthias Koefferlein 639b0026d3 WIP: some refactoring for better consistency and easier usage of the device extractor. 2018-12-27 10:33:08 +01:00
Matthias Koefferlein bfae347ffb WIP: renaming sub_circuit->subcircuit for consistency 2018-12-27 02:02:17 +01:00
Matthias Koefferlein f0f620b1cd WIP: added subcircuit IDs for easier referencing. 2018-12-27 01:58:34 +01:00
Matthias Koefferlein 795a77f7ce WIP: take care of the property name used for device terminal annotation. 2018-12-27 01:39:28 +01:00
Matthias Koefferlein 62ffcd38e6 WIP: refactoring of the netlist property thing. Now it's internal and there is only the device terminal property. The property also does not store device pointers but just IDs 2018-12-27 01:27:58 +01:00
Matthias Koefferlein f5071d3254 WIP: some more refactoring. 2018-12-27 01:03:52 +01:00
Matthias Koefferlein 2171b98bd8 WIP: introduced device IDs 2018-12-27 00:59:44 +01:00
Matthias Koefferlein 724d1bc255 WIP: some small refactoring. 2018-12-27 00:32:40 +01:00
Matthias Koefferlein 7e4868dcf8 WIP: some small refactoring. 2018-12-27 00:28:44 +01:00
Matthias Koefferlein 8f568641e0 WIP: some refactoring, added label recognition to net extraction, test enhancements. 2018-12-27 00:20:21 +01:00
Matthias Koefferlein 024907e7ef WIP: first test for device extraction. 2018-12-26 10:02:34 +01:00
Matthias Koefferlein 1db5ad016c WIP: added first tests for device extraction. 2018-12-26 00:39:46 +01:00
Matthias Koefferlein f342bdd83a WIP: added some convenience methods. 2018-12-26 00:39:34 +01:00
Matthias Koefferlein ec65d293e3 WIP: moved some GSI specific methods into the C++ classes because they are of general use. 2018-12-26 00:38:35 +01:00
Matthias Koefferlein bfc0e24d50 WIP: fixed some compiler warnings. 2018-12-26 00:36:34 +01:00
Matthias Koefferlein 5c18424c10 WIP: fixed a comment typo. 2018-12-26 00:36:19 +01:00
Matthias Koefferlein c75a41a1a4 WIP: fixed verbosity of some output. 2018-12-26 00:34:57 +01:00
Matthias Koefferlein 88c60420d0 WIP: fixed verbosity of some output. 2018-12-26 00:34:34 +01:00
Matthias Koefferlein 195324295d WIP: tests for new net predicates. 2018-12-25 20:56:08 +01:00
Matthias Koefferlein 3d9712c53a WIP: implementation of device class and GSI bindings. Added some network attributes and predicates (is_floating, is_internal, pin_count, terminal_count) 2018-12-25 20:46:06 +01:00
Matthias Koefferlein 4f8416766c WIP: renamed port -> terminal for devices. This is correct technical term. A port is a two-terminal entity. 2018-12-25 20:19:37 +01:00
Matthias Koefferlein 9c9d99da7c WIP: introduced device combination support hints. 2018-12-25 19:45:34 +01:00
Matthias Koefferlein a7a2eea905 WIP: MOS3 and MOS4 devices 2018-12-25 19:41:29 +01:00
Matthias Koefferlein 33e2fb8dc1 WIP: refinement of device extraction algorithm 2018-12-25 02:17:41 +01:00
Matthias Koefferlein 97a1abb73f WIP: implementation of basic device classes, device extractor. 2018-12-25 02:02:18 +01:00
Matthias Koefferlein 792a420e23 WIP: purge_nets and combine_devices for db::Netlist, GSI bindings. 2018-12-25 00:25:07 +01:00
Matthias Koefferlein d9b0b2f775 WIP: Ability to redefine device combination in Ruby (GenericDeviceClass) 2018-12-24 17:22:59 +01:00
Matthias Koefferlein 764667d8e8 WIP: added algorithm for combining devices - needs testing. 2018-12-24 16:55:22 +01:00
Matthias Koefferlein e3b795e334 Unique ID of device class objects, netlist reference in device class. 2018-12-24 13:52:17 +01:00
Matthias Koefferlein eb6b043c3b Parameter values of db::Device/db::DeviceClass 2018-12-24 13:39:19 +01:00
Matthias Koefferlein c5222c26e3 Added DevicePortProperty class with tests and GSI binding 2018-12-24 01:31:06 +01:00
Matthias Koefferlein aa5e885215 Added Ruby tests for GSI binding of db::Netlist classes 2018-12-24 00:08:34 +01:00
Matthias Koefferlein 3c2c72d9ed WIP: GSI binding of db::Netlist at al 2018-12-23 22:31:26 +01:00
Matthias Koefferlein 9a9482d7c7 Added netlist editing features. 2018-12-22 23:12:45 +01:00
Matthias Koefferlein e51a3a9ed9 Dual netlist representation (nets attached to pins and ports). 2018-12-22 00:29:44 +01:00
Matthias Koefferlein 654afa3ec2 Upward references for db::Net and db::Circuit. 2018-12-21 22:13:37 +01:00
Matthias Koefferlein 83a38037e5 Added cluster_id property to db::Net 2018-12-21 21:53:48 +01:00
Matthias Koefferlein 80999475f4 Added trans and name attributes to db::SubCircuit 2018-12-21 21:47:27 +01:00
Matthias Koefferlein 4dd17c3cd4 WIP: added tests for dbNetlist classes. 2018-12-20 23:29:01 +01:00
Matthias Koefferlein 18346945df WIP: some refactoring. 2018-12-20 22:11:20 +01:00
Thomas Ferreira de Lima 6b37e67de6
fixing pya module. adding tests 2018-12-20 16:10:55 -05:00
Matthias Koefferlein d78a25efe4 WIP: new classes for netlist representation. 2018-12-19 23:41:39 +01:00
Matthias Koefferlein 2c4e84fdf2 WIP: netlist property framework
- NetlistProperty is the base class for objects that can
  be attached to shapes for annotation
- First property type implemented: net name is a way
  to annotate net names
2018-12-18 23:56:01 +01:00
Matthias Koefferlein c10dfee984 Merge branch 'dvb' of https://github.com/klayoutmatthias/klayout into dvb 2018-12-17 20:31:34 +01:00
Matthias Koefferlein 7ceb4ed076 Fixed an issue with the deep region: the layout pointer is not a good key for the backannotation cache. So we better use the unique ID - a concept introduced herein. 2018-12-17 20:31:24 +01:00
Matthias Koefferlein 69d75e233d Enabled build without qt, Ruby and Python 2018-12-16 23:50:34 +00:00
Matthias Koefferlein 31a9598c35 Merge branch 'master' of https://github.com/klayoutmatthias/klayout 2018-12-16 23:44:57 +01:00
Matthias Koefferlein db3b1d8eee Ported #209 fix to master. 2018-12-16 23:44:26 +01:00
Matthias Koefferlein 3ed9e63480 Fixed a typo 2018-12-16 23:39:45 +01:00
Matthias Koefferlein b75681a333 Fixed #207 (integer rounding happens on text bias and spacing values for Basic.TEXT PCell) 2018-12-11 21:55:30 +01:00
Matthias Koefferlein ef0e0d38c2 WIP: property collection in net clusters, more tests. 2018-12-09 23:24:32 +01:00
Matthias Koefferlein eb8abaf5a5 Some refactoring of net processor
- introduced concept of root cluster
- recursive shape iterator for clusters
2018-12-09 00:54:08 +01:00
Matthias Koefferlein df44c364ea WIP: network processor: net backannotation into original hierarchy. 2018-12-08 01:55:02 +01:00
Matthias Koefferlein 6a2ddcda82 Net processor: Added timing, rearrangement as preparation for parallelization 2018-12-07 23:21:38 +01:00
Anthony J. Bentley 2bad812953 OpenBSD doesn't have sa_restorer. 2018-12-07 06:07:40 -07:00
Matthias Koefferlein e894724605 Some more debugging and more test cases. Net processor starts getting stable ... 2018-12-05 23:14:06 +01:00
Matthias Koefferlein 6849a2723d WIP: added test cases for multi-level cross-hierarchy interactions. 2018-12-04 23:33:04 +01:00
Matthias Koefferlein 10f7750a89 WIP: more tests, some debugging. 2018-12-04 23:21:19 +01:00
Matthias Koefferlein 37fad6da97 WIP: hier network processor - some debugging, more tests. 2018-12-04 22:30:18 +01:00
Matthias Koefferlein 42f153672b WIP: proceed with debugging of hier network processor 2018-12-03 23:02:01 +01:00
Matthias Koefferlein 5a48ac3974 WIP: some refactoring, joining of clusters by child clusters. Needs testing. 2018-12-03 22:05:54 +01:00
Matthias Koefferlein e8c86834cb WIP: hier network - a first testcase. 2018-12-03 00:17:04 +01:00
Matthias Koefferlein 1e4b2b414e WIP: built test bench 2018-12-02 23:58:47 +01:00
Matthias Koefferlein 7e36018356 WIP: hierarchical net clusters - some testing 2018-12-02 23:05:58 +01:00
Matthias Koefferlein 22651b83c0 WIP: hierarchical net clusters - needs testing 2018-12-02 22:39:53 +01:00
Matthias Koefferlein 0e4eab2dce WIP: hierarchical net clusters. 2018-12-02 22:26:03 +01:00
Matthias Koefferlein f7f9f4f1fc WIP: hier network processor: local cluster set 2018-12-02 12:55:54 +01:00
Matthias Koefferlein e918cc74b0 WIP: tests for cluster in hierarchical network processor. 2018-12-02 10:41:37 +01:00
Matthias Koefferlein 59d1aead59 WIP: new classes for hier network processor. 2018-12-02 01:30:56 +01:00
Matthias Koefferlein 3609bdda81 WIP: first steps for network processor. 2018-12-01 09:38:16 +01:00
Matthias Koefferlein 970f22960f WIP: enabled tests in editable mode too. 2018-11-28 00:00:06 +01:00
Matthias Koefferlein 6e52c37a1e WIP: Fixed another build issue (ambiguous overload) 2018-11-26 22:28:29 +01:00
Matthias Koefferlein f57e7c734e Merge remote-tracking branch 'remotes/origin/master' into dvb 2018-11-26 21:30:01 +01:00
Matthias Koefferlein 345ff27854 Fixed a small build issue (ambiguous parameters) 2018-11-26 21:29:09 +01:00
Matthias Koefferlein a588751c27 Fixed a bug introduced with the plugin refactoring: some tool menu items were not functional. 2018-11-26 21:08:17 +01:00
Matthias Koefferlein 5c7cd02af3 Merge remote-tracking branch 'remotes/origin/pymod' into net-extract 2018-11-25 23:16:56 +01:00
Matthias Koefferlein 0352a450b7 Refined solution for #198 2018-11-25 22:43:13 +01:00
Matthias Koefferlein 643e58f856 Merged PR #199 into pymod branch 2018-11-24 00:53:23 +01:00
Matthias Koefferlein 72127a302d Updated Python highlighter files and highlighter bugfix. 2018-11-23 07:20:55 +01:00
Matthias Koefferlein f4b2a015dc Fixed #198 (DXF contour stitching renders fuzzy polygons) 2018-11-22 22:19:46 +01:00
Matthias Koefferlein 9539e36bc9 Fixed #195 2018-11-22 22:19:37 +01:00
Matthias Koefferlein 7073a74aa5 WIP: More on deep regions & hier processor
- Splitting of shapes on output of booleans
- A bugfix: error happened when pulling intruders from second-next hier level
- Tests added
- Some TODO comments added
2018-11-22 01:26:03 +01:00
Matthias Koefferlein 06c11d0096 WIP: Deep region XOR implemented. 2018-11-21 00:32:14 +01:00
Matthias Koefferlein 712a390f52 WIP: added ref counting for deep shape layers and layouts 2018-11-21 00:17:14 +01:00
Matthias Koefferlein edae71b0a8 0.25.5 to 0.25.6 delta ported to pymod
- Bugfix for klayoutmatthias/issue-191
- Consistent configuration for layout views
2018-11-18 23:54:41 +01:00
Matthias Koefferlein a36cf6a2e5 Force relink of pymod/tl to trigger correct build for MSVC 2018-11-18 22:57:17 +01:00
Matthias Koefferlein 7ade9cf079 Added standard Python tests to pymod too
This will include the normal Python tests also
in pymod, hence aligning the test base for pymod
and pya.

This feature requires the pya compatibility module.
2018-11-18 22:42:13 +01:00
Matthias Koefferlein e47584460b Merge branch 'pymod-pyacompat' into pymod 2018-11-18 22:22:19 +01:00
Matthias Koefferlein 934bed7b94 Fixed #197 (reimplemented methods are not getting called) 2018-11-18 19:59:17 +01:00
Matthias Koefferlein fc729fc830 WIP: DeepRegion::add implemented. 2018-11-18 09:58:10 +01:00
Matthias Koefferlein cfa0e8431c WIP: implemented AND/NOT in deep region, added tests. 2018-11-17 01:33:58 +01:00
Matthias Koefferlein a438dfd6f0 WIP: deep region debugged, GSI binding, tests. 2018-11-17 00:16:13 +01:00
Matthias Koefferlein f5cc8b6018 WIP: added DeepRegion 2018-11-16 01:11:28 +01:00
Matthias Koefferlein f29fd3dfc6 WIP: moved hierarchical processor into db. 2018-11-15 23:41:44 +01:00
Matthias Koefferlein 04256a2753 WIP: fixed RecursiveShapeIterator unit tests. 2018-11-15 22:59:38 +01:00
Matthias Koefferlein 3f8825cfd1 WIP: Improved design of HierarchyBuilder, added tests. 2018-11-15 22:50:02 +01:00
Matthias Koefferlein 6f4988a764 WIP: first version hierarchy builder 2018-11-14 02:22:53 +01:00
Matthias Koefferlein 2bfccca462 WIP: enhanced recursive shape iterator's push mode. 2018-11-13 23:40:08 +01:00
Matthias Koefferlein f346e70746 RecursiveShapeIterator now features a push mode
This will eventually enable catching a hierarchy
skeleton (with shapes) from a RecursiveShapeIterator.
2018-11-12 23:44:26 +01:00
Matthias Koefferlein b192417809 Merge branch 'pymod' into net-extract 2018-11-10 22:42:48 +01:00
Matthias Koefferlein c91f54569a Provide GSI bindings for the new edge pair support
This affects Shapes and Shape. New methods from EdgePairs are added
and minor enhancements of Region and Edges. Ruby tests added
2018-11-10 22:41:40 +01:00
Matthias Koefferlein 255abc5534 Provided new explicit template instantiations required for DRC 2018-11-10 00:44:30 +01:00
Matthias Koefferlein 7a37da91e0 EdgePairs refactoring
- Uses a db::Shapes container
- Aligned with db::Edges and db::Region
- With original layer delegate
2018-11-10 00:07:53 +01:00
Matthias Koefferlein 8e19474095 Introduced edge pairs as valid shapes for db::Shapes 2018-11-09 22:59:26 +01:00
Matthias Koefferlein b9b00a08b5 Many bug fixes after refactoring. 2018-11-09 01:14:22 +01:00
Matthias Koefferlein ec638c87b4 Refactoring of Edges - compiles again. 2018-11-09 00:39:00 +01:00
Matthias Koefferlein 0a9ab32f81 WIP: fixed initialization code. 2018-11-07 23:08:52 +01:00
Matthias Koefferlein de6045fdf0 Fixed an initialization issue. 2018-11-07 22:20:57 +01:00
Matthias Koefferlein 009492a2a6 Fixed a linker issue. 2018-11-07 22:19:05 +01:00
Matthias Koefferlein 8107e1bb51 Refactoring: separated sources for db::Region 2018-11-07 22:17:51 +01:00
Matthias Koefferlein 885a440089 Further refactoring: provide adressable polygons. 2018-11-07 02:44:15 +01:00
Matthias Koefferlein 9c92a9c72e Region refactoring: many unit tests are passing again. 2018-11-07 00:45:29 +01:00
Matthias Koefferlein e595c32fe1 WIP: made first unit tests functional again. 2018-11-06 00:51:39 +01:00
Matthias Koefferlein f604d149b5 WIP: next part of region refactoring. 2018-11-05 00:32:04 +01:00
Matthias Koefferlein 7062c4acf5 WIP: next part of region refactoring. 2018-11-05 00:25:16 +01:00
Matthias Koefferlein 5a5051b0dd WIP: second part of region refactoring. 2018-11-04 23:26:08 +01:00
Matthias Koefferlein 54945105ef WIP: first part of region refactoring. 2018-11-04 22:56:08 +01:00
Matthias Koefferlein 17f53cf54e WIP: some performance improvements, cronology debugging support (experimental) 2018-11-03 12:28:27 +01:00
Matthias Koefferlein 00a124ce64 Added pya compatibility module 2018-10-23 23:43:52 +02:00
Matthias Koefferlein 863144603c Fixed MSVC builds ... 2018-10-22 23:48:15 +02:00
Matthias Koefferlein 58239650aa Fixed pymod initialization for Python 2
Python 2 is a bit more picky with respect to
the correct name of the module. If passing "db"
to a module called dbcore, it will exit with
a SystemError.
2018-10-22 23:28:55 +02:00
Matthias Koefferlein a25db86046 Fixed pymod.pri for Linux builds. 2018-10-22 21:25:53 +02:00
Matthias Koefferlein b80ce12c12 Some refactoring to fix qmake-based pymod builds
- Unify structure of Python module sources so the pymod.pri can be used for all modules
- switch to tlcore, dbcore and rdbcore + distutils_src wrapper modules
2018-10-22 20:53:49 +02:00
Matthias Köfferlein 1150ffbbb1
Merge branch 'pymod' into pymod-splitting 2018-10-22 18:15:02 +02:00
Matthias Koefferlein d67a50bd1d Fixed #176 by introducing a separate bitmap for text drawing optimization. 2018-10-20 09:53:25 +02:00
Matthias Koefferlein dc9267d61e WIP: updated solution
* Reverted first solution partially because it lead to drawing errors.
* Redraw thread will fire workers only for layers that really need
  to be drawn
2018-10-20 09:53:07 +02:00
Matthias Koefferlein 46116f4828 Basic performance improvement in the bitmap to image area
Empty bitmaps are skipped now
2018-10-20 09:52:35 +02:00
Thomas Ferreira de Lima c1dbb023ae
fixing editable install 'python setup.py develop' 2018-10-19 19:09:20 -04:00
Thomas Ferreira de Lima c3ab951c8a
passing python unit tests 2018-10-19 19:02:38 -04:00
Thomas Ferreira de Lima 87a49007ff
Fixing distutils_src folder structure due to setuptools bug
Also: adding PCellDeclarationHelper to klayout.db
2018-10-19 18:53:37 -04:00
Thomas Ferreira de Lima d3fa4465f6
Renaming core modules to klayout.dbcore, klayout.rdbcore and klayout.tlcore 2018-10-19 17:55:56 -04:00
Matthias Koefferlein 8ab4868d76 Fixed build on Windows (tl::InputPipe::wait was missing) 2018-10-16 23:00:28 +02:00
Matthias Koefferlein 62224b0d91 Merge branch 'pymod' into net-extract 2018-10-14 23:57:18 +02:00
Matthias Koefferlein 90c03140b3 Fixed #185 for pymod branch 2018-10-14 23:42:10 +02:00
Matthias Koefferlein dd9d46da38 Activated stream unit tests. 2018-10-14 23:34:25 +02:00
Matthias Koefferlein 3392c08d36 Merge branch 'pymod' into net-extract 2018-10-09 23:43:58 +02:00
Matthias Koefferlein 904a12c11e Added a way to get the exit code from InputPipe
The method is to call wait() on the pipe object
which returns the exit code.

Some tests have been added for this.
2018-10-09 23:40:28 +02:00
Matthias Koefferlein 7df9242efb Merge remote-tracking branch 'origin/pymod' into pymod 2018-10-09 23:00:30 +02:00
Matthias Koefferlein 222b98fd70 Some fixes for the testsuite
With these fixes, unit tests pass with MacOS
(set DYLD_LIBRARY_PATH!)

1.) MacOS takes popen vs. pclose seriously
By using fopen we basically spoil the system and other popen
won't work.

2.) For system integrity, MacOS does not propagate DYLD_LIBRARY_PATH
to child processes such as sh. This has to be done explictly.

3.) Search the klayout binary in the right path (klayout.app/...)

4.) Reset KLAYOUT_HOME for less intervention by installed macros
2018-10-09 13:57:26 -07:00
Matthias Koefferlein 19a3f19378 Removed some misleading comments. 2018-10-09 21:24:23 +02:00
Matthias Koefferlein 70778e9414 Now also fixed the bd unit tests - there are also independent from the streamer plugins now. 2018-10-09 01:12:58 +02:00
Matthias Koefferlein f0661ba0b3 Some wrong header includes fixed. 2018-10-09 00:35:03 +02:00
Matthias Koefferlein a7846ead9f Add-on to previous commit: fixes some Python issues
The comments for LoadLayoutOptions#layer_map, #cif_layer_map
and #dxf_layer_map have been updated to reflect the new status
of these properties (which have been methods). The tests
are updated accordingly (layer_map() -> layer_map).
2018-10-09 00:18:45 +02:00
Matthias Koefferlein db981b0f7d A huge patch to make Windows build functional again after recent updates
The issue was: for MacOS/clang, the virtual format-specific
option structs had to be embedded in one compile unit (for RTTI).
In Windows this will lead to link errors since the DLL is not
reachable at build time for the generic reader/writer configuration in
the buddy tools.

The solution is to use GSI methods (provided for scripting) to
set the reader/writer options in a generic way that does not
require linking against the plugin DLLs.
2018-10-08 23:31:22 +02:00
Matthias Koefferlein 121ec46390 Attempt to introduce multithreading into hierarchical processor
However, performance does not scale well currently.
2018-10-08 00:10:54 +02:00
Matthias Koefferlein 35e03c5f95 Added one more testcase. 2018-10-07 16:56:14 +02:00
Matthias Koefferlein 0bb45dd092 WIP: some refactoring. 2018-10-06 23:59:47 +02:00
Matthias Koefferlein 2fa0d21615 Added self-overlap-with-sizing tests. 2018-10-06 22:25:24 +02:00
Matthias Koefferlein ee55a4ca21 Fixed hier processor in case of self-interactions 2018-10-06 21:56:13 +02:00
Matthias Koefferlein 2e61998372 WIP: interactions with same layer (needs finishing) 2018-10-06 01:40:01 +02:00
Matthias Koefferlein 4ffcaba5d1 Important bug fix for MacOS
Unlike Linux, RTTI does not work in MacOS/clang when the classes
originate from different compile units. I think that Linux's C++
runtime not only checks for identical vtable, but alternatively
for same name. On MacOS, dynamic_cast will fail instead. This fix
solves this issue by placing the important steam format option
specializations into a single specific shared object (the DB plugin).
2018-10-04 14:10:22 -07:00
Matthias Koefferlein f7c4aa0348 (Partial) attempt to fix the plugin detection issue on MacOS 2018-10-02 17:36:30 -07:00
Matthias Koefferlein c380b9c4bf Hier processor: supports two layouts for input now. 2018-10-01 22:45:46 +02:00
Matthias Koefferlein f01e102f0f Merge branch 'pymod' into net-extract 2018-09-30 23:37:21 +02:00
Matthias Koefferlein 967652784e Merge remote-tracking branch 'remotes/origin/master' into pymod 2018-09-30 23:26:20 +02:00
Matthias Koefferlein c08f0a1fda Fixed #176 by introducing a separate bitmap for text drawing optimization. 2018-09-30 10:27:44 +02:00
Matthias Koefferlein c342bca584 WIP: updated solution
* Reverted first solution partially because it lead to drawing errors.
* Redraw thread will fire workers only for layers that really need
  to be drawn
2018-09-30 00:16:35 +02:00
Matthias Koefferlein ad7154c6cf Basic performance improvement in the bitmap to image area
Empty bitmaps are skipped now
2018-09-29 23:35:30 +02:00
Matthias Koefferlein c75e67268b Merge branch 'pymod' into net-extract 2018-09-26 21:40:23 +02:00
Matthias Koefferlein d03d4bec1d Fixed build after merge. 2018-09-26 21:27:31 +02:00
Matthias Koefferlein 6795de1dbb Merge remote-tracking branch 'remotes/origin/master' into pymod
Provides fixes for issue #166 and #172.
2018-09-26 21:15:08 +02:00
Matthias Koefferlein d4adb194e3 Fixed #172 (DEF reader does not pull vias from LEF) 2018-09-26 20:49:04 +02:00
Matthias Koefferlein defbf33d19 WIP: distance parameter for hierarchical processor. 2018-09-25 23:26:18 +02:00
Matthias Koefferlein 824888aaa6 WIP: some refactoring. 2018-09-25 22:25:40 +02:00
Matthias Koefferlein eb71121c38 WIP: bugfix - intra-array self interactions. 2018-09-23 22:34:50 +02:00
Matthias Koefferlein 52a4459dac WIP: timer enhanced (reports start now), drop empty boxes in hier processor (will make the processor stall). 2018-09-23 20:06:27 +02:00
Matthias Koefferlein 611a98165d WIP: diagnostic output 2018-09-23 17:49:10 +02:00
Matthias Koefferlein 3c15d8e387 WIP: some optimization with empty intruder hint. 2018-09-23 17:22:08 +02:00
Matthias Koefferlein 9e09002d43 WIP: refined interaction testing. 2018-09-23 16:57:49 +02:00
Matthias Koefferlein c1b0892641 WIP: More testcases, better test coverage, some bug fixes 2018-09-23 16:08:00 +02:00
Matthias Koefferlein d7099edcae WIP: gcov enabled, added more test cases. 2018-09-23 09:29:05 +02:00
Matthias Koefferlein 8420b29025 WIP: mixed propagation sample. 2018-09-23 00:53:19 +02:00
Matthias Koefferlein 2595f4ed6b WIP: more test coverage. 2018-09-23 00:37:27 +02:00
Matthias Koefferlein 76b045e2ac WIP: hierarchy variant building, tests 2018-09-22 23:44:24 +02:00
Matthias Koefferlein 3cbbe041aa WIP: some bugfixes, new tests (up/down, down/up interactions) 2018-09-22 23:37:23 +02:00
Matthias Koefferlein a551300e0d WIP: Some refactoring (hier processing in extra file), unit tests, bug fixes 2018-09-22 22:32:36 +02:00
Matthias Koefferlein 3214200e17 WIP: code factory 2018-09-22 02:45:56 +02:00
Matthias Koefferlein b25401c254 Added twofold-typed box scanner. 2018-09-20 23:44:51 +02:00
Matthias Koefferlein 9ccc0a86b1 Fixed a merge issue (build was broken) 2018-09-17 22:34:01 +02:00
Matthias Koefferlein 3b59d97195 Ported Ruby initialization issue bugfix from pymod to master.
On OpenSuSE 15 (gcc 7.3.1, Ruby 2.5.0) crashes have been
observed on starting the application. The main reason seems
to be the attempt to disable $0 redirection in Ruby.

This is not required for Ruby >= 1.9, so this is better dropped.
2018-09-17 21:43:38 +02:00
Matthias Köfferlein 11d5819c77 Fix of a small bug found by MSVC iterator assertions 2018-09-17 21:31:52 +02:00
Matthias Köfferlein cb15132029 Fixed an issue with destruction callbacks in the QApplication destructor - in this case the interpreter may be nulled already and callbacks must not happen into Ruby/Python. 2018-09-17 21:30:54 +02:00
Matthias Köfferlein 8c4099b77d Bugfix in the annotation area
The annotation ID was taken from an object already deleted - on MSVC 
this becomes an issue.
2018-09-17 21:25:28 +02:00
Matthias Köfferlein 88e0bd77a2 Fix in Image object handling
Id was taken from an object destructed already.
2018-09-17 21:24:47 +02:00
Matthias Koefferlein 6efdb3a9e1 Added testcase for #166. 2018-09-17 01:51:23 +02:00
Matthias Koefferlein f72fda7bae Added test case for #166. 2018-09-17 01:48:31 +02:00
Matthias Koefferlein e9de4252fb Fixed #166 (internal error when writing GDS file)
This fix consists of computing the intersection
points in the split procedure with higher resolution
to avoid topology changes due to snapping on the cut
line.
2018-09-17 01:29:31 +02:00
Matthias Koefferlein 4c4261be6c Initialized netx plugin 2018-09-16 08:48:43 +02:00
Matthias Köfferlein fe26785203 Fixed install target for MSVC - copy needs to use Windows paths. 2018-09-13 22:31:45 +02:00
Matthias Koefferlein 06c0b8f6e1 And back to Windows ... re-inserting the ruby_sysinit workaround. 2018-09-12 00:06:48 +02:00
Matthias Koefferlein 0a2574cd3a Now it breaks the ruby 1.8.x tests ... grrr 2018-09-11 23:19:52 +02:00
Matthias Koefferlein 121e1301b0 Hopefully this fixes the crashes on OpenSuSE 15. 2018-09-11 22:35:57 +02:00
Matthias Koefferlein 6536e9a8dc Modified command line prep for Ruby integration - maybe that fixes the OpenSuSE 15 crashes. 2018-09-11 08:08:18 +02:00
Matthias Köfferlein 6a12a6a4cd Normalize CRLF for OASIS reader test's golden data on Windows. 2018-09-11 07:35:01 +02:00
Matthias Köfferlein 1c68b5472c Enabled ruby_sysinit again after MSVC2017 build crashed without this. 2018-09-11 00:07:33 +02:00
Matthias Koefferlein dcfe2977a8 Merge branch 'pymod-fix' of https://github.com/klayoutmatthias/klayout into pymod-fix 2018-09-10 21:37:14 +00:00
Matthias Koefferlein f35b522256 Fixed a segfault on Ruby initialization found on OpenSuSE 15 with Ruby 2.5.0 and gcc 7.3.1 in release mode 2018-09-10 21:36:27 +00:00
Matthias Köfferlein 99a71b771d Fixed link issue in net tracer plugin both for Linux and Windows (hopefully) 2018-09-10 22:53:49 +02:00
Matthias Koefferlein c46bed0785 Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc.
  with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
  in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Koefferlein ad03533a7b OASIS tests made robust against hash implementation
The text writer was made "normalizing": it will introduce
a certain element order (string sorting). This way, OASIS
files can be compared against golden data without
changes in the order due to different implementation of
hash containers.
2018-09-10 01:16:49 +02:00
Matthias Koefferlein 84072aa23e Fixed a few things that got damaged in Linux build while doing MSVC compatibility. 2018-09-09 22:43:22 +02:00
Matthias Köfferlein e69ed872a7 Fixed a static initialization race. 2018-09-09 18:31:05 +02:00
Matthias Köfferlein 940a96716c Fixed the timestamp generation for pthread-win32 timed waits
Issue: we have to use WIN API functions which deliver times in a 
different way. In order to make the wait functions work, we have to use 
the same time definition - specifically the same zero time.
2018-09-09 18:30:21 +02:00
Matthias Köfferlein 28477af15e Added a missing header 2018-09-09 16:52:18 +02:00
Matthias Köfferlein 9544a5419b Addd current_utc_time() again which got lost during merge 2018-09-09 16:51:54 +02:00
Matthias Köfferlein a543950316 Explicitly allow enabling of pthreads (rather than Qt) using HAVE_PTHREADS on qmake 2018-09-09 16:51:20 +02:00
Matthias Köfferlein 4821b12780 Removed dependency of tlStream on zlib by using a delegate. 2018-09-09 16:49:21 +02:00
Matthias Köfferlein 8c2c888263 MSVC build issue fixed in pya.cc 2018-09-09 16:47:28 +02:00
Matthias Köfferlein 57b8826e2c pthread support enabled for gsiObject.cc 2018-09-09 16:46:51 +02:00
Matthias Köfferlein c9d7b39190 Fixed a general linker problem with release builds on MSVC 2018-09-08 23:11:16 +02:00
Matthias Köfferlein adebdf307b Fixed XML parser tests for Qt-less builds with expat 2018-09-08 00:44:19 +02:00
Matthias Köfferlein 7440acb3c0 Fixed a build warning 2018-09-07 23:40:01 +02:00
Matthias Köfferlein 28f8a1ee7d Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
Matthias Köfferlein a4562bee71 Also fixed issue with hash value of LayerProperties 2018-09-07 22:39:12 +02:00
Matthias Köfferlein c53c3ae7cf Hash value issue with db::Text fixed. 2018-09-07 22:29:54 +02:00
Matthias Köfferlein bd6234b699 Fix in Image object handling
Id was taken from an object destructed already.
2018-09-07 00:07:57 +02:00
Matthias Köfferlein a78f75054a Bugfix in the annotation area
The annotation ID was taken from an object already deleted - on MSVC 
this becomes an issue.
2018-09-06 23:49:17 +02:00
Matthias Köfferlein ce01ce2dae Fixed an issue with destruction callbacks in the QApplication destructor - in this case the interpreter may be nulled already and callbacks must not happen into Ruby/Python. 2018-09-06 23:37:26 +02:00
Matthias Köfferlein 5be469af90 Support "klayout-bits" for building on MSVC 2018-09-06 00:23:10 +02:00
Matthias Köfferlein b0dac7026f MSVC compatibility 2018-09-06 00:22:38 +02:00
Matthias Köfferlein ce918bbc4e Fit a few compiler warnings in the ruby part 2018-09-06 00:22:24 +02:00
Matthias Köfferlein 4e12b9fae7 Fix of a small bug found by MSVC iterator assertions 2018-09-02 22:57:01 +02:00
Matthias Köfferlein 406b2c8cd1 Fixed KD tree implementation for compatibility with MSVC iterator debug mode 2018-09-02 22:39:15 +02:00
Matthias Köfferlein 1bf4d95388 Further MSVC compatibility
String assertions fixed, numerical issue with dbTrans fixed, iterator 
assertions fixed.
2018-09-02 19:18:42 +02:00
Matthias Köfferlein 356a468d66 A couple of changes to make MSVC work - not done yet. 2018-09-02 00:40:35 +02:00
Matthias Köfferlein e47a0966bd Bugfix: net tracer memory corruption issue - missing copy ctor/assignment 2018-09-01 21:26:29 +02:00
Matthias Koefferlein c4c1630a38 Tiny enhancement of LayoutView#insert_layer
* returns a non-const reference now which can be modified
* the node parameter is optional and initialized with a default node
2018-09-01 11:39:20 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Koefferlein 753e170a68 Fixed #162 (GDS2 libname not maintained) 2018-08-31 23:25:19 +02:00
Matthias Köfferlein f0f3025f9f More reduction of warnings on MSVC 2018-08-29 07:28:51 +02:00
Matthias Köfferlein af50c0f0c3 Many warnings fixed for MSVC 2018-08-29 01:46:18 +02:00
Matthias Köfferlein 860014e3ae MSVC builds for the first time - still a lot of patches required
Some suspicious compiler warnings remain.
2018-08-28 23:19:58 +02:00
Matthias Koefferlein 3c4ca7597e Fixed #158 (repaint issue with context) 2018-08-25 23:11:26 +02:00
Matthias Koefferlein 89dc424c70 Fixed #159 (Bug in technology setup with tech specific macro/DRC locations) 2018-08-25 20:28:01 +02:00
Matthias Koefferlein 842f39da45 Fixed #153 (crash on Apply when changing guiding shape properties) 2018-08-25 19:07:30 +02:00
Matthias Koefferlein e8a5d6ac0c Fixed a typo. 2018-08-24 22:59:11 +02:00
Matthias Koefferlein 04545e435b Fixed #157 (Replace cell with ... from cell tree context menu does not accept decorated cell names) 2018-08-13 20:59:04 +02:00
Matthias Koefferlein bcd6c466fb Fixed #152 (shape count wrong) 2018-08-13 09:30:46 +02:00
Matthias Koefferlein 1a7bcfc31c Fixed #155 (freeze after replacing nothing by something) 2018-08-13 09:04:13 +02:00
Matthias Koefferlein a8ad415fac Fixed a typo and build compatibility with Qt4. 2018-08-13 01:33:07 +02:00
Matthias Köfferlein 03c1a74d16
Update layLayoutViewConfigPages.cc
Removed commented section - it's actually no longer required.
2018-08-12 23:22:39 +02:00
Matthias Koefferlein 155208c9c9 MSVC compatible declaration of force link flags for Qt bindings. 2018-08-04 22:44:51 +02:00
Matthias Koefferlein 67c2369962 Updated Qt declaration files for MSVC 2018-08-04 21:10:37 +02:00
Matthias Köfferlein 376e4ea0ae WIP: MSVC compatibility for pymod module. 2018-08-04 18:13:49 +02:00
Matthias Köfferlein 23d715001b First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ... 2018-08-04 18:02:39 +02:00
Thomas Ferreira de Lima f7836de39d
placeholder code for hiDPI display of conf pages. 2018-08-03 10:28:27 -04:00
Thomas Ferreira de Lima 8dbdbe0388
hiDPI Retina display for Stipple and Linesyles 2018-08-02 16:40:28 -04:00
Thomas Ferreira de Lima cfbcc158bf
adding / and /= operators to Point and Vector types in db [ci skip] 2018-08-02 00:45:34 -04:00
Thomas Ferreira de Lima a3234e2645
changing dbHash macro from __APPLE__ to __EXT_HASH_DEPRECATED 2018-08-01 22:31:09 -04:00
Thomas Ferreira de Lima f6d3995d6b
changing ext/hash_(set|map) to unordered_(set|map) to avoid deprecation warning on mac. 2018-08-01 15:51:05 -04:00
Thomas Ferreira de Lima 568035cdd6
adding __rmul__ in all objects with __mul__ 2018-08-01 11:56:50 -04:00
Thomas Ferreira de Lima 5bda390d82
bugfix: forgot to include tlTimer.h in tlThreads.cc 2018-07-31 17:47:01 -04:00
Matthias Koefferlein a272cd3630 Fixed #144 (description of salt packages isn't shown)
Plus: the text color of the description now uses the
palette and the color contrast better when the item
is selected.
2018-07-30 21:19:34 +02:00
Matthias Koefferlein ddfb084a8d Bugfix: also recognize plugins when the main binary is installed in a different place than the libs. 2018-07-29 14:56:19 +02:00
Matthias Koefferlein 98ecc9e47b Fixed a typo, force update of unit tests on Jenkins. 2018-07-29 14:07:02 +02:00
Matthias Koefferlein 3fb568671d A little refactoring - central place for DLL/.so path detection 2018-07-29 10:20:48 +02:00
Matthias Koefferlein 3d7bd0f32d Cleaned up code
Moved current_utc_time out of the central tlUtils header where
it does not belong. It a time function, so tlTimer.h is the better
place. Plus it does not make sense to make this inline. This just
spoils build times on changes.
2018-07-29 10:06:11 +02:00
Matthias Koefferlein 11627486d6 More verbose messages on plugin loading. 2018-07-29 02:36:25 +02:00
Matthias Koefferlein 76db5d1714 Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-29 01:59:50 +02:00
Matthias Koefferlein d378a632f3 Bugfix: a standalone LayoutView object made the application crash on exit
Reason: at the Qt will destroy all top level widgets.
Ruby/Python will now know of this, hence try to cleanup
the object inside it's GC.

There was an attempt to avoid this by deleting all
top-level widgets before the application exits. But
this failed for LayoutView objects because these will
create other, dependet top-level widgets for the plugins.
And the LayoutView wants to stay owner for them.
2018-07-29 01:02:39 +02:00
Matthias Koefferlein 082a91cf15 Fixed #148 (Wrong font is used) 2018-07-28 00:17:02 +02:00
Matthias Koefferlein e2f4c1874a Fixed a build issue on some compilers. 2018-07-24 22:29:45 +02:00
Matthias Koefferlein c9859b4f8f Fixed some issues with long int emulation. Using long int as substitute for __int128 2018-07-24 22:08:30 +02:00
Matthias Koefferlein 7191e4faa9 Added long int (N times a word) support for emulation of __int128 2018-07-24 21:01:54 +02:00
Matthias Koefferlein 8578918764 Updated PolygonTools test with recent edge processor update. 2018-07-23 20:28:01 +02:00
Matthias Koefferlein 6b48b2bb3d Fixed Edge unit tests. 2018-07-23 19:37:36 +02:00
Matthias Koefferlein f05b3249ca Fixed fast EdgeProcessor unit tests with recent update. 2018-07-23 19:36:00 +02:00
Matthias Koefferlein 2178b72704 Refined test for 74 issue for different orientations. 2018-07-23 19:12:12 +02:00
Matthias Koefferlein 5741a120e9 More precise point/edge interaction for scanner 2018-07-22 22:52:04 +02:00
Matthias Koefferlein efd9e47c1f Attempt to fix a scanline issue. 2018-07-22 18:49:17 +02:00
Daniel Wang c430c82744
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-19 19:23:00 -04:00
Matthias Koefferlein 5fe0aca9c7 Fixed a segfault on help(pya.Box)
Needed to refactor the class hierarchy of the Python classes.
Basically the module specific base class was removed as it does
not provide any benefit. The object layout of the PyObject
specialization was modified such that the payload is attached
to the end. This is compatible with the hidden extensions
which Python adds to normal objects.
2018-07-19 23:50:24 +02:00
Daniel Wang ad1ada9b23
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-19 13:40:57 -04:00
Matthias Koefferlein aca209c095 Using C.UTF-8 locale fallback for string tests for vanilla Linux installations. 2018-07-18 21:57:47 +02:00
Daniel Wang 5f6c265e4b
Moved current_utc_time to tlUtils and fixed tlTimer 2018-07-17 14:37:41 -04:00
Daniel Wang 106b57c676
Fixed unchanged functions 2018-07-17 14:14:47 -04:00
Daniel Wang 20db1e1f24
Added support for Mac OS X 10.11 and lower 2018-07-17 14:05:33 -04:00
Thomas Ferreira de Lima f26576099c missing stdlib.h import 2018-07-16 23:29:51 -04:00
Matthias Koefferlein 9dcfa140c3 Added __init__.py file to Python package. 2018-07-15 19:33:44 +00:00
Matthias Koefferlein 46b0f079cf Skipping HTTP tests rather than disabling them
With this commit, tests are logged as skipped and
not just omitted, if HTTP support is not enabled
(neighter Qt nor curl)
2018-07-15 20:58:54 +02:00
Matthias Koefferlein 5351922440 Enabled minimum build configuration
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.

This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias 6858190a20 Fixed Windows build and tests
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein bbb88c5ca6 Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod 2018-07-15 07:42:14 -07:00
Matthias Koefferlein d3b4bc7f87 Enabled pymod build via setup.py/distutils on MacOS 2018-07-15 07:42:01 -07:00
klayoutmatthias 1642129504 Fixed a typo that breaks the Win build. 2018-07-15 16:39:16 +02:00
Matthias Koefferlein cb33753e1c Fixed a FileUtils unit test on Windows. 2018-07-15 15:36:30 +02:00
Matthias Koefferlein a1d8913de9 Enhanced Qt-less FileUtils test, so they cover the full functionality without Qt 2018-07-15 15:27:39 +02:00
Matthias Koefferlein fc9783432b Bugfix: db_plugin modules were not loaded for python modules
* Added unit test for this
* Provided an option for easier debugging such issues:
  Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
  modules (and all other binaries). Plugin loading issues can
  be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein 07f69dccd3 Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod 2018-07-15 11:12:29 +02:00
Matthias Koefferlein 628219080a Some enhancements/bug fixes for Windows
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein 6a3914fcf6 Fixed pya.cc build with Py3/Linux 2018-07-14 20:32:13 +00:00
Matthias Koefferlein e709cad9c8 Fixed an include path for better compatibility with Python's distutil. 2018-07-14 20:24:28 +00:00
Matthias Koefferlein 49fd896e68 Another fix for Windows build. 2018-07-14 09:31:40 +02:00
Matthias Koefferlein 2f99a8a67d Another fix for Windows build. 2018-07-14 09:19:23 +02:00
Matthias Koefferlein 817ab9cd1c Fixed Windows build. 2018-07-14 08:55:46 +02:00
Matthias Koefferlein 5ea72893f3 Enabled build with Qt again. 2018-07-14 02:16:35 +02:00
Matthias Koefferlein 8f04fc5358 Removed some further Qt dependencies. For example, HTTPS access now is possible without Qt through Curl only. 2018-07-14 02:14:06 +02:00
Matthias Koefferlein 9ea24cb6a0 Explicitly set the locale for local string conversion test. 2018-07-13 18:35:49 +02:00
Matthias Koefferlein b10c64907a Made the threaded worker test a bit more reliable 2018-07-13 18:28:32 +02:00
Matthias Koefferlein f795aa84ec Avoid one more deadlock in gsi::Proxy. 2018-07-13 18:24:41 +02:00
Matthias Koefferlein cf3a6c2ce5 Fixed a deadlock. 2018-07-13 08:08:15 +02:00
Matthias Koefferlein 937fa96245 Some bug fixes
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
Matthias Koefferlein abdde4ba19 Corrected last commit (UTF-8 case conversion) and added more test coverage. 2018-07-13 01:13:41 +02:00
Matthias Koefferlein 70a4bd7aa2 Locale-independent implementation of UTF-8 string case conversion. 2018-07-13 01:07:46 +02:00
Matthias Koefferlein 4f326572d4 Fixed one .pro file for older Qt versions 2018-07-12 23:57:00 +02:00
Matthias Koefferlein 61a37fc3c3 Prevent a deadlock when destroying gsi objects. 2018-07-12 23:28:30 +02:00
Matthias Koefferlein 72c3288090 Disabled thread local storage test for Qt <4.7 because this class is broken with an int argument on Qt 4.6.2 2018-07-12 23:25:33 +02:00
Matthias Koefferlein ccc5be86d7 Fixed a typo - strange enough it compiled with this error on some platforms. 2018-07-12 23:24:46 +02:00
Matthias Koefferlein 1375bdcc9a Fixed XMLParser unit test 5 for Qt 2018-07-12 23:19:54 +02:00
Matthias Koefferlein 03ddd495d8 Disabled brute-force shutdown test for threads on Qt - QThread is not able to deal with this. 2018-07-12 22:11:57 +02:00
Matthias Koefferlein 05f8d223ac Added a way to specify the type of a macro on files
This feature is mainly useful for command line arguments.
If you run KLayout with

  klayout -b -r myscript

it will not be able to determine the type of macro without
a suffix. You can explicitly specify a certain type by
giving the suffix implicitly:

  klayout -b -r myscript[rb]

This will read "myscript" but pretend it was "myscript.rb"
and execute it as Ruby script.

This feature is handy if you need to run a file with a
specific interpreter but cannot modify the file name.
2018-07-12 21:51:51 +02:00
Matthias Koefferlein f8ffcd14f1 Fixed #141 (Issue with RBA::QHostAddress (ambiguous overload) on Qt5) 2018-07-12 21:33:19 +02:00
Matthias Koefferlein 20d1d0500f Fixed #142 (Issue with RBA::RecursiveShapeIterator#region=) 2018-07-12 21:16:14 +02:00
Matthias Koefferlein ca8f9fd904 Fixed Qt-based XML parser build. 2018-07-12 20:54:05 +02:00
klayoutmatthias 616c2942e1 WIP: made pymod functional on Windows (without Qt). Tests pass. 2018-07-10 23:34:30 +02:00
Matthias Koefferlein d2c890ab6d WIP: fixed unit tests for Qt-less build. 2018-07-10 01:17:35 +02:00
Matthias Koefferlein 58fd6ed143 WIP: bugfix on WaitCondition (deadlocked) 2018-07-10 00:13:06 +02:00
Matthias Koefferlein 5cfb98d9f2 WIP: pthread-based WaitCondition (simple) 2018-07-10 00:01:25 +02:00
Matthias Koefferlein ad49c9502b WIP: some work on the pthread-based alternative to Qt threads. 2018-07-09 22:58:16 +02:00
Matthias Koefferlein b0f69d46a9 WIP: one first basic Thread test. 2018-07-09 00:55:41 +02:00
Matthias Koefferlein 772062e33e WIP: fixed path generation in db::init in non-Qt case. 2018-07-09 00:43:49 +02:00
Matthias Koefferlein 18782666f7 WIP: made Qt build functional again. 2018-07-09 00:03:19 +02:00
Matthias Koefferlein 260243a6d9 WIP: Fixed PCB import for non-Qt builds, added missing file. 2018-07-08 23:44:36 +02:00
Matthias Koefferlein 3acb7b6920 Fixed documentation (XML parser error) of RBA::TextGenerator. 2018-07-06 00:58:26 +02:00
Matthias Koefferlein 2b64c4bf82 Bugfix: multithread-safety for gsi::Proxy (required for the tiling processor use case). 2018-07-06 00:56:34 +02:00
Matthias Koefferlein 803a29037a Added test for reproducing threading issue on TP 2018-07-06 00:09:22 +02:00
Matthias Koefferlein 221d5a4a38 Using enviornment locale with unit_tests. 2018-07-06 00:07:01 +02:00
Matthias Koefferlein e0a23adb66 Made XML parser and writer functional with expat 2018-07-05 23:40:39 +02:00
Matthias Koefferlein 43243ae162 Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing. 2018-07-05 00:33:34 +02:00
Matthias Koefferlein eec1843459 Less Qt in strmrun test 2018-07-04 20:30:34 +02:00
Matthias Koefferlein ad7a9836b0 Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing) 2018-07-04 20:26:34 +02:00
Matthias Koefferlein 642fb4270b Fixed rba::Technology test. Now all tests are passing with Qt. 2018-07-04 20:00:41 +02:00
Matthias Koefferlein 12e0db660c Finished file utils tests. 2018-07-04 19:33:39 +02:00
Matthias Koefferlein e9dcadb278 Fixed a linker issue. 2018-07-04 00:25:34 +02:00
Matthias Koefferlein 1f8afab417 Bugfixed the Qt-based XML implementation. 2018-07-04 00:21:06 +02:00
Matthias Koefferlein d1553d7586 Some more tests on tl::FileUtils 2018-07-03 23:51:10 +02:00
Matthias Koefferlein 17c7c8e1bb Some file utils tests added (file name decomposition, fake Windows/Linux tests) 2018-07-03 23:43:57 +02:00
Matthias Koefferlein 7ede06dca5 Build fixed, basic bugs fixed and made unit test framework work. Added tests for tlString. 2018-07-03 22:09:38 +02:00
Matthias Koefferlein bbfcd9cf9e Made normal build work again. 2018-07-03 01:49:06 +02:00
Matthias Koefferlein ab06ce3445 Made the code build without Qt. 2018-07-03 01:08:02 +02:00
Matthias Koefferlein a82adbbe83 Massive reduction of Qt dependencies, but also massive refactoring. 2018-07-03 00:51:36 +02:00
Matthias Koefferlein c532b75338 Provide an QtXml alternative through expat. 2018-07-02 22:19:36 +02:00
Matthias Koefferlein 7fca6f5f31 Non-Qt implementations of file utils - needs testing. 2018-07-02 20:29:34 +02:00
Matthias Koefferlein 239b7ca3ff First (major) steps towards a Qt-less basic build. 2018-07-02 18:20:20 +02:00
Matthias Koefferlein 5f8b258235 Feature: hide or show markers using the new View/Show Markers configuration option. 2018-06-28 23:52:47 +02:00
Matthias Köfferlein b64d14e02e
Merge pull request #138 from lightwave-lab/macos_embedding_python_pr
Macos embedding python and Qt5.11.1 bugfix
2018-06-28 21:08:41 +02:00
Matthias Koefferlein b47c0fc3a3 Fixed #139 (libraries not reassigned to GDS when loading file from command line). 2018-06-27 23:36:30 +02:00
Matthias Koefferlein ac2271b9d7 Fixed build on Qt5i (another part). 2018-06-27 00:13:56 +02:00
Matthias Koefferlein 7ba0138cfc Fixed build on Qt5. 2018-06-27 00:08:26 +02:00
Thomas Ferreira de Lima 73772cc6f8 bugfix instantiating Qt::blue not available in qt5.11 2018-06-26 02:53:02 -04:00
Matthias Koefferlein 94387529d6 Fixed #134
The issue was caused by an internal error in the edge processor.
Effectively the weak attractor scheme was causing this problem.
As the weak attractors are making things worse rather than
better I dropped them.

In theory, the weak attractors render an edge undisturbed by
neighboring intersection points, but in cases or parallel edges
this lead to problems: omitting cut points violates the output
edge configuration warranties the the polygon stitcher fails.

In addition, to maintain the solution for bug #74, the cut point
capture condition was relaxed, so that edge crossing the exact
corner of the snapping rectangle of a point are not considered
captured.
2018-06-26 01:04:20 +02:00
Matthias Koefferlein edbe0b2542 Attempt to make thread test more reproducible. 2018-06-24 15:16:49 +02:00
Matthias Koefferlein da65851ee2 Public declaration of path::to_string 2018-06-24 14:11:23 +02:00
Matthias Koefferlein f7843410a0 Public declaration of path template instantiation 2018-06-24 14:08:31 +02:00
Matthias Koefferlein 94a4c0df27 WIP: added force-link to rdb Python module so the rdb library is always linked 2018-06-22 00:02:27 +02:00
Matthias Koefferlein c2341ff213 WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3 2018-06-21 22:18:17 +02:00
Matthias Koefferlein 0d6da0e49d WIP: fixed unit test fails with python module import tests - what a hack ... 2018-06-20 23:19:26 +02:00
Matthias Koefferlein 087740d326 WIP: pass sub-process output through tl::Log in unit tests for proper XML escaping into JUnit files. 2018-06-20 22:25:03 +02:00
Matthias Koefferlein ec0fad0d75 WIP: Fixed a test issue with the PCellDeclarationHelper external class. 2018-06-20 16:26:54 +02:00
Matthias Koefferlein 436550868b WIP: fixed a initialization issue. 2018-06-20 15:58:46 +02:00
Matthias Koefferlein 4dc0065028 WIP: fixed installation target for pymod __init__.py file for older Qt versions. 2018-06-20 13:37:41 +02:00
Matthias Koefferlein e447c175d8 WIP: fixed pymod install targets for some Qt versions 2018-06-20 08:25:13 +02:00
Matthias Koefferlein dd9467d097 WIP: fixed streamer headers. 2018-06-20 01:13:31 +02:00
Matthias Koefferlein 0c766150b0 WIP: Fixed install targets for plugins. 2018-06-19 21:21:44 +02:00
Matthias Koefferlein f4dd012005 WIP: refactored GSI test classes so they are hard-linked into the ut_runner binary. Dynamic loading inside .ut files happens too late. 2018-06-19 21:12:53 +02:00
Matthias Koefferlein 361bc64870 WIP: fixed some build issues, removed some link dependencies which causes issues on Windows. 2018-06-19 20:31:55 +02:00
Matthias Koefferlein 33a9782f77 Proper installation target for klayout Python module. 2018-06-19 01:07:53 +02:00
Matthias Koefferlein 8845d18c74 Renamed pykl to klayout - because of name clash with the klayout binary, the python module now sits inside 'pymod' 2018-06-19 00:50:27 +02:00
Matthias Koefferlein 4744c90557 WIP: futher fixes for Windows build. 2018-06-18 00:19:18 +02:00
Matthias Koefferlein 81a1e6fd1a WIP: futher fixes for Windows build. 2018-06-18 00:15:43 +02:00
Matthias Koefferlein 4f602bb394 WIP: fixes for Windows build. 2018-06-18 00:06:38 +02:00
Matthias Koefferlein e05c407d5e WIP: added shared object dependencies for Qt5 2018-06-17 22:59:04 +02:00
Matthias Koefferlein 741e9d73e3 WIP: fixed build 2018-06-17 19:09:54 +02:00
Matthias Koefferlein 750c85fecb WIP: fixed dependencies of projects. 2018-06-17 18:55:57 +02:00
Matthias Koefferlein 538f8f3d53 WIP: added missing files. 2018-06-17 16:51:01 +02:00
Matthias Koefferlein 4c90d98750 WIP: Fixed windows build. 2018-06-17 10:27:54 +02:00
Matthias Koefferlein 4097a5b361 WIP: turned ext module into plugins. 2018-06-17 09:43:25 +02:00
Matthias Koefferlein 7e56ce23e5 WIP: Moved net tracer into plugin, GSI is now in db module. 2018-06-16 00:56:35 +02:00
Matthias Koefferlein 757c6af80f WIP: rdb module for Python, fixed unit tests for non-Qt bindings case 2018-06-15 22:49:01 +02:00
Matthias Koefferlein 147ee20b55 WIP: Class documentation shows module name and link now. 2018-06-15 01:11:35 +02:00
Matthias Koefferlein 381357bfcb WIP: correctly assigned db module to LEF/DEF reader GSI declaration 2018-06-15 01:04:42 +02:00
Matthias Koefferlein 9e972876fe WIP: correctly assigned db module to technology in GSI 2018-06-15 01:02:26 +02:00
Matthias Koefferlein 41cedf4b45 WIP: fixed the technology refactoring part 2018-06-15 00:59:38 +02:00
Matthias Koefferlein 10cfac3d42 WIP: fixed linker issues. 2018-06-15 00:31:46 +02:00
Matthias Koefferlein c360f6d4a7 WIP: first steps for making technology a db component. 2018-06-14 23:38:23 +02:00
Matthias Koefferlein 6bc1537bea WIP: remove vim swap file. 2018-06-14 00:02:41 +02:00
Matthias Koefferlein 8045989fa3 WIP: moved PCB and LEF/DEF import from ext to db/lay namespace 2018-06-13 23:59:39 +02:00
Matthias Koefferlein 4f63f5102b WIP: fixed PCB unit test .pro file. 2018-06-13 23:31:50 +02:00
Matthias Koefferlein 9ca011d138 WIP: turned Gerber and LEF/DEF import into plugins. 2018-06-13 23:27:16 +02:00
Matthias Koefferlein 5421f77e61 WIP: finished refactoring to plugins for CIF, DXF & OASIS too. 2018-06-13 22:23:27 +02:00
Matthias Koefferlein 9883ea5679 WIP: added streamers plugin structure (partially) 2018-06-13 21:39:39 +02:00
Matthias Koefferlein 77f0197f8a WIP: fixed test framework. 2018-06-13 00:43:54 +02:00
Matthias Koefferlein 409392d561 WIP: started refactoring the plugin structure. Goal: standalone db module with it's own plugins like LEF/DEF, Gerber, MEBES including GSI bindings. 2018-06-13 00:33:43 +02:00
Matthias Koefferlein acacdc3997 Included ext definitions in Python module (currently: lay) 2018-06-10 21:45:58 +02:00
Matthias Koefferlein e5aa55a25c Support for Qt-binding-less Python modules. 2018-06-09 17:01:52 +02:00
Matthias Koefferlein 7f2e740dd4 WIP: some refactoring of pya to reduce dependency on GSI for bridge applications. 2018-06-09 10:32:26 +02:00
Matthias Koefferlein d938bb999b WIP: modifications for Python 3 2018-06-09 09:42:13 +02:00
Matthias Koefferlein e1858973e2 Added unit test for briding sample lib. 2018-06-09 02:11:32 +02:00
Matthias Koefferlein 9418185771 WIP: added sample lib with bridging code 2018-06-09 01:52:13 +02:00
Matthias Koefferlein 2737e14b13 WIP: some refactoring of the GSI Python binding (less static objects, new conversion operators, preparations for external use) 2018-06-09 01:50:16 +02:00
Matthias Koefferlein eca8697398 WIP: some refactoring of pya binding and data keeping. Added more conversion functions for use in external code. Needs testing. 2018-06-07 01:05:36 +02:00
Matthias Koefferlein 17846d12dd WIP: fixed installation part for pykl module, robustness of build system. 2018-06-06 21:27:18 +02:00
Matthias Koefferlein a20c3259bf WIP: refactored mkqtdecl configuration (common part factored out), fixed .pro file dependencies 2018-06-05 23:21:15 +02:00
Matthias Koefferlein 4fda7b2a50 WIP: added gui argument to QApplication, fixed documentation of virtual methods. 2018-06-05 22:29:34 +02:00
Matthias Koefferlein 21bf382549 WIP: Fixed documentation, added QtCore.Qt.QT_VERSION(_STR) 2018-06-05 21:03:21 +02:00
Matthias Koefferlein 3b5e84a5b2 Fixed documentation of RBA::TextGenerator. 2018-06-04 23:11:02 +02:00
Matthias Koefferlein 98256ebc66 WIP: pymod tests work for Qt4 now too. 2018-06-04 00:32:02 +02:00
Matthias Koefferlein f3f6e2e7ba WIP: unit tests for pykl, some build errors fixed. 2018-06-03 23:36:06 +02:00
Matthias Koefferlein 655e59d11a WIP: Fixed build dependencies and code dependencies for Python modules (Qt5) 2018-06-03 19:54:18 +02:00
Matthias Koefferlein f093b305bf WIP: include __init__.py generation in .pro files. 2018-06-03 13:05:12 +02:00
Matthias Koefferlein d903c9f224 Use proper helper functions to activate help links - avoids warnings when there is no MainWindow. 2018-06-03 12:23:24 +02:00
Matthias Koefferlein 0ed898e3c2 WIP: proper dependencies to avoid build issues. 2018-06-03 12:16:52 +02:00
Matthias Koefferlein a522a14109 WIP: Fixed Python 2 build and import. 2018-06-03 02:44:56 +02:00
Matthias Koefferlein bfbd8732f3 WIP: basic availability of LayoutView as separate component
- The deferred method scheduler is now automatically created
  when required and when there is a QApplication
- QApplication and related have argv constructors
2018-06-03 00:54:58 +02:00
Matthias Koefferlein 40b2e9a1a5 WIP: usable constructors for QApplication and related. 2018-06-02 22:21:59 +02:00
Matthias Koefferlein ea31e5bcde WIP: removed old Qt5 binding code, fixed a segfault (static argc), enabled pya without interpreter 2018-06-02 02:03:14 +02:00
Matthias Koefferlein 3cabb23be1 WIP: more Qt Python modules and better build scheme. 2018-06-02 00:50:57 +02:00
Matthias Koefferlein 1840e74d0d WIP: avoid some warnings when using "import klayout.QtCore"
Reason: klayout_QtCore needs to be linked with QtGui so it's
GSI declarations become available. The reason is only
QSignalMapper which is in QtCore and has a QWidget argument.
2018-06-02 00:01:00 +02:00
Matthias Koefferlein 403840b109 WIP: some bug and performance fixes. 2018-06-01 23:36:01 +02:00
Matthias Koefferlein 3882f6a3b1 WIP: further generation of Python module (kind of slow currently + dependent modules need to be loaded manually) 2018-05-31 23:22:35 +02:00
Matthias Koefferlein b2f18c612a WIP: module names in help search available. 2018-05-31 21:27:10 +02:00
Matthias Koefferlein 07d9363ea7 WIP: more python modules, made gsi initialization safe against duplicate init. 2018-05-31 20:51:09 +02:00
Matthias Koefferlein 73297a3810 WIP: fixed some build issues. 2018-05-31 17:59:54 +02:00
Matthias Koefferlein ecc0520ffb WIP: Qt5 compatibility 2018-05-31 17:54:29 +02:00
Matthias Koefferlein b91a3b5cad WIP: added Qt5 support 2018-05-31 09:19:26 +02:00
Matthias Koefferlein 0e29c997f6 WIP: refactoring, fixed documentation and some mistakes. 2018-05-31 01:11:24 +02:00
Matthias Koefferlein 07b655d3bc WIP: removed debug output, resolved a consistency issue between QtGui and QtCore - QtGui was injecting an enum into QtGui. 2018-05-30 23:17:35 +02:00
Matthias Koefferlein 80d00378d3 WIP: further refactoring 2018-05-30 22:46:10 +02:00
Matthias Koefferlein f1f9132d48 WIP: further refactoring of Qt binding libs 2018-05-30 22:02:27 +02:00
Matthias Koefferlein 3b144259fd WIP: build works again at least on Qt4. 2018-05-30 01:22:33 +02:00
Matthias Koefferlein c30d52c801 WIP: fixed a lot of compiler issues after last refactoring. 2018-05-30 01:00:13 +02:00
Matthias Koefferlein 6468bb7ab9 WIP: refactoring of GSI structure for separated modules. 2018-05-30 00:39:58 +02:00
Matthias Koefferlein 0b0393ce56 First version of Python module. 2018-05-26 21:31:39 +02:00
Matthias Koefferlein 108f90e382 Small enhancements for package manager
- Progress on download
- Some icons did not get marked (8 bit indexed image format)
- Colors in installation status dialog

One internal enhancement: progress adaptors can be
instantiated temporarily now to catch progress events.
2018-05-19 00:22:15 +02:00
Matthias Koefferlein bb86970ac8 Bugfix: GIF (8 bit indexed) icons could not be marked in package manager. 2018-05-17 22:38:17 +02:00
Matthias Koefferlein 1b607474b8 Selection shows PCell display name of instances. 2018-05-17 22:31:05 +02:00
Matthias Koefferlein f74f2d3416 Fixed bug #121 (reopening of PCell's in GDS and - partially - in OASIS) 2018-05-17 22:24:32 +02:00
Matthias Koefferlein 887bcb3e04 Fixed version in Changelog 2018-05-04 21:21:14 +02:00
Matthias Koefferlein d075c37cb4 Windows build fixed, version incremented to 0.25.3, updated changelog. 2018-05-02 21:47:30 +02:00
Matthias Koefferlein 74cc8eea07 Compatibility with Ruby 1.8.7 (main app test), tests fixed for CentOS6 2018-05-02 07:32:20 +02:00
Matthias Koefferlein 9084a7f519 Fixed Windows build, changed tl::Clock documentation 2018-05-01 22:48:08 +02:00
Matthias Koefferlein 8596b0b9ea libcurl integration and HTTP support enhanced
Issue was: the asynch interface for HTTP access
wasn't entirely compatible between Curl and Qt
implementations.

Plus, the progress integration was messed up
because of the deleteLater scheme (progress was
visible even after the connection ended).

The deleteLater scheme was replaced by an
explicit close which does not require the
connection to be deleted immediately in the
receivers.
2018-05-01 21:24:05 +02:00
Matthias Koefferlein 6edb5b9f3e Build fixed. 2018-05-01 08:17:51 +02:00
Matthias Koefferlein 90c5ff4b12 Bugfix: progress response time was long sometimes
Reason: the timer involved measured CPU time. So if the
process wasn't CPU intensive (i.e. waiting for network
response), cancelling the operation wasn't possible.
2018-04-30 23:25:23 +02:00
Matthias Koefferlein 2454104346 Small bug fixes for Salt Package manager
Download URL's and documentation URL's have not
been shown properly in the package preview.
2018-04-30 23:24:32 +02:00
Matthias Koefferlein 080623ad15 libcurl substitute for Qt network.
Reasoning: on Qt <4.7, custom request are not available.
They are required however to implement WebDAV. libcurl
provides a substitute for QNetwork. This is important
for deployment on CentOS6 for example.
2018-04-30 23:23:07 +02:00
Matthias Koefferlein 4c4b079286 Second part for implementation of #113 (healing of XOR output) 2018-04-29 23:02:40 +02:00
Matthias Koefferlein 821aab3320 Implemented #113 (Heal option after tiled XOR) 2018-04-28 17:58:57 +02:00
Matthias Koefferlein ccfe6fa918 FEATURE: 'labels' method in DRC scripts allows copying labels to output layers. 2018-04-28 10:36:13 +02:00
Matthias Koefferlein 86aea962c9 Alignment of method signature in RDB API. 2018-04-28 10:35:50 +02:00
Matthias Koefferlein f538885fb3 Added some convenience methods for building RDB entries from shapes. 2018-04-28 09:46:42 +02:00
Matthias Koefferlein 89b4397aa4 Fixed some doc typos. 2018-04-28 00:32:23 +02:00
Matthias Koefferlein ff9be6219d Fixed some doc typos. 2018-04-28 00:31:41 +02:00
Matthias Koefferlein c94723bbce New RBA/pya methods
More Shapes#insert flavours with Shapes and RecursiveShapeIterator,
RecursiveShapeIterator#dtrans.
2018-04-28 00:21:36 +02:00
Matthias Koefferlein f989b961c1 Bugfix: show XOR progress after the particular job is done. 2018-04-24 21:49:51 +02:00
Matthias Koefferlein 43325cb861 Fixed Windows build. 2018-04-24 21:34:16 +02:00
Matthias Koefferlein 08bcd1e418 Fixed #117 (DTrans#itype broken) 2018-04-24 21:26:21 +02:00
Matthias Koefferlein a4b396535f Fixed #116 (polygon cutting issue)
Last step: polygon cut algorithm with fallback: merge before cut on invalid polygons.
2018-04-24 20:58:00 +02:00
Matthias Koefferlein 9622a2e669 WIP: added testcases for extreme polygon decomposition on GDS writing. 2018-04-24 19:28:45 +02:00
Matthias Koefferlein e183323d9a WIP: new version of polygon cut algorithm which is simpler and more stable. 2018-04-24 01:09:28 +02:00
Matthias Koefferlein ca9a6db8a5 Scanline polygon generator: avoid spikes
The implementation of the scanline polygon generator
will avoid spikes as hole cutlines. Helps
fixing #116.
2018-04-23 22:22:32 +02:00
Matthias Koefferlein e710b28a6d FEATURE: added RBA::Polygon#split, RBA::Polygon#split, RBA::DSimplePolygon#split, RBA::DSimplePolygon#split 2018-04-20 22:26:57 +02:00
Matthias Koefferlein 5fbbccd9e2 ut_runner does not display dialog on crash but dumps the stack trace to stdout. 2018-04-20 00:18:42 +02:00
Matthias Koefferlein 34b534e8b4 Fixed memory statistics for polygons. 2018-04-19 00:13:28 +02:00
Matthias Koefferlein 067d52a269 FEATURE: DXF accuracy and "keep layer names" feature
* "keep layer name" will not try to modify layer names into
  GDS layer/datatypes. The feature is available in the DXF
  reader options and for the buddy scripts as "--keep-layer-names"
  It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
  accuracy is applied to find neighbors. By default this value
  is 0. If set to a value >0, points with distances (square
  metrics) less than this value will be connected.
  The buddy script option is --dxf-contour-accuracy=value.
2018-04-18 23:34:59 +02:00
Matthias Koefferlein 65cfb2d4e4 WIP: consistent naming of some predicates in Ruby with ?, unit tests for reader option bindings. 2018-04-17 01:56:59 +02:00
Matthias Koefferlein 17e9e48831 Fixed #114 (Custom line styles not loaded by tech) 2018-04-17 01:23:21 +02:00
Matthias Koefferlein 8bc0063fe6 WIP: DXF reader options config page. 2018-04-17 00:57:14 +02:00
Matthias Koefferlein c7fcd18413 Fixed #115 (Reader options are not persisted). 2018-04-17 00:56:53 +02:00
Matthias Koefferlein 86a90571e6 WIP: DXF keep layer names option, refactoring, added tests, UI, XML serialization. 2018-04-16 19:47:12 +02:00
Matthias Koefferlein 085a2ee2b1 WIP: keep DXF and CIF layer names, DXF contour accuracy. 2018-04-16 00:55:57 +02:00
Matthias Koefferlein 1b0317c120 Memory statistics: demangle symbol names. 2018-04-15 01:19:28 +02:00
Matthias Koefferlein e1922da3b2 Better memory statistics. 2018-04-15 00:54:30 +02:00
Matthias Koefferlein 4acc336d69 Fixed DXF display issue (see https://www.klayout.de/forum/comments.php?DiscussionID=1053) 2018-04-11 22:53:55 +02:00
Matthias Koefferlein 256de9bc84 Small DXF bugfix: persist name of subcells of cell variants. 2018-04-11 21:52:23 +02:00
Matthias Koefferlein 1e2f8a0ce5 Fixed #112 (Salt package repo relative paths)
This patch also includes:
 * A segfault fixed that happend on some errors
 * package URL's are resolved relative to the
   salt mine URL if one is given.
2018-04-10 21:40:07 +02:00
Matthias Koefferlein 3495f9c698 Fixed #110 (ut_runner not working on MacOS) 2018-04-08 01:27:22 +02:00
Matthias Koefferlein d3227b5bda Merge branch 'master' of https://github.com/Kazzz-S/klayout 2018-04-07 16:02:39 -07:00
Matthias Koefferlein da1daae1d8 Fixed #107 (Undo not working with shapes) 2018-04-07 16:00:37 -07:00
Matthias Koefferlein 829966d9a1 Fixed #108 (Box#enlarge, Box#move on empty boxes) 2018-04-07 09:21:50 +02:00
Matthias Koefferlein 3d5780db2b Bugfix #109 (part 3): OASIS/GDS writer fixed + unit test added. 2018-04-06 23:27:29 +02:00
Matthias Koefferlein 655eb49afd Bugfix #109 (part 2): re-established compatibility with previous version. 2018-04-06 23:08:41 +02:00
Matthias Koefferlein ea3ebba470 Bugfix #109 (part 1): account for long != long long on Windows in tl::Variant 2018-04-06 14:53:40 +02:00
Matthias Koefferlein a7446dd0dc Fixed #106 (Search & replace help page enhancements) 2018-03-31 13:39:35 +02:00
Matthias Koefferlein 21e2af2a97 Fixed #102 (Potential issue while upgrading from .25.1 to .25.2)
The reason was that for 0.25.1 "macro-editor-font-size" was allowed
to be an empty string (the default). Which meant: take default application
font size. In 0.25.2 this now was required to be a number and 0 was
the default for "auto" font size.

Two changes:
 - The default is back to empty string ("0" is still allowed as default)
 - The application was made safe against broken configuration files: an
   error is printed to the log, but apart from that the application
   will work (the configuration value is ignored however).
2018-03-20 18:52:00 +01:00
Thomas Ferreira de Lima 1ed12d4715 Merge branch 'master' into macos_retina 2018-03-19 23:21:06 -04:00
Thomas Ferreira de Lima 73e84d4f8d qt5 compatible fontgen.cc 2018-03-19 23:08:50 -04:00
Matthias Koefferlein 59b1849c96 Fixed the font issue for Retina displays: there should be fixed fonts for all resolutions down to 1/6 (Retina display, 2x oversampling) 2018-03-20 02:25:49 +01:00
Matthias Koefferlein b04d9f38b9 Fixed the recent patch: mouse coordinates need to be scaled by devicePixelRatio too. 2018-03-20 01:03:33 +01:00
Matthias Koefferlein 0a01946202 A refactoring attempt for the Retina display issue (#94)
This is what's been done:
 - remove the old double and single buffering /w mask approach
 - modify the bitmap rendering so it's done in a offscreen
   image before subsampling
   (effect: rulers display smoothly in subsampling mode)
 - refactoring the "device pixel ratio" topic:
   Made the DPR a variable, viewport width is scaled up
   to reflect the true image size, inserted #ifdef's for Qt4.

DISCLAIMER: I don't know whether this still works - I don't
have a Retina display :-(
2018-03-19 22:22:24 +01:00
Matthias Koefferlein 415d52f35d Fixed some issues found by Coverity scan. 2018-03-19 18:24:09 +01:00
Matthias Koefferlein 13062292fe Modified solution for the segfault mentioned in ticket #85 (@thomaslima: thanks for the root cause analysis) 2018-03-16 10:05:09 +01:00
Thomas Ferreira de Lima a6738f5be4 better ruler rendering. Fails totally at 2x oversampling 2018-03-15 23:07:25 -04:00
Thomas Ferreira de Lima b6ec5b7c0d retina rendering of layout fine. rulers and other bitmap objects not obeying retina dpi 2018-03-15 14:37:38 -04:00
Thomas Ferreira de Lima 53bc8e97fe a little more stable.
still unstable for oversampling >1. also rulers do not render well
2018-03-15 03:55:47 -04:00
Thomas Ferreira de Lima a94ad6622a retina display working prototype. only works if oversample = 1. 2018-03-15 03:32:46 -04:00
Thomas Ferreira de Lima 8419ed0c6f fixing the bug mentioned in PR #85 2018-03-15 00:08:18 -04:00
Matthias Koefferlein 02c9c645ec Rephrase confusing option in 'save as' dialog. 2018-03-12 20:55:15 +01:00
Matthias Koefferlein 9fd169f183 Merge branch 'bug_89' 2018-03-12 20:47:38 +01:00
Matthias Koefferlein 3ae71d7e72 Bugfix: properly initialize new config value 2018-03-12 20:47:33 +01:00
Matthias Koefferlein 802237141b Fixed #90 (DRC issue with 'extended' and joined = true) 2018-03-12 00:47:04 +01:00
Matthias Koefferlein 8bec89611f Trying to fix alpha channel issue by providing upper 8 bits set in QImage. 2018-03-11 23:57:41 +01:00
Matthias Köfferlein 4ef4635e24
Merge pull request #86 from lightwave-lab/master
Building KLayout on macOS High Sierra with python3 from brew and Qt 5.9.4
2018-03-11 22:20:41 +01:00
Matthias Köfferlein dc5792d768
Merge pull request #87 from lightwave-lab/open-with-macos
Open with macos
2018-03-11 22:08:49 +01:00
Matthias Koefferlein 5fbc20702e Macro editor enhancements (stop on exceptions)
This commit tries to address #85 and provide these features:
 - dynamic configuration of the macro IDE behaviour
 - side effect: a new entry in the setup dialog for the
   IDE settings
 - "stop on exceptions" can be taught to ignore certain files
2018-03-11 21:58:59 +01:00
Alex Tait 9717612c93 allowed user defined literals. build and deploy passes with MacOsSierra version of Ruby. 2018-03-08 14:33:43 -05:00
Thomas Ferreira de Lima 8ec78a99a9 open with working properly in MacOS. 2018-03-07 12:54:01 -05:00
Thomas Ferreira de Lima c82bb445ac testing file open event 2018-03-07 11:07:29 -05:00
Matthias Koefferlein 51e40cc9ab Merge remote-tracking branch 'remotes/origin/master' 2018-03-03 00:22:10 +01:00
Matthias Koefferlein 7da3b0206a DRC as early autorun
This will finally enable DRC runsets started from an autorun macro.
2018-03-03 00:21:23 +01:00
klayoutmatthias 3d5fe871e2 Fixed #84 (Python modules: breakpoints not working on Windows) 2018-03-03 00:18:18 +01:00
Matthias Koefferlein 6f0ecd3d9c Show tip window once for non-standard background combination mode. 2018-02-27 21:59:52 +01:00
Matthias Koefferlein 2ffdbb4d91 Suppress repeated message in unit tests if not required. 2018-02-27 00:02:57 +01:00
Matthias Koefferlein d0cb17b386 ut_runner: Added -r option, fixed help text 2018-02-24 18:09:50 +01:00
Matthias Koefferlein eea53b3091 Fixed #79 (Macro Editor: Replace function enabled also for read-only macros) 2018-02-23 23:04:21 +01:00
Matthias Koefferlein 5f4e715dcf Fixed #77 (copy_tree should work in non-editable mode too) 2018-02-21 07:47:41 +01:00
Matthias Koefferlein a272ba39a7 Remove a debug output. 2018-02-21 07:47:02 +01:00
Matthias Koefferlein 2f46f0d1c6 Fixed some issues found with Coverity. 2018-02-21 00:21:19 +01:00
Matthias Koefferlein 6052a04429 A few enhancements and unit tests for PCells
This commit adds unit tests for implementation helper-based
PCells in Python and Ruby.
2018-02-17 01:26:25 +01:00
Matthias Koefferlein f6f75cd791 A small rework of the Python PCell helpers
The aim of this rework was to enable PCell implementations
that use the basic methods rather than the "_impl" variants.
For the latter, potential variable name clashes happen when
parameters are called "cell", "layout", "layer" or similar.

New methods enable implementation on the level of the
non-"impl" methods. For example:

  def produce(self, layout, layers, parameters, cell):
    self.init_values(parameters, layers)
    ...
    self.finish()
2018-02-13 00:59:11 +01:00
Matthias Koefferlein 12bb664a80 Fixed the default implementation of transformation_from_shape in Python 2018-02-13 00:09:54 +01:00
Matthias Koefferlein 4f3b205d93 Fixed #71 (target cell argument is required) 2018-02-12 22:46:54 +01:00
Matthias Koefferlein 5d59b890d3 Small bugfix: DRC error message on wrong '@' input/output was wrong. 2018-02-12 22:04:03 +01:00
Matthias Koefferlein 6d0fe85425 Fixed #75 (Python PCell issue when parameters are called 'layer')
This commit
- Ignores exceptions when checking for PCells that accept shapes.
  Hence a single rogue one does not break the feature.
- Prevents errors when parameters named "layer" are present
  by making the implementation safe against this case.
- In addition, guiding shape parameters of type "Path", "Box" etc.
  (i.e. integer types) are supported too although they are
  not recommended for portability.
2018-02-11 00:34:28 +01:00
Matthias Koefferlein 6a762db29b Reworked bookmark menu implementation to avoid MacOS menu issue
Without this commit, bookmark menus got grayed out
on MacOS with Qt5 sometimes. Now, the implementation
of recent file menu, bookmark menu, macro menu and
the static main menu use the same framewkork which
includes a workaround for the disabled menu issue.
2018-02-10 18:41:05 +01:00
Matthias Koefferlein 1e29b29c13 Merge remote-tracking branch 'remotes/origin/menu_issue' 2018-02-10 17:32:33 +01:00
Matthias Koefferlein d6adadcad4 Added file source to 'stream has unknown format' message. 2018-02-09 22:56:03 +01:00
Matthias Koefferlein 396d0263d4 Some changes to work around MacOS menu issues
- ID's are used instead of pointers to identify menu items
  vs. QAction's. This is a weak measure to enhance predictability.
- The file menu is built from abstract menu items instead with
  native Qt objects. This way the bug fix applies both to
  file menu items and the other menu entries

The main fix is:
- A menu sync is forced by emitting a focusWindowChanged event
  from the application object. This forces the QCocoaMenuBar
  implementation to update the system menu.
2018-02-08 16:33:54 -08:00
Matthias Koefferlein 6df645a917 Fixed #74 (small-corner boolean issue). Tests need update 2018-02-08 23:12:58 +01:00
Matthias Koefferlein 363c0c9fed Fixed #73 (allow 'change layers' on PCells which support a single layer parameter) 2018-02-06 22:51:06 +01:00
Matthias Koefferlein fb69dfd866 Fixed HTML version of class documentation - links to methods have not been working properly. 2018-02-04 19:07:33 +01:00
Matthias Koefferlein 808159bcab Fixed #72 (Edges/Region NOT issue) 2018-02-01 22:35:47 +01:00
Matthias Koefferlein 432a8dddb8 Bugfix: Ruby debugger breakpoints were disabled sometimes 2018-02-01 21:18:48 +01:00
Matthias Koefferlein 23c2ae7306 Fixed #69 (DRC: 'inside' does not merge shapes of second input) 2018-01-30 00:40:17 +01:00
Matthias Koefferlein ccb76a9f09 Merge remote-tracking branch 'remotes/origin/master' 2018-01-27 01:31:47 +01:00
Matthias Koefferlein 705056675a Fixed a potential crash in the package manager on computing dependencies 2018-01-26 16:28:25 -08:00
Matthias Koefferlein 475bf6eb83 Small bug fixes in the package manager
- Remove button wasn't enabled if multiple packages
  were selected
- A potential crash on removing packages was fixed
2018-01-27 01:05:25 +01:00
Matthias Koefferlein aab425a58c Fixed #66 (Authentication dialog should indicate retry) 2018-01-24 22:08:13 +01:00
Matthias Koefferlein 04b4c21e82 Fixed #68 (OASIS reader issue with degenerated shapes) 2018-01-24 21:21:02 +01:00
Matthias Koefferlein 53328d1767 Merge branch 'macos-build' from kazzz 2018-01-14 17:29:59 +01:00
Matthias Koefferlein 8b479bd20a Fixed #64 (crash on exit) 2018-01-14 00:15:16 +01:00
Matthias Koefferlein a2ba300bd7 More consistent 64bit coordinate support 2018-01-12 00:30:49 +01:00
Matthias Koefferlein 390a5c11a8 Using OASIS files for smaller size as DRC golden data 2018-01-12 00:06:24 +01:00
Matthias Koefferlein ed945a28d4 Fixed #63 (wrong output on DRC non_interacting with empty second input) 2018-01-10 23:20:34 +01:00
Matthias Koefferlein 2de6b691b4 64bit coordinate support enhanced
- int128 to string support for output
- unit tests
- some compiler issues fixed
2018-01-10 22:12:55 +01:00