Commit Graph

2382 Commits

Author SHA1 Message Date
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 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