Commit Graph

2469 Commits

Author SHA1 Message Date
Matthias Koefferlein 6ad1f3f73f Fixed a numerical issue leading to an infinite loop on some compilers 2024-01-23 16:31:46 +01:00
Matthias Koefferlein 9a52095dd0 Merge branch 'master' into wip 2024-01-07 17:25:11 +01:00
Matthias Koefferlein 0ae2ed49f8 Merge branch 'master' into wip 2024-01-06 17:28:51 +01:00
Matthias Koefferlein f26fac58fd Implementation of fix for issue #1586
- the "to_dtrans" now behaves as expected
- the conversion constructors have been generalized by adding a 'dbu' argument
- the conversion constructors now are favoured instead of the to_xxx functions
- some of the to_xxx functions are ill-named and are deprecated
2024-01-05 23:24:50 +01:00
Matthias Koefferlein d9f41c1585 Now fixing unit tests for 32bit coordinates :( 2024-01-04 16:43:27 +01:00
Matthias Koefferlein 5e096bd433 Fixing unit tests for 64 bit coordinates 2024-01-04 00:33:21 +01:00
Matthias Koefferlein 38de2d685f Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double. 2024-01-03 01:57:27 +01:00
Matthias Koefferlein 2b4a583f05 Update copyright year 2024-01-01 17:27:59 +01:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein 11fbad0104 eliminating some unnamed arguments 2023-12-28 21:35:14 +01:00
Matthias Koefferlein f685fe3adf WIP: keyword arguments for expressions 2023-12-28 01:03:21 +01:00
Matthias Koefferlein 702bcbe924 WIP: keyword arguments (for now: Python) + transformation alignment
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.

Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00
Matthias Koefferlein d1695b88af Merge branch 'wip' 2023-12-23 18:05:54 +01:00
Matthias Köfferlein 3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +01:00
Matthias Köfferlein 3533adf8ab
Merge pull request #1554 from KLayout/issue-1549
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-08 07:25:51 +01:00
Matthias Koefferlein 3e114bd69c Fixed doc. 2023-12-08 07:24:46 +01:00
Matthias Koefferlein b6d3f8be93 Added Edge#euclidian_distance 2023-12-07 23:09:04 +01:00
Matthias Koefferlein d5f484bf92 Added EdgePair#distance 2023-12-05 22:09:57 +01:00
Matthias Koefferlein b701390e6a Enabling cheats for edges and (implicit) polygon merges
DRC "cheats" have not been effective on "size"
for example. Also they have not been effective at
all for edges.
2023-12-03 21:50:03 +01:00
Matthias Koefferlein caf54bd77b Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format 2023-12-02 22:10:31 +01:00
Matthias Koefferlein c05f7c8bd9 Fixing issue #1549 (error layer handling in RecursiveShapeIterator) 2023-12-02 19:00:43 +01:00
Matthias Koefferlein 0efdbd4ebe Doc updates 2023-11-26 10:32:26 +01:00
Matthias Koefferlein 0ea2610bf4 Reworking technology API a little: providing a way to register a new technology object, clarification of doc 2023-11-25 16:56:56 +01:00
Matthias Koefferlein 1e09bee1b6 Fixed issue #1534 (Layout::dup does not copy properties) 2023-11-19 20:48:44 +01:00
Matthias Koefferlein 86c1e6ad2b Some more refactoring 2023-11-19 00:14:46 +01:00
Matthias Koefferlein c2df163b8a Added cell variants to polygon to edge processor 2023-11-18 23:27:20 +01:00
Matthias Koefferlein dd81fda27d Refactoring with the goal to reduce the overhead for variant computation 2023-11-18 21:42:24 +01:00
Matthias Koefferlein b0648e1c45 Experimental: sparse cell variants table 2023-11-18 21:21:00 +01:00
Matthias Koefferlein d0172d57f3 Further optimization/refactoring 2023-11-18 19:12:13 +01:00
Matthias Koefferlein 06afaf8692 Some refactoring 2023-11-18 18:57:08 +01:00
Matthias Koefferlein 877646d959 Debugging sized operator for generic DRC, new tests 2023-11-18 13:40:50 +01:00
Matthias Koefferlein c368710253 Further bug fixes in generic DRC domain 2023-11-18 12:35:34 +01:00
Matthias Koefferlein 37334d40b9 WIP 2023-11-18 11:09:31 +01:00
Matthias Koefferlein 1b01d6e20a First version that works with the test case 2023-11-17 00:21:15 +01:00
Matthias Koefferlein 01b65d3699 WIP 2023-11-17 00:13:20 +01:00
Matthias Koefferlein 795aeba322 WIP 2023-11-17 00:11:59 +01:00
Matthias Koefferlein 139723ed5d Enabling db resource for the '-without-qt' case, specifically the default font 2023-11-12 22:25:53 +01:00
Matthias Koefferlein 969ceb84bb FEATURE: Added Layout#error_layer. 2023-11-11 23:09:05 +01:00
klayoutmatthias fcfc69529c Fixing a static initialization problem on Windows 2023-11-09 22:03:23 +01:00
Matthias Koefferlein 4a152583e8 Trying to fix a problem on Windows 2023-11-09 21:56:55 +01:00
Matthias Köfferlein 041fb53d04
Merge pull request #1518 from KLayout/git-for-packages
Git for packages
2023-11-07 21:36:01 +01:00
Matthias Koefferlein b56220d36d [consider merging] Functional ut_runner binary also with -without-qt 2023-10-28 23:48:56 +02:00
Matthias Koefferlein 1cf34b0ee9 Merge branch 'wip' of github.com:KLayout/klayout into wip 2023-10-19 21:25:07 +02:00
Matthias Koefferlein 261d0249e8 Merge branch 'wip' 2023-10-19 21:23:07 +02:00
Matthias Koefferlein 72278b90ec Added 'top_level' feature to tell LVS to perform in top level mode 2023-09-27 21:45:06 +02:00
Matthias Koefferlein cd5204fdf1 Backwards compatible definition of LogDataEntry#to_s 2023-09-27 21:14:11 +02:00
Matthias Koefferlein 001c2240e2 Highlight error marker from netlist browser 2023-09-26 23:39:46 +02:00
Matthias Koefferlein 883b7e7db8 Fixed category assignement in device extractor 2023-09-26 22:45:13 +02:00
Matthias Koefferlein b3992ab25c Simplified test code 2023-09-26 22:18:33 +02:00
Matthias Koefferlein e71a4dfb92 Simplified test code 2023-09-26 22:13:19 +02:00
Matthias Koefferlein e9eb8e7ebc Using categories for device extractor errors 2023-09-26 21:57:50 +02:00
Matthias Koefferlein 2c88f7753d Bug fix 2023-09-26 21:57:16 +02:00
Matthias Koefferlein 579f5ffca4 Doc updates 2023-09-25 23:33:15 +02:00
Matthias Koefferlein 2a85ae8e5c Added tests 2023-09-24 21:33:28 +02:00
Matthias Koefferlein 6412c534b8 Updated tests 2023-09-24 19:01:30 +02:00
Matthias Koefferlein 1b4c81ac7b Rework: unifying device extractor logger entries and LayoutToNetlist ones 2023-09-24 18:16:19 +02:00
Matthias Koefferlein a5bee51046 Updated tests 2023-09-24 00:07:50 +02:00
Matthias Koefferlein 439e10c982 Bug fixes 2023-09-23 23:58:43 +02:00
Matthias Koefferlein 1fbb907c5b Fixed some unit tests
The flatten test now reduces pins of subcircuits if they
would connect to the same net internally
2023-09-23 23:47:08 +02:00
Matthias Koefferlein 4d41ca6f5c Fixed tests. Note that now a net with two labels carries a combined net name and does not qualify for connect_implicit if one label matches 2023-09-23 21:44:35 +02:00
Matthias Koefferlein c81388d830 Updated tests 2023-09-23 17:33:44 +02:00
Matthias Koefferlein b09d63e780 Doc update, test updates 2023-09-23 00:57:57 +02:00
Matthias Koefferlein b72dfe34b4 WIP: aligned new implementation better with original one 2023-09-23 00:35:11 +02:00
Matthias Koefferlein 4f3522961e WIP 2023-09-22 23:35:09 +02:00
Matthias Koefferlein e56cdaeaab WIP 2023-09-22 22:59:43 +02:00
Matthias Koefferlein 2f1cbf2e01 WIP 2023-09-22 21:45:34 +02:00
Matthias Koefferlein 1639ffdf34 WIP 2023-09-19 23:42:19 +02:00
Matthias Koefferlein 034a2673d0 Implemented must-connect check 2023-09-19 23:39:02 +02:00
Matthias Koefferlein e7a8569052 WIP: reimplementing connect_implicit on netlist basis 2023-09-19 23:10:51 +02:00
Matthias Koefferlein 93c570a6f9 [consider merging] Fixed an unitialized pointer 2023-09-17 22:04:36 +02:00
Matthias Koefferlein 1333856337 WIP 2023-09-17 19:58:22 +02:00
Matthias Koefferlein 7c1fd487d6 [consider merging] Bugfix for LayoutToNetlistReader 2023-09-17 19:58:04 +02:00
Matthias Koefferlein 7126375646 WIP 2023-09-17 19:26:18 +02:00
Matthias Köfferlein 70dcef25ce
Merge pull request #1476 from KLayout/issue-1474
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have th…
2023-09-12 07:22:37 +02:00
Matthias Koefferlein 9bb8b4e548 Bugfix: PCellDeclarationHelper was not present after 'import * from pya', more modern version of PCell samples 2023-09-10 23:41:51 +02:00
Matthias Koefferlein 64bcc6bb65 Bugfixed last commit 2023-09-10 22:51:22 +02:00
Matthias Koefferlein 22bab6d6a6 Some refactoring 2023-09-10 22:05:08 +02:00
Matthias Koefferlein b7ee16b63f Performance enhancement for instance sorting - done only on demand 2023-09-10 19:47:43 +02:00
Matthias Koefferlein 8adc14d22b Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have the same refnum) 2023-09-09 22:13:05 +02:00
Matthias Koefferlein 81e6141245 Fixed issue #1464 - Layout#get_info and Layout#set_info don't segfault on wrong layer index 2023-09-02 19:37:43 +02:00
Matthias Koefferlein 862f8a5c65 Restored a method which was renamed by mistake 2023-09-02 19:18:43 +02:00
Matthias Koefferlein 512183d55c Fixed a documentation error 2023-08-30 21:48:09 +02:00
Matthias Koefferlein 06321cdea7 Bugfix: deep region 'transform' with plain shift was not working properly with scaled instances 2023-08-24 22:55:55 +02:00
Matthias Koefferlein 87fcbbecfa Fixed some includes which where not there 2023-08-23 21:47:06 +02:00
Matthias Koefferlein 5075cad46a Further trying to fix Windows builds 2023-08-23 20:43:58 +02:00
Matthias Koefferlein 8ac4113abc Further trying to fix Windows builds 2023-08-23 20:39:03 +02:00
Matthias Koefferlein 3313f5588e Trying to fix more Windows build issues 2023-08-23 20:33:41 +02:00
Matthias Koefferlein 6027510c19 Fixing Windows build 2023-08-23 00:03:59 +02:00
Matthias Koefferlein 9153763a1c Fixing Windows build - template point<C> and vector<C> are fully inlined and 'to_string' function pointer for SFINAE creates duplicate symboles 2023-08-22 23:27:10 +02:00
Matthias Koefferlein aef2979896 Fixed unit tests 2023-08-20 23:32:12 +02:00
Matthias Koefferlein d01589c26c Fixed a build issue 2023-08-20 22:52:24 +02:00
Matthias Koefferlein 5941ee688a Fixed a build error. 2023-08-20 22:33:06 +02:00
Matthias Koefferlein 4e8c83e7b6 Fixed a build error. 2023-08-20 22:31:45 +02:00
Matthias Koefferlein 2c2fbea94f Some useful aliases for RBA as in-place operators do not really do what they are supposed to in Ruby. 2023-08-20 19:15:08 +02:00
Matthias Koefferlein 83243f06be Triangles: solving a numerical issue 2023-08-20 16:48:58 +02:00
Matthias Koefferlein 1b60adf6c1 WIP 2023-08-20 10:19:11 +02:00
Matthias Koefferlein 5de45000db Triangles: integration into Region processor 2023-08-19 21:50:05 +02:00
Matthias Koefferlein e416c04a1c Triangles: enhanced API 2023-08-19 20:40:15 +02:00
Matthias Koefferlein dfe6699ef9 Triangles: some cleanup 2023-08-19 19:24:56 +02:00
Matthias Koefferlein 18a3c53c2d Triangles: WIP + more tests 2023-08-19 18:56:51 +02:00
Matthias Koefferlein 0a67aa361c Triangles: Added a more complex test case for triangulation and providing a min_length parameter for stopping infinite recursion 2023-08-19 15:25:21 +02:00
Matthias Koefferlein 31caa8a04d Small optimization 2023-08-19 13:29:37 +02:00
Matthias Koefferlein ef7a5a1331 Triangle: some performance optimization 2023-08-19 13:16:19 +02:00
Matthias Koefferlein c6b7908499 Triangles: Memory optimization 2023-08-19 01:55:04 +02:00
Matthias Koefferlein ae3588ab16 Triangles: potential performance improvement in degenerate point set (circle) case. 2023-08-19 01:13:09 +02:00
Matthias Koefferlein 5c46cdfda3 Triangles: Performance improvement 2023-08-19 00:39:31 +02:00
Matthias Koefferlein 2f8144b507 Performance optimization of Triangle insert 2023-08-17 21:50:22 +02:00
Matthias Koefferlein 1e3e918b90 Debugging. 2023-08-17 01:05:15 +02:00
Matthias Koefferlein 5679540c85 Some refactoring 2023-08-16 22:21:49 +02:00
Matthias Koefferlein 2acedfde6f Fixed some compiler warnings 2023-08-16 22:20:25 +02:00
Matthias Koefferlein da1251ada2 Fixed a numerical issue with vprod_sign etc. - was using a too coarse precision value to decide about the sign 2023-08-16 22:19:33 +02:00
Matthias Koefferlein fe90164a8a Fixed some compiler warnings 2023-08-16 22:18:53 +02:00
Matthias Koefferlein e07d802500 Delaunay refinement, tests etc. 2023-08-16 00:05:46 +02:00
Matthias Koefferlein 26f1219cc5 Triangle: bug fixes 2023-08-15 21:05:08 +02:00
Matthias Koefferlein bfccd24016 Triangles: Better numerical stability 2023-08-15 19:57:11 +02:00
Matthias Koefferlein 7351810e55 WIP 2023-08-15 15:56:15 +02:00
Matthias Koefferlein 512cf604d0 Triangles: new test, bugfix 2023-08-15 15:49:11 +02:00
Matthias Koefferlein 03497f05b8 Triangles: tests fixed 2023-08-15 15:33:17 +02:00
Matthias Koefferlein 6e9eb922a2 Triangles: constrain 2023-08-15 14:55:41 +02:00
Matthias Koefferlein 3cc35ce3ee Triangles: ensure_edge 2023-08-15 14:05:20 +02:00
Matthias Koefferlein a2e91532c4 WIP: remove vertex implemented for triangles 2023-08-13 21:40:09 +02:00
Matthias Koefferlein 576eacd0bf WIP 2023-08-13 21:14:58 +02:00
Matthias Koefferlein 82b49dfb77 WIP 2023-08-13 18:40:24 +02:00
Matthias Koefferlein 88fd5ad8ca WIP 2023-08-13 18:13:33 +02:00
Matthias Koefferlein 745eb9b625 First tests pass for triangles. 2023-08-13 16:37:01 +02:00
Matthias Koefferlein 255f2dd572 WIP 2023-08-12 21:34:45 +02:00
Matthias Koefferlein b710b32fbe WIP 2023-08-12 21:23:00 +02:00
Matthias Koefferlein 1756ddfafa WIP 2023-08-12 20:44:30 +02:00
Matthias Koefferlein 0941bc214c WIP 2023-08-12 20:27:05 +02:00
Matthias Koefferlein f86f56fbb0 WIP 2023-08-12 19:20:02 +02:00
Matthias Koefferlein 789ae93b52 WIP 2023-08-12 18:45:13 +02:00
Matthias Koefferlein a242336834 WIP 2023-08-12 18:30:00 +02:00
Matthias Koefferlein dfa0a0619b WIP 2023-08-12 18:12:44 +02:00
Matthias Koefferlein 14f8c1a61b WIP 2023-08-12 16:21:10 +02:00
Matthias Koefferlein c93e490968 WIP 2023-08-12 15:30:29 +02:00
Matthias Koefferlein 079c4f9760 WIP 2023-08-12 15:13:44 +02:00
Matthias Koefferlein b69cf67c14 WIP 2023-08-12 10:43:57 +02:00
Matthias Koefferlein fa301b0d32 WIP 2023-08-12 10:38:04 +02:00
Matthias Koefferlein 495da3de23 WIP 2023-08-12 00:46:23 +02:00
Matthias Koefferlein 254015617d Merge branch 'wip' into wip2 2023-08-11 19:17:01 +02:00
Matthias Koefferlein 141f7d78cd Hopefully fixing Windows builds 2023-08-07 00:25:01 +02:00
Matthias Köfferlein 112d0843a7
Merge pull request #1443 from KLayout/issue-1441
Fixed issue #1441 (RDB support for text attributes like size, font, h…
2023-08-06 22:15:45 +02:00
Matthias Koefferlein d958d71e2e Fixed unit tests and MSVC build 2023-08-05 21:02:26 +02:00
Matthias Koefferlein 76a1450f32 Fixed issue #1441 (RDB support for text attributes like size, font, halign/valign) 2023-08-01 22:48:28 +02:00
Matthias Koefferlein 476c7156ab Merge branch 'master' into wip2 2023-08-01 21:48:00 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +02:00
Matthias Koefferlein 6e4ac71442 WIP 2023-07-28 23:48:34 +02:00
Matthias Koefferlein e766b12c3e Allowing PCell layer parameters without default (-> empty) 2023-07-28 21:52:51 +02:00
Matthias Koefferlein 8b44a3ba13 Fixing PCellDeclaration helper (correct use of 'raise' 2023-07-28 21:26:05 +02:00
Matthias Koefferlein 0f47a9e54d Refined solution for #1425 (exact match has priority in find_layers), doc updates 2023-07-23 18:19:21 +02:00
Matthias Koefferlein 393aacbcff Fixed issue #1425: enhancement - allow searching for layers in layouts by name even if they have layer/datatype 2023-07-23 10:05:20 +02:00
Matthias Koefferlein e965f87f58 Merge branch 'master' into wip 2023-07-15 22:48:53 +02:00
Matthias Koefferlein 7bcbd607b7 Meta infos in GDS2 files do not make old KLayout versions fail always
Only these cases are not supported by old versions:
* Layout-object meta info
* Meta info on top cell (renders an empty layout)
2023-07-11 01:01:43 +02:00
Matthias Köfferlein 6b1aa882eb
Merge pull request #1412 from KLayout/wip2
Wip2
2023-07-05 18:31:38 +02:00
Matthias Koefferlein 37cf773a70 Introduces a 'greedy hierarchy' mode for DeepShapeStore for special applications (e.g. strmxor) 2023-07-04 07:56:58 +02:00
Matthias Koefferlein 3980476455 Trying to improve deep mode performance by avoiding multiple cell mapping operations due to partial hierarchy transfer. On the cost side, the hierarchy is always duplicated. 2023-07-04 00:19:55 +02:00
Matthias Koefferlein 01f2868e5d Fixed issue #1407 (clip does not support polygons with holes) 2023-07-02 22:14:13 +02:00
Matthias Koefferlein 07b8362368 Small performance enhancement of cell mapping 2023-06-29 23:09:16 +02:00
Matthias Koefferlein 6a8d18ed05 Doc update 2023-06-26 14:19:29 +02:00
Matthias Koefferlein 63f6abf734 Fixed a unit test failing in non-editable mode 2023-06-10 09:17:00 +02:00
Matthias Koefferlein 7f8eeb3a09 Fixed issue #1281 (Layout diff should ignore shape or instance duplicates)
A new option in the diff tool and strmcmp has been added
(-1|--ignore-duplicates in strcmp).
In RBA/pya, the "IgnoreDuplicates" flag has been added.
2023-06-10 09:11:39 +02:00
Matthias Koefferlein 5bcb9e0207 Merge branch 'xor-perf-trial' into wip2 2023-06-09 23:32:14 +02:00
Matthias Koefferlein a0c70a2cc7 Another small optimization of hierarchical processor, makes a small difference 2023-06-09 23:31:39 +02:00
Matthias Koefferlein 0959676b5a Another shortcut for two-input box scanner, but does not make a large difference 2023-06-09 23:26:49 +02:00
Matthias Koefferlein d604003e3f Changing XOR implementation to mapped
The previous implementation for two layouts
was based on the twofold traversal of hierarchies
but that is less efficient than first mapping and
then doing the XOR within the single layout.
2023-06-08 19:03:57 +02:00
Matthias Koefferlein 078258bf09 New branch for XOR performance improvement in deep mode 2023-06-06 23:35:40 +02:00
Matthias Koefferlein 9817f12385 Speedup of hierarchy processor (context computation) in case if deeply hierarchical two-input cases 2023-06-04 09:13:20 +02:00
Matthias Koefferlein f11500996f New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector 2023-05-31 22:49:02 +02:00
Sebastian Goeldi 293590acb0
fix add_meta_info of Layout and Cell 2023-05-25 13:45:46 +02:00
Matthias Köfferlein fa9e7e7c12
Merge pull request #1379 from KLayout/wip2
Wip2
2023-05-23 19:44:49 +02:00
Matthias Koefferlein c1e0b1a40b Small update: code patch for fixing debug output 2023-05-21 21:07:43 +02:00
Matthias Koefferlein 01eeee1b76 WIP: simplification, needs testing 2023-05-21 20:20:46 +02:00
Matthias Koefferlein ca05f59168 WIP: some performance enhancement, but not compatible 2023-05-21 20:02:46 +02:00
Matthias Koefferlein 0400261641 Added testcase for issue-1366 2023-05-20 23:26:20 +02:00
Matthias Koefferlein 44965bf19c Approx 2x performance improvement of issue-1366 testcase due to more efficient filling of scanline queue 2023-05-20 23:10:03 +02:00
Matthias Koefferlein c37be0884c Potential performance fix for issue #1366 2023-05-20 23:10:01 +02:00
Matthias Koefferlein 331bb5aed4 Fixing a performance issue on hole insertion for polygons with many holes 2023-05-20 23:09:57 +02:00
Matthias Koefferlein ba0aaef132 Merge branch 'master' into wip2 2023-05-18 19:00:24 +02:00
Matthias Koefferlein 3e60aabe7a Fixed issue #1373 (shapes with user properties are skipped from second input of flat region's '+' operator) 2023-05-14 22:48:31 +02:00
Matthias Koefferlein 8f25c3470d Small enhancement to 'decompose_convex' with the goal to avoid thin slivers 2023-05-14 18:33:53 +02:00
Matthias Köfferlein 641d2404d2
Merge pull request #1358 from KLayout/wip2
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein f25d20be20 [bugfix] making 'R', 'L' and 'C' parameters too for the respective Spice elements (beside 'value') 2023-05-11 23:40:20 +02:00
Matthias Koefferlein da52eeb7c3 Fixed text bbox computation under the presence of global view transformations and 'apply text transformation' false 2023-05-11 20:05:28 +02:00
Matthias Koefferlein 1422dfb93d Bugfix, text reference made the program assert 2023-05-11 18:57:24 +02:00
Matthias Koefferlein 45394b801a Debugging TextInfo, added tests 2023-05-09 21:37:15 +02:00
Matthias Koefferlein e8048d6686 WIP: preparations - introducing TextInfo 2023-05-07 19:51:15 +02:00
Matthias Koefferlein 5fd54fa40a Netlist reader: anonymous circuits are not checked for known parameters 2023-05-06 00:00:56 +02:00
Matthias Koefferlein 7bdc8efc81 Displaying meta info in user properties dialog box for information
Copy of meta info from cell to other layout now preserves names.

In addition two bugs have been fixed:
* Display of meta info for layout on statistics page did not show description
* ghost cell status now is copied on cell copy
2023-05-02 21:48:13 +02:00
Matthias Koefferlein ffd47e1341 Fixed issue-1353 (problem with recursive instance iterator) 2023-04-29 23:28:20 +02:00
Matthias Koefferlein 707ebc4114 Copying meta information of cells on various occasions too (e.g. clipboard copy & paste) 2023-04-29 23:27:42 +02:00
Matthias Koefferlein c8d97871fd Enabling build of version agnostic plugins 2023-04-22 21:26:39 +02:00
Matthias Koefferlein 70b6306635 Tests for complex data for meta info, doc updates 2023-04-22 00:16:12 +02:00
Matthias Koefferlein d9e0d107b1 Bug fixes, RBA tests for meta info 2023-04-21 23:33:42 +02:00
Matthias Koefferlein 3361802a20 Tests and bugfixing for meta info persistence in OASIS + GDS 2023-04-19 00:51:11 +02:00
Matthias Koefferlein b36eb04afa Meta info persistency also for OASIS 2023-04-18 22:34:11 +02:00
Matthias Koefferlein 78da3effa2 Next steps - persistency of meta info 2023-04-18 21:24:26 +02:00
Matthias Koefferlein b14c630ce9 Scheduling update for 0.28.8 2023-04-16 21:40:53 +02:00
Matthias Koefferlein 541f9a377f Small refactoring, added persisted flag for meta info 2023-04-16 21:31:25 +02:00
Matthias Koefferlein 1a0542f155 Fixed two compiler warnings of hidden virtual methods 2023-04-16 21:31:02 +02:00
Matthias Koefferlein df4221cfc9 First features to support cell meta data 2023-04-16 20:25:30 +02:00
Matthias Köfferlein d560027790
Merge pull request #1334 from KLayout/issue-1327
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55:02 +02:00
Matthias Köfferlein fc014efe80
Merge pull request #1331 from KLayout/issue-1321
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +02:00
Matthias Koefferlein 63a4fe8d77 Issue #1327 fixed (segfault in pymod finalization code) 2023-04-07 10:59:30 +02:00
Matthias Koefferlein 19fbc5c144 Implemented tilde expansion, internal stream path names are now absolute, fixed tests 2023-04-07 00:19:10 +02:00
Matthias Koefferlein fd0c60761f Merge branch 'master' into wip 2023-03-24 15:56:48 +01:00
Matthias Koefferlein 02e9f605d9 Implemented .lib for Spice reader - issue #1320 2023-03-24 14:31:49 +01:00
Matthias Koefferlein a39441cdbd Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently) 2023-03-24 13:29:14 +01:00
Matthias Koefferlein b979219007 Fixed previous implementation - was not fully effective 2023-03-16 20:06:07 +01:00
Matthias Koefferlein 178cb29773 Fixed a function call typo 2023-03-16 10:05:36 +01:00
Matthias Koefferlein 2166f2bb21 Some memory optimization potential with tiled processor to improve XOR memory footprint (box-like polygons stored as boxes, polygon references) 2023-03-15 23:22:04 +01:00
Matthias Koefferlein ffbcfc5490 Trying to reduce memory overhead of tiling processor - using box objects when possible 2023-03-12 22:10:49 +01:00
Matthias Koefferlein bcaefefded Cleanup of box scanner implementation 2023-03-12 19:45:39 +01:00
Matthias Koefferlein 741c9d9ac5 Performance enhancement of flat space DRC in some cases 2023-03-12 19:45:24 +01:00
Matthias Koefferlein 55dbf85b4b Some refactoring of Spice reader with the goal to simplify delegate implementation, removing static instance of default delegate 2023-03-12 17:03:15 +01:00
Matthias Koefferlein db8f9d5bcb Spice reader enhancements
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein 6955d7d0c7 Better handling of inputs in deep mode after manipulating the hierarchy of the input layout 2023-03-12 00:26:18 +01:00
Matthias Koefferlein 047455c560 Merge branch 'master' into wip2 2023-03-12 00:10:23 +01:00
Matthias Koefferlein 5a1e845a64 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:56:02 +01:00
Matthias Koefferlein ce31f47918 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:55:06 +01:00
Matthias Koefferlein 068849a634 Refactoring, primary goal is to centralize the definition of PCellDeclarationHelper in Python 2023-03-10 23:22:30 +01:00
Matthias Koefferlein 3e8f03ef5f Synchronizing Python PCellDeclarationHelper between the two implementations (for standalone module + build-in for app) 2023-03-07 23:43:12 +01:00
Matthias Koefferlein 1b3e8e14c5 Netlist reader: anonymous circuits are not checked for known parameters 2023-03-06 22:38:10 +01:00
Matthias Koefferlein be0d155848 Fixed issue #1309
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Koefferlein 4ead7b46a1 Test updates 2023-02-27 21:27:19 +01:00
Matthias Koefferlein ceb82a15d8 Fixed merge issues 2023-02-27 00:27:23 +01:00
Matthias Koefferlein ebcf242a9e Merge branch 'more-spice' into issue-1304 2023-02-27 00:21:20 +01:00
Matthias Koefferlein 69d975c736 Update to test data 2023-02-27 00:19:14 +01:00
Matthias Koefferlein 0fa9bc6e2b Fixed issue #1304 (terminal order for MOS devices) 2023-02-26 23:30:17 +01:00
Matthias Koefferlein 3ac1385d87 Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes 2023-02-26 21:31:34 +01:00
Matthias Koefferlein 2e3c859cd3 Specified release version for Spice reader enhancements 2023-02-26 19:52:05 +01:00
Matthias Koefferlein d20e4b2128 Bug fixes, adjusted test data 2023-02-22 15:54:28 +01:00
Matthias Koefferlein be5e16c125 WIP: bug fixing, new test cases 2023-02-22 13:11:30 +01:00
Matthias Koefferlein 44e123f343 WIP: Spice reader - resolve model and net names by variables 2023-02-22 10:20:48 +01:00
Matthias Koefferlein 18f2b57c3d WIP: generlizing parameter values for spice reader - can be strings too 2023-02-22 10:15:05 +01:00
Matthias Koefferlein 51c4b7ed28 WIP 2023-02-22 09:48:08 +01:00
Matthias Koefferlein 715c7ed282 WIP: rewriting Spice expression parser to support more functions 2023-02-21 18:10:36 +01:00
Matthias Koefferlein 80fa7e47e2 WIP: tests pass 2023-02-21 00:49:23 +01:00
Matthias Koefferlein 49d3edd26a WIP: debugging, first tests pass. 2023-02-21 00:17:41 +01:00
Matthias Koefferlein ac5616a583 WIP 2023-02-21 00:15:22 +01:00
Matthias Koefferlein 736676701d WIP 2023-02-20 23:54:04 +01:00
Matthias Koefferlein 459de47448 WIP: spice reader refactoring to support parametric subcircuits 2023-02-20 23:25:23 +01:00
Matthias Koefferlein 2214345df2 WIP 2023-02-20 22:59:03 +01:00
Matthias Koefferlein 40fd350d85 WIP 2023-02-20 22:06:45 +01:00
Matthias Koefferlein 93d9298b51 Formally minkowsky sum now is allowed with empty polygon arguments 2023-02-15 00:29:26 +01:00
Matthias Koefferlein 026e0fa591 Fixed issue #1275 (size after smooth does not work) 2023-02-04 19:56:06 +01:00
Matthias Koefferlein 2d6091cf0a Fixed MSVC builds 2023-01-26 21:51:07 +01:00
Matthias Köfferlein ab8cfee1ea
Merge pull request #1258 from KLayout/wip
Wip
2023-01-24 21:48:27 +01:00
Matthias Koefferlein 2749217984 Seems to fix issue #1260 2023-01-23 23:24:55 +01:00
Matthias Koefferlein 69a2ac107b One bug fix, made tests more robust and compatible with MSVC 2023-01-22 16:17:13 +01:00
Matthias Koefferlein ca091203b3 Attempt to fix Windows builds 2023-01-22 10:23:54 +01:00
Matthias Koefferlein dea1ca6451 WIP: Doc updates, doc bug fixes 2023-01-21 21:37:40 +01:00
Matthias Koefferlein 30ee5e183f WIP: removed TODO markers - needs to stay like that (e.g. drcSimpleTests:48_drcWithFragments) 2023-01-21 19:04:00 +01:00
Matthias Koefferlein f924109bcd WIP: implemented some TODOs 2023-01-21 16:35:01 +01:00
Matthias Koefferlein df1efa802b WIP: some bug fixes, unit tests updated 2023-01-21 15:55:05 +01:00
Matthias Koefferlein 1a9edbf6a9 WIP: refactoring - allow properties constraints modes which do not copy properties. In DRC that is default. 2023-01-21 15:13:39 +01:00
Matthias Koefferlein 38808fccf7 WIP: DRC properties constraints now need explicit generation of output properties. 2023-01-21 14:04:06 +01:00
Matthias Koefferlein 9b64224cb4 WIP: experimenting with pulling net names from subcircuits for dummy connections 2023-01-21 11:22:03 +01:00
Matthias Koefferlein 650f6cacb5 WIP: property support for merged edges and extended on deep edges 2023-01-21 10:12:46 +01:00
Matthias Koefferlein fe1d520d0c WIP: some bug fixes, tests for deep mode - some refinement needed. 2023-01-21 01:38:25 +01:00
Matthias Koefferlein 1a71b01859 WIP: refactoring, added more properties support, bug fixing, added a test for the new DRC features 2023-01-20 23:44:51 +01:00
Matthias Koefferlein 9130492881 [CONSIDER MERGING] use twice the interaction range inside generic DRC's 'sized' node 2023-01-20 23:43:19 +01:00
Matthias Koefferlein 9f27aa9f51 WIP: refactoring, more property support, DRC integration, bug fixes ... 2023-01-20 19:08:21 +01:00
Matthias Koefferlein 7ba3133afc WIP: using net name/circuit name instead of net ID for property value as this is more stable for better regression testing.
Bug fix: re-enabling of trace all nets tests, establishing dummy
names for layers in all cases - otherwise layers do not have a
reference for LayoutToNetlist persistence.
2023-01-20 01:16:30 +01:00
Matthias Koefferlein 234df5a560 WIP: added a few TODOs 2023-01-19 23:54:31 +01:00
Matthias Koefferlein d73544fbc8 WIP: small bug fix 2023-01-19 23:34:15 +01:00
Matthias Koefferlein f329f91300 WIP: bug fixing, test for GSI binding of checks with property constraints 2023-01-19 23:27:31 +01:00
Matthias Koefferlein 220c1b714a WIP: support for 'flatten' with properties 2023-01-19 22:20:07 +01:00
Matthias Koefferlein 83aaca4485 WIP: unit tests for GSI binding of Region#net 2023-01-19 22:11:40 +01:00
Matthias Koefferlein 984c001f56 WIP: debugging and unit test for net-aware booleans 2023-01-19 21:15:41 +01:00
Matthias Koefferlein e1ddd6f8d2 WIP: polishing the region to net generator feature. 2023-01-19 17:25:07 +01:00
Matthias Koefferlein 1b9a532f48 WIP: net generation from region layers 2023-01-19 14:44:17 +01:00
Matthias Koefferlein d7bdbae60b WIP: more refactoring 2023-01-19 12:20:58 +01:00
Matthias Koefferlein fb60e01f45 WIP: refactoring. Goal is to supply a netlist builder object for caching netlist build information 2023-01-19 12:08:50 +01:00
Matthias Koefferlein c16082654f WIP: fixed unit tests 2023-01-19 01:05:26 +01:00
Matthias Koefferlein d230691ae4 WIP: bug fixing, new tests for property filters 2023-01-19 00:56:17 +01:00
Matthias Koefferlein 75c20aa03a WIP: fixed unit tests 2023-01-19 00:29:30 +01:00
Matthias Koefferlein 8ac08778c2 WIP: reworked and implemented a property translation/selection/enabling scheme for the shape containers + GSI binding. 2023-01-19 00:25:07 +01:00
Matthias Koefferlein 500051ef1d WIP: bug fix 2023-01-18 17:07:53 +01:00
Matthias Koefferlein 4edf4ab1f7 WIP: Added support for size with properties 2023-01-18 16:22:36 +01:00
Matthias Koefferlein 71d2d9ef3f WIP: tests for complex DRC ops with properties 2023-01-18 15:46:09 +01:00
Matthias Koefferlein f1646a79fe WIP: preparations for generic DRC with properties 2023-01-18 15:24:00 +01:00
Matthias Koefferlein 9f6f0e2d43 [BUGFIX] WIP: property support for DRC functions, bugfix: DRC check against raw (non-merged semantics) second input did not work 2023-01-18 12:34:47 +01:00
Matthias Koefferlein c3383cf7df WIP: enabling properties for DRC checks, refactoring 2023-01-18 02:23:15 +01:00
Matthias Koefferlein 1b7b077cea WIP: refactoring, started implementing DRC checks with property support 2023-01-18 01:36:22 +01:00
Matthias Koefferlein 40267dddb6 WIP: polygons to edges with properties 2023-01-17 19:07:32 +01:00
Matthias Koefferlein 8fb4e36809 WIP: refactoring, preparing polygon-to-edge with properties 2023-01-17 17:08:36 +01:00
Matthias Koefferlein f0e20ad258 WIP: cleanup 2023-01-17 14:17:42 +01:00
Matthias Koefferlein 5ff187a56d WIP: fixed unit tests 2023-01-17 12:37:12 +01:00
Matthias Koefferlein 5cd322b04c [CONSIDER MERGING TOO] rectified solution for text/polygon interaction 2023-01-17 12:36:56 +01:00
Matthias Koefferlein dfac3b1b44 WIP: Implemented property support for two-boolean 2023-01-17 11:24:08 +01:00
Matthias Koefferlein 72bb6d4a26 WIP: bug fix for deep region merge property computation - was missing on root connector clusters 2023-01-17 10:21:28 +01:00
Matthias Koefferlein dc2ae953ed WIP: bug fixes 2023-01-17 02:38:15 +01:00
Matthias Koefferlein 7f2200cab5 WIP: Bug fixes, refactoring 2023-01-17 01:37:10 +01:00
Matthias Koefferlein 99887a15f0 WIP: refactoring, enabling properties for flat processing 2023-01-17 01:00:27 +01:00
Matthias Koefferlein 58ab6ce9fd WIP: fixed tests, dropped property constraint on XOR and OR (not implemented properly), added 'ignore' property constraint - in the 'no properties' case, properties are passed from the first input. 2023-01-16 16:27:31 +01:00
Matthias Koefferlein 3b4a460581 WIP: Further test updates 2023-01-16 02:29:03 +01:00
Matthias Koefferlein 48b55f142a WIP: flat region tests, partially working 2023-01-16 02:06:21 +01:00
Matthias Koefferlein db870614ab [CONSIDER MERGING] grid check markers are not exactly aligned with vertexes in deep mode 2023-01-16 01:35:08 +01:00
Matthias Koefferlein 70d16425e1 WIP: added tests for as if flat regions 2023-01-16 01:02:30 +01:00
Matthias Koefferlein bf47805b29 WIP: support for properties in deep andnot, tests 2023-01-16 01:00:03 +01:00
Matthias Koefferlein fad85e4260 [CONSIDER MERGING] Bugfix: polygon interaction with texts did not capture texts because of vanishing bounding box 2023-01-16 00:59:32 +01:00
Matthias Koefferlein b7c515bf91 WIP: enabling booleans with property constraints 2023-01-15 20:23:32 +01:00
Matthias Koefferlein f3e610b6e8 WIP: transfer polygon properties to edges 2023-01-15 15:28:10 +01:00
Matthias Koefferlein 5fa4d62da7 WIP: property support for transformation, filters, processors 2023-01-15 15:03:34 +01:00
Matthias Koefferlein 9f633b813d WIP: property management for flat shape containers 2023-01-15 13:34:47 +01:00
Matthias Koefferlein 33b5723068 WIP: property mapping between layouts 2023-01-15 11:56:41 +01:00
Matthias Koefferlein 311d9c6eb5 WIP: new net property mode for net builder (name + id) 2023-01-14 23:56:31 +01:00
Matthias Koefferlein 9f632f29d3 WIP: updated test data 2023-01-14 23:46:48 +01:00
Matthias Koefferlein 053269e0b2 WIP: added test 2023-01-14 22:31:48 +01:00
Matthias Koefferlein 467208fb6e WIP: property-aware meging of deep region 2023-01-14 22:26:42 +01:00
Matthias Koefferlein 478b838589 WIP: properties for regions, starting with deep regions 2023-01-09 00:05:31 +01:00
Matthias Koefferlein 0ba719ad84 WIP: properties for regions, tests for flat and original layer regions 2023-01-08 22:44:23 +01:00
Matthias Koefferlein 1dfa5abc9a WIP: introducing properties for FlatRegion and others 2023-01-08 19:27:41 +01:00
Matthias Koefferlein f9ccb60dd9 WIP: experimental - introducing net DRC, first steps 2023-01-07 23:42:59 +01:00
Matthias Koefferlein af30695ab3 WIP: experimental - introducing net DRC, first steps 2023-01-07 21:56:25 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 420f8cfdc3 Fixed issue #1240 (Layer is not activated from layer properties file on first creation) 2023-01-01 18:45:37 +01:00
Matthias Koefferlein 44a2aa9ca1 Fixed #1230 (LVS browser crashes) and immediately dispatching a 0.28.2 version 2022-12-22 23:17:08 +01:00
Matthias Koefferlein 884203149a Added tests for recent changes 2022-12-17 20:33:50 +01:00
Matthias Koefferlein b1e78efcaa WIP: trying to enhance layout layer lookup performance. 2022-12-14 22:47:16 +01:00
Matthias Koefferlein ad27c9a51d WIP: trying to enhance layout layer lookup performance. 2022-12-13 23:41:34 +01:00
Matthias Koefferlein f49fa646fc Patched PR with leaner solution 2022-12-13 21:54:00 +01:00
Matthias Koefferlein 5a6ea0148a Merge remote-tracking branch 'quantamhd/fix_segfault' into wip 2022-12-13 21:52:40 +01:00
Ethan Mahintorabi 0a03a2809a
Fixes segfault on some linux systems
The static order initialization seems to be more present throughout
Klayout and might cause additional issues, but this fix stopped the
segfault on my machine. When compiling with asan there are a number
or other issues that could be addressed, but it's not clear if they're
real problems.

dbLayout change occured when using the python API to read a DEF layout.
When the layout is updated the code uses a const iterator which
implicitly wraps the non-const iterator. In the loop the end() is
implicitly wrapped, which tries to dereference a nullptr. My fix
checks to ensure that the non-const iterator is not null before trying
blindly dereference it.
2022-12-12 19:03:59 +00:00
Matthias Koefferlein 2c94179589 Fixed #1216 (issue with moved - internal error)
This issue is fixed. In addition the following problems were fixed/found:
* General issue with handling merged state in in-place transform (merge shadow region needs to be updated too)
* moved now is hierarchical (also for edges)
2022-12-08 20:27:42 +01:00
Matthias Koefferlein 92d0174711 Fixed a build issue 2022-12-08 00:48:23 +01:00
Matthias Koefferlein d81e0ba51e Merge branch 'points-as-db-objects' 2022-12-07 21:59:02 +01:00
Matthias Koefferlein 5a252f2b29 Updated golden test data for fast DRC 2022-12-07 21:58:24 +01:00
Matthias Koefferlein dc6408a068 Some cleanup 2022-12-06 18:44:29 +01:00
Matthias Koefferlein 2601f870ec Fixed compile errors 2022-12-05 07:39:03 +01:00
Matthias Koefferlein 035232c978 Providing single-linked list implementation with fast size to address DRC merge performance issue on CentOS 2022-12-05 02:22:08 +01:00
Matthias Koefferlein 43ff59750a Fixed a race condition in DRC local processor with multiple threads 2022-12-04 21:04:21 +01:00
Matthias Koefferlein 0c89d8fec8 WIP: points as db objects - added tests, bug fixes 2022-12-04 19:54:29 +01:00
Matthias Koefferlein 4d04cf4fe3 WIP: introducing points as valid objects into database - implementation. Includes: edge pair perimeter and area. 2022-12-04 19:54:26 +01:00
Matthias Koefferlein 63ad38e9d9 Region#inside/not_inside/covering/not_covering is faster as it skips the merge step now. Fixed deep mode implementation (counting mode detection) with performance effect on outside/interacting too 2022-12-03 20:59:36 +01:00
Matthias Koefferlein cca20773a7 Include performance patch for array-vs-array interactions in deep mode 2022-12-02 17:53:15 +01:00
Matthias Koefferlein 13874986b2 Bugfix, tests updated 2022-11-28 23:40:11 +01:00
Matthias Koefferlein a752257f52 Multiple empty-input shortcuts for DeepRegion - tests need update 2022-11-28 01:35:49 +01:00
Matthias Koefferlein 5597ee8960 DeepRegion performance: take fast path for DeepRegion::edges if merged polygons are available. 2022-11-27 21:59:06 +01:00
Matthias Koefferlein 5db45d7aee Proper setting of merged status after interacting/inside etc. 2022-11-27 19:43:53 +01:00
Matthias Koefferlein d76eef10af GSI enabling of Edges#in_and_out, Region#in_and_out and corresponding DRC feature 2022-11-27 15:59:18 +01:00
Matthias Koefferlein f6f4dbeb67 Edges#in/in_and_out: tests added 2022-11-27 15:31:25 +01:00
Matthias Koefferlein 0304930136 WIP: introducing Region#in_and_out and Edges#in_and_out, support for hierachical Edges#in, Tests updated 2022-11-27 14:53:30 +01:00
Matthias Koefferlein 25e61205d2 Deep implementation of in/not_in 2022-11-27 10:37:43 +01:00
Matthias Koefferlein 9008464268 WIP: hierarchical mode for Region#in and Region#not_in 2022-11-27 10:26:01 +01:00
Matthias Köfferlein 1f2e8b4012
Merge pull request #1193 from KLayout/issue-1189
Issue 1189 High memory footprint for DRC deck
2022-11-26 19:55:40 +01:00
Matthias Koefferlein fb60212a5b More numerical stability for reproducible tests drcSimpleTests:56 and 57 (45 degree angles) 2022-11-25 22:36:19 +01:00
Matthias Koefferlein 5057b0a626 Merge branch 'issue-1190' 2022-11-25 07:51:34 +01:00
Matthias Koefferlein 20b6608410 Test updated 2022-11-24 22:12:01 +01:00
Matthias Koefferlein 53d6e8d3cb DSS now keeps layouts (avoids excessive cell mapping), frequent GC in DRC tests for heavy GC load testing 2022-11-24 20:41:19 +01:00
Matthias Koefferlein e04875b4e0 Fixed a problem with object lifetime and tiling processor input found after GC became active. Added a documentation hint. 2022-11-23 01:03:36 +01:00
Matthias Koefferlein 16d662229d Fixed issue #1190 (Edges#extended_xx in deep mode) 2022-11-21 23:30:28 +01:00
Matthias Koefferlein 30ab1a13ca Added tests, documentation, doc bug fixes for angle-class edge selectors 2022-11-12 18:16:57 +01:00
Matthias Koefferlein 2341170065 First tests 2022-11-12 00:29:50 +01:00
Matthias Koefferlein b02d3b24a8 WIP: first draft of angle-class selectors for edges and edge pairs for simplifying edge orientation checks 2022-11-11 23:46:45 +01:00
Matthias Koefferlein aadb8510d2 Merge branch 'performance' into wip 2022-11-11 21:55:39 +01:00
Matthias Koefferlein 462976fc05 Convenience isotropic versions for Box::enlarge(d) 2022-11-10 22:31:13 +01:00
Matthias Koefferlein d7263eac74 Square and rectangle convenience ctor for GSI Box and DBox 2022-11-10 22:08:41 +01:00
Matthias Koefferlein c220ed0cbc Merge branch 'master' into wip 2022-11-09 23:30:38 +01:00
Matthias Koefferlein 1edbd6232f Merge branch 'python-typehints' 2022-11-09 23:13:31 +01:00
Matthias Koefferlein 5b710fa3a4 More stable result of antenna debug output text placement 2022-11-06 19:02:35 +01:00
Matthias Koefferlein 131745433d Doc fixes 2022-11-04 23:16:15 +01:00
Matthias Koefferlein 27e04c61a0 Less compiler warnings 2022-11-02 23:35:18 +01:00
Matthias Koefferlein 9ec7c0ca44 layout_diff GSI binding: provide interface for edge pair diffs 2022-11-02 23:35:06 +01:00
Matthias Koefferlein a8ea234522 Enable Qt6 build from build.sh (gcc needs c++17) and less noisy builds with gcc 11 etc. 2022-11-02 23:09:44 +01:00
Matthias Koefferlein d47cbeb231 [consider merging] Bugfix: generation of texts for antenna results 2022-11-02 23:07:55 +01:00
Matthias Koefferlein c8e60d666c Fixed #1167 (delete_cells slow) 2022-11-01 14:57:39 +01:00
Matthias Koefferlein 548db003ed Debugged Ruby PCellDeclarationHelper, small enhancements 2022-10-30 10:00:51 +01:00
Matthias Koefferlein b1b51d3152 Bug fix Ruby PCell declaration helper - needs testing 2022-10-30 00:23:32 +02:00
Matthias Koefferlein 8aa135b964 Python implementation of PCell helper with callback 2022-10-30 00:15:48 +02:00
Matthias Koefferlein 1b666e1cc8 Bug fixes. 2022-10-29 23:43:56 +02:00
Matthias Koefferlein 194a6f3526 Added callback helper for Ruby PCellDeclarationHelper 2022-10-29 22:38:33 +02:00
Matthias Koefferlein 0e5842d36e Fixed some qrc files, added more attributes to PCellParameterState (tool tip, readonly, icon), added option to show parameter names 2022-10-29 21:20:16 +02:00
Matthias Koefferlein d00c4a94d6 WIP: first version GSI binding for callbacks 2022-10-29 00:22:54 +02:00
Matthias Koefferlein eb8c96054c WIP: preparations for callbacks in PCell code 2022-10-28 23:41:31 +02:00
Matthias Koefferlein e6da3fc22c WIP: callbacks for PCells 2022-10-27 00:42:28 +02:00
Matthias Koefferlein daad80d5d5 Synthesize getters from is_... predicates, added getter for RecursiveShapeIterator#shape_flags 2022-10-23 22:08:06 +02:00
Matthias Koefferlein fbd4c84d84 Refactoring of pya/rba/expressions
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.

The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Matthias Koefferlein 11f6eb21e0 Added ParentCellInst#dinst 2022-10-18 21:52:40 +02:00
Matthias Koefferlein 60e6523c30 Some bug fixes for user-property aware RDB and antenna check enhancements 2022-10-18 00:00:29 +02:00
Matthias Koefferlein e4131b45a3 WIP: provide a way to report user properties to RDB, added antenna rule measurements as user properties. 2022-10-17 22:29:48 +02:00
Matthias Koefferlein bc06b688ca Merge branch 'master' into selection-list 2022-10-13 09:32:16 +02:00
Matthias Köfferlein 8d1dcbb04a
Fixed issue-1164 (internal error on delete cells on archlinux) (#1166)
* Fixed issue-1164 (internal error on delete cells on archlinux)

* Found another location where take_cell would spoil cell_name

Co-authored-by: matthias <matthias@klayout.de>
2022-10-09 21:27:13 +02:00
Matthias Koefferlein 0c73b11f9b Added a convenience version for GenericDeviceExtractor#define_terminal which takes terminal and layer names 2022-10-03 22:02:13 +02:00
Matthias Koefferlein 0a67691b3a [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:54:44 +02:00
Matthias Köfferlein 769b16ea3f
Issue 1145 (#1151)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Enhanced Shapes::is_valid so it's more reliable in detecting invalid shape objects.

* ObjectInstPath now has a validity attribute

* First implementation of solution for edtService (partial service to follow)

* Validating selection also for Partial Edit mode
2022-09-05 23:35:21 +02:00
Matthias Köfferlein 9ebb923d83
Issue 1144 (#1150)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Avoids a segfault during drawing: make sure the cell bbox update is not triggered in the drawing thread before it is stopped

* Fixed #1144 (wrong layer taken on copy layer)
2022-09-05 20:31:13 +02:00
Matthias Köfferlein 7a9e9989d3
Merge pull request #1147 from KLayout/wip
Wip
2022-09-04 09:08:08 +02:00
Matthias Köfferlein e343939aaf
Merge pull request #1139 from KLayout/issue-1138
Issue 1138 (switch to suppress warnings on DXF reader - and other readers)
2022-09-04 09:07:51 +02:00
Thomas Ferreira de Lima 4d4f4b643b Added python stubs with type hinting and documentation. (#1125)
* Added python stubs with type hinting and documentation.

The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)

* created tl ArgType to python type translator

* Fixing a pyaModule.cc bug

* almost finished stubgen

* fixing little bug in classes defined within classes

* Release version of the stubgen script. Good enough for release.

* Adding notes

* Including stubs when installing from source

* typechecking bugfix: missed checking is_iter()

* Cleaning up unused code for merge review

* Including stubs when installing from source (part deux)

* Putting the GenericDeviceExtractor name setting into the right place.

* Updating python stubs

Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
2022-09-01 00:41:42 +02:00
Matthias Koefferlein cb3369e9be Merge remote-tracking branch 'origin/master' into wip 2022-09-01 00:27:33 +02:00
Matthias Koefferlein a81bca43a6 Added cmath include as suggested for Slackware 2022-08-31 23:56:53 +02:00
Matthias Koefferlein bb0d4a6ecc GSI binding of new Edges features 2022-08-30 23:03:43 +02:00
Matthias Koefferlein 32928b583c Bug fixes (border cases), tests 2022-08-30 22:12:30 +02:00
Matthias Koefferlein 34f6e7bdba Bug fixes, tests 2022-08-30 20:43:32 +02:00
Matthias Koefferlein 5662f962d2 Bug fixes, tests. 2022-08-30 00:53:14 +02:00
Matthias Koefferlein e591d205c7 Bug fixes, tests. 2022-08-30 00:23:22 +02:00
Matthias Koefferlein f92d86a1e1 Bug fixes 2022-08-29 23:47:24 +02:00
Matthias Koefferlein aa267744dc Exposed more functions for db::Edges, more tests, debugging 2022-08-29 22:48:17 +02:00
Matthias Koefferlein bf91938133 Bug fixes, tests. 2022-08-29 22:17:37 +02:00
Matthias Koefferlein 956a27ec69 First implementation 2022-08-29 19:51:19 +02:00
Matthias Koefferlein 4af9b8b01c WIP: predicates for Edges implementation 2022-08-28 23:35:45 +02:00
Matthias Koefferlein 0b59697189 First new test 2022-08-27 22:28:15 +02:00
Matthias Koefferlein a6ad6c8866 Comment update 2022-08-27 22:12:22 +02:00
Matthias Koefferlein a47bb67fd4 Removed unused code 2022-08-27 22:11:40 +02:00
Matthias Koefferlein 318a462cb4 WIP: first code pieces 2022-08-27 21:31:40 +02:00
Matthias Koefferlein d2ab4fc743 Doc updates. 2022-08-27 18:02:56 +02:00
Matthias Koefferlein 69617e8006 bbox_with_layer -> bbox 2022-08-27 17:58:17 +02:00
Matthias Koefferlein 67d8518926 Shapes#cell and Shapes#layout 2022-08-27 17:51:14 +02:00
Matthias Koefferlein e7177261ad LayerMap#map and mmap with optional log layer 2022-08-27 17:38:48 +02:00
Matthias Koefferlein 1f954d8758 Cell#read 2022-08-27 17:23:11 +02:00
Matthias Koefferlein f590d39c19 CellMapping: documentation, some convenience bindings 2022-08-27 15:38:10 +02:00
Matthias Koefferlein 46364c2420 [consider merging] Reader format error with details showing dump or text 2022-08-16 21:56:07 +02:00
Matthias Koefferlein 1099a3d7bb Implemented warn_level for all readers so warnings can be turned off 2022-08-13 22:15:07 +02:00
Matthias Koefferlein 90df9451b6 WIP: reworked log enabling in LVS, added 'no_lvs_hints' feature, updated tests 2022-08-13 18:30:02 +02:00
Matthias Koefferlein fd008b3810 WIP: more LVS hints 2022-08-13 01:46:12 +02:00
Matthias Koefferlein 47ec9a706b WIP: enhanced and debugged LVS hints 2022-08-13 01:36:25 +02:00
Matthias Koefferlein 829f78de8b WIP: attempting to produce reasonable messages on LVS mismatch (short detection) 2022-08-12 00:09:50 +02:00
Matthias Koefferlein 526f1aeacc [Consider merging] provide an option to produce antenna DRC debug output 2022-08-11 01:02:45 +02:00
Matthias Koefferlein 38d2b8378d Merge remote-tracking branch 'origin/master' into wip 2022-08-10 20:40:27 +02:00
Matthias Köfferlein 7ffdc211e5
Fixed issue-1135 (LVS mismatch on parallel devices) (#1136)
* Fixed issue-1135 (LVS mismatch on parallel devices)

The fix consists of a more elaborate device identity analysis
following the topological matching. In this step, the devices
are identified according to their connections and parameters.
It is important to properly identify devices taking their
parameters into account as well as their connections.

* Second part of issue fixed (inverter chain ambiguity)

* Added test

* Updated tests

* Updated golden test results

* Updated golden test data for Windows

Co-authored-by: klayoutmatthias <matthias@klayout.org>
2022-08-10 20:27:11 +02:00
Matthias Koefferlein d48792a942 Trying to establish first log abilities to LVS compare 2022-08-10 00:41:19 +02:00
Matthias Koefferlein b1cbafbac0 WIP: netlist browser log viewer 2022-08-09 01:11:28 +02:00
Matthias Koefferlein e1882b0de7 WIP: refactoring of L2N/LVSDB writer 2022-08-07 17:38:06 +02:00
Matthias Koefferlein 0083021220 [Consider merging] Some refactoring of L2N and LVSDB readers for more future compatibility 2022-08-07 00:24:05 +02:00
Matthias Koefferlein 9d36b3c71a Merge branch 'master' into wip 2022-08-06 18:52:41 +02:00
Matthias Koefferlein bfeb60986c Merge remote-tracking branch 'origin/msvc-building-with-debug' 2022-08-01 19:02:31 +02:00
Matthias Koefferlein 40b4b22f02 Added variants for CellInstArray constructor that take a Cell reference 2022-08-01 19:01:41 +02:00
Matthias Koefferlein 545ff11899 Merge branch 'master' of github.com:KLayout/klayout into wip 2022-08-01 18:50:48 +02:00
Matthias Köfferlein 716369de63
Issue 1126 (#1128)
* First attempt to fix. Rather experimental.

* Debugging and bug fixing

The basic issue was a missing break
However, correct computation of cache results for instance-to-instance cluster
interaction is implemented
Plus: identical and overlapping instances are no longer ignored except in the
case of exact duplicates. Otherwise these instance generate dead nets which
are not connected elsewhere.

* Added tests, fixed duplicate cells test, added missing files.

* Code simplification (removed invariant from transformation in cluster-to-cluster interaction cache)

* Skipping cell instance duplicates as some real-world testcases mandate so

* Updated test data
2022-08-01 18:50:07 +02:00
Matthias Koefferlein 3c5ca36081 [Consider merging] fixed a potential race condition with invalid Shapes container after clear 2022-07-31 00:10:36 +02:00
klayoutmatthias 5a9e3f9188 [Consider merging] One more iterator issue fixed 2022-07-26 21:02:17 +02:00
klayoutmatthias 50a863bb26 [Consider merging] Fixed a potential memory corruption problem 2022-07-26 00:13:26 +02:00
klayoutmatthias da398e77fd [Consider merging] avoid a memory corruption issue in Netlist::flatten 2022-07-25 22:03:01 +02:00
klayoutmatthias 167bcbcc5f Enabling MSVC debug builds with iterator debugging on 2022-07-25 21:06:56 +02:00
Matthias Köfferlein 6ba372f1a9
Issue 1114 (#1121)
* Two patches to enable building on MSYS with gcc 12.1

1. Complete explicit instantiations in dbHierProcessor
2. Strict weak ordering is not present for std::type_info
   (using "before" on gcc 12.1). We need to work with plain
   pointers and use a translation table to associate pointers
   with classes.

* Fixed another place where std::type_info got important

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2022-07-17 19:59:49 +02:00
Matthias Koefferlein 682cc0e491 More safeguards against crashes in the absence of a Manager object 2022-07-09 20:13:40 +02:00
Matthias Koefferlein f7ef538f34 Merge branch 'master' of github.com:KLayout/klayout 2022-07-08 01:35:59 +02:00
Matthias Koefferlein 26901454c4 Fixed a doc typo 2022-07-04 13:41:30 +02:00
Matthias Koefferlein 75d686a63f Changing default "is_merged" status for Edges and Region to false.
This was a problem with universal DRC which does not specifically
set the merged status. Furthermore, the default for DeepRegion and
DeepEdges was "false" already and now is aligned.
2022-07-04 00:52:55 +02:00
Matthias Köfferlein 2f8a7149d3
Fixed issue-1111 (#1112) 2022-07-03 09:35:40 +02:00
Matthias Koefferlein c227cb9ef3 Small bug fix - constness was not intended for Device#net_for_terminal on non-const mode 2022-07-03 00:08:14 +02:00
Matthias Koefferlein 0edeac2efa WIP 2022-06-26 23:06:29 +02:00
Matthias Koefferlein 47c9243c04 WIP 2022-06-26 21:16:34 +02:00
Matthias Koefferlein bed9ac94b0 WIP 2022-06-26 18:03:15 +02:00
Matthias Koefferlein 77b42980b6 WIP 2022-06-26 01:50:45 +02:00
Matthias Koefferlein 91c85172e3 WIP 2022-06-26 01:33:49 +02:00
Matthias Koefferlein 43b63923a7 WIP 2022-06-26 01:00:33 +02:00
Matthias Koefferlein 4ad9e98b7b Merge branch 'master' into performance 2022-06-25 22:32:47 +02:00
Matthias Koefferlein 1930018f8f First attempt to implement DRC checks without merging - still required with certain options and not enabled to generic DRC function yet. 2022-06-25 21:40:44 +02:00
Matthias Koefferlein 959b5fe799 Faster hash of shape references (need to see what that is doing to test results) 2022-06-25 20:02:41 +02:00
Matthias Koefferlein d8f3c522c9 Removed a performance bottleneck (do not invalidate cache that often of inst to shape interaction computation) 2022-06-25 20:02:15 +02:00
Matthias Koefferlein 334540f660 Normalization of CellInstArray upon creation (GSI) 2022-06-18 13:48:04 +02:00
Matthias Köfferlein 7a5737d55f
Merge pull request #1087 from KLayout/qtless-canvas2
Qtless canvas2
2022-06-14 22:51:57 +02:00
Matthias Köfferlein 4cbd28fd23
First implementation of issue-1075 fix: when editing a layer spec, the PCell parameters are analyzed and PCells are rewritten accordingly. (#1088) 2022-05-31 00:22:32 +02:00
Matthias Koefferlein 1edaf2b6b4 WIP: working on further consolidation of non-Qt case 2022-05-28 22:49:40 +02:00
Matthias Koefferlein 3f4fe62dc5 Merge branch 'master' into qtless-canvas 2022-05-23 20:42:39 +02:00
Matthias Köfferlein a03464d441
Issue 1079 (#1083)
* WIP: some convenience (self.param=() for Ruby PCell impl), a bug fix (crash on call of pcell_parameter on wrong cell), update of tests

* Implemented solution for #1079 (refresh calls coerce_parameters)

* Basic.CIRCLE modified such that coerce_parameters_impl also catches the case of a programmatic change of actual_radius and this function will update radius and the handle accordingly

* Modified Basic PCells such that they work with coerce_parameters also if generated programmatically

* Added tests
2022-05-23 20:38:10 +02:00
Matthias Köfferlein b84ec19da1
Issue 1071 (GDS2Text format options issues) (#1085)
* Fixed first issue (UI problem with GDS2Text options)

* Fixed problem with 'save' when the file extension does not indicate one of the known formats

In this case, and when plain 'save' is used, the original format is delivered.
The session files also store the original format now.
The statistics page will now indicate the format of the file that was loaded.
2022-05-23 20:37:26 +02:00
Matthias Koefferlein 17cbcc2877 Added mono image class 2022-05-04 02:18:01 +02:00
Matthias Köfferlein 9cb77d6222
Lefdef enhancements (#1053)
* Implementated patch as suggested by issue-1047

* Implementing blend-mode for LEF/DEF for a first solution for issue-1048

* Added testcase, fixed other tests

* Issue-1050 fixed - now REGION, BLOCKAGE and DIEAREA are relevant from mapping file, nothing else

* Bug fixes

* Experimental: DEF multipart paths

* Experimental: ignore LEF wire extension, ignore PATTERNNAME

* Implemented PATTERNNAME in DEF instead of LEF ..

* Implemented nondefaultrule vias

* LEF/DEF: non-defaultrule vias need a name suffix.

* Refined solution for NDR via names, updated test data

* Updated test data

* Multiple map files and 'REGIONS FENCE' + 'REGIONS GUIDE' layer mapping entries.

* Added test data, updated doc.

* Some enhancements and feedback

REGIONS in map files -> REGION
REGION NONE for map files (maps REGIONs which are neither GUIDE or FENCE)
Bugfix: VIA with ORIGIN
No via cell name prefix by default for buddy tools

* Simplified buddy tool options for LEF/DEF property names

Dropped --lefdef-dont-produce-instance-names,
--lefdef-dont-produce-pin-names and --lefdef-dont-produce-net-names
options. Instead, these options have to be enabled by giving
the respective property names.

Writing the property names takes some space and these
options are simply confusing and redundant.

* Issue a warning about missing cut geometry for a DEF via with PATTERNNAME (which is ignored)

* Fixed issue-1065
2022-04-23 22:26:37 +02:00
klayoutmatthias fd4fe5ce62 Merge branch 'master' of https://github.com/KLayout/klayout into qt6 2022-04-16 20:13:04 +02:00
Matthias Köfferlein 3615b50fc4
A couple of enhancements and bugfixes found during issue-1059 research (#1062)
* Opportunity fix: library selection box listed libraries with technology even though no technology is selected.

* Opportunity: show PCell errors on new error layer. Previously, errors were only shown when the PCell had at least a single layer parameter

The error text is drawn together with guiding shapes. Disabling guiding shapes will
turn off error display.

* Opportunity: fixed an issue when reloading a library immediately after loading a layout: in this case, the library connection got lost and cells were substituted by static ones

* Opportunity: added a layout cleanup for the following case: a layout is loaded without the library present - giving defunct cells. Then the library is registered and defunct cells are reconnected.
2022-04-10 18:44:24 +02:00
Matthias Köfferlein 0df479b29c
Issue 1057 (Library#refresh enhancements) (#1060)
* Added Layout#refresh and added that to Library#refresh

* Doc updates, clarification
2022-04-10 18:41:26 +02:00
Matthias Köfferlein f8bd4dafaf
Pdf documentation (#1052)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation

* Fixed a number of invalid references found during PDF generation

* Enable PCellDeclarationHelper doc for help system

* Fixed doc text

* Fixed some doc issues with invalid links etc.
2022-04-03 20:51:29 +02:00
Matthias Koefferlein 5b9f194ecc Forget last commit - problem was that golden netlists should not be compared with net names as those are node numbers and they might change with C++ STL implementation 2022-03-18 00:10:00 +01:00
Matthias Köfferlein 4a06bc1bb5
Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) 2022-03-16 23:33:08 +01:00
Matthias Köfferlein 7d78194cf0
Issue 1021 (#1026) - LVS match issue on SRAM sample
* First step for solution:

Problem was: the ambiguity resolver was making decisions which later resulted in
a name conflict. Later on, another branch of the backtracking algorithm came
across the same situation but decided based on names, creating an conflict.

First part of the solution is to establish the backtracking information
during ambiguity resolution and using that rather than an alternative branch
later on. This avoids this conflict, but does not favor names as mandated
by the "use_names" flag. This will be the second step of the solution.

* Bugfixed solution (partially)

* Introducing third pass in netlist compare

The second pass is "ambiguity resolution by name" and
is skipped if "consider_net_names" is false. The third
pass then is ignoring the names.

* Bugfix

* Comment fixed, test updates

* Added tests

* Added test data variant for CentOS 8
2022-03-15 21:14:32 +01:00
Matthias Köfferlein e9c5782c51
Issue 1011 (#1027) - DRC violation on texts in deep mode
* Fixed issue-1011 by using single-point polygons for texts in deep mode. Tests need fixing.

* Updated tests (text become a single point)

* Added test for issue-1011
2022-03-15 21:13:57 +01:00
Matthias Koefferlein 0e1e4781a8 Fixed scale & snap bug in non-editable mode 2022-03-09 23:00:39 +01:00
Matthias Koefferlein 4acd0aabc5 Removed D25 tech component 2022-03-06 10:07:23 +01:00
Matthias Koefferlein cd07a21ae3 Merge branch '25d-with-booleans' 2022-03-05 14:59:17 +01:00
Matthias Köfferlein ed7f77a86d
Split gates (#1018)
* First implementation, first basic tests.

* WIP: more tests, bug fixes

* split_gates feature, added test case

* Documentation
2022-03-05 14:56:52 +01:00
Matthias Köfferlein 33ebcb43f3
Issue 1008 (#1010)
* PyPI deployment: corrected branch filter

* skip redundant points in partial edit, but not colinear ones

* Polygon transformation now preserves raw points
2022-03-01 17:17:30 +01:00
Matthias Koefferlein ff3bc38aea Merge branch 'master' into wip 2022-02-19 00:14:57 +01:00
Matthias Köfferlein cee33a0099
Merge pull request #992 from KLayout/api-enhancements
Api enhancements
2022-02-18 23:28:28 +01:00
Matthias Koefferlein c5da9c717d scale_and_snap: separate handling of shapes with properties and without 2022-02-18 18:49:00 +01:00
Matthias Koefferlein a133a8f43b Reverted some changes, removed idle code 2022-02-18 18:43:02 +01:00
Matthias Koefferlein 834dfa6614 Bug fixes, enhancements, tests for snap and scale improvements. 2022-02-18 14:22:16 +01:00
Matthias Koefferlein e9d86822df Scale and snap improvements
* edge and edge pair support
* property support
* no expanding of on-grid arrays
* more inline processing, better performance
2022-02-18 00:03:14 +01:00
Matthias Koefferlein d2c2a875dd Removed debug output 2022-02-13 23:39:09 +01:00
Matthias Köfferlein 11a91300bd
issue-996 Providing a "refresh" function for triggering a refresh from inside t… (#998)
* Providing a "refresh" function for triggering a refresh from inside the lib

Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
  re-creation of library references to avoid side effects.
  Save without context.

* Added missing files

* Fixed unit tests.
2022-02-12 21:26:28 +01:00
Matthias Koefferlein 72d0f717fe Fixed units tests 2022-02-12 18:20:38 +01:00
Matthias Köfferlein 0199192e83
Fixed #989 (cannot convert <defunct> cell to static cell) (#1002)
Fixed some more glitches while doing so:
* cell.name (gsi) was giving "basic_name", now it's changed to the
  internal name to be consistent with "name=". The "functional name"
  is still available as "basic_name".
* The basic name was rendering "<defunct>..." for defunct cells
  and has been changed to the functional name. Otherwise this
  is not accessible.
2022-02-12 17:05:12 +01:00
Matthias Köfferlein 60aab8b3fd
Fixed #995 (new topcell after load) (#1000) 2022-02-12 16:51:01 +01:00
Matthias Koefferlein 2ed572e684 Merge branch 'api-enhancements' 2022-02-11 19:10:21 +01:00
Matthias Koefferlein 75aaf10512 Query parser is somewhat more restrictive now and doesn't read everything as cell expression. 2022-02-11 00:30:08 +01:00
Matthias Koefferlein 3f2ca1dfbe micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries 2022-02-10 23:14:08 +01:00
Matthias Koefferlein 98dd0de139 clip method variants with dboxes and cell references in Layout 2022-02-08 23:49:28 +01:00
Matthias Koefferlein 3a422f2c38 Trans: mapping ctrans to * for harmonization 2022-02-08 23:13:37 +01:00
Matthias Koefferlein a5e7395d10 Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation 2022-02-08 22:56:58 +01:00
Matthias Koefferlein 1a53cd00d2 Convenience 'each' for recursive shape iterator / recursive instance iterator 2022-02-08 22:28:09 +01:00
Matthias Köfferlein 285a5e9fca
Issue 983 (#986)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:06:27 +01:00
Matthias Koefferlein e49b189f64 Doc clarification for Layout#create_cell 2022-02-07 23:27:10 +01:00
Matthias Koefferlein 88c56d8b64 Introducing unique_cell_name in Layout, fixed the RBA unit tests 2022-02-07 23:05:53 +01:00
Matthias Koefferlein 0bb0f400bf Introducing world box. 2022-02-07 22:44:35 +01:00
Matthias Koefferlein 79be9aba41 RecursiveInstanceIterator uses weak pointer to Layout too 2022-02-07 22:09:57 +01:00
Matthias Koefferlein c0b38f3706 Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator 2022-02-07 21:56:37 +01:00
Matthias Koefferlein e2c6e7aedc size/sized versions with Vector/DVector
Adds variants to size/sized which take a vector instead
of dx, dy and where the mode parameter is optional. So far
anisotropic sizing had to come with a mode argument.
2022-02-07 20:59:09 +01:00
Matthias Koefferlein de98a30f38 Text/DText enhancements
* Enums for alignment values.
* bbox
* position
* typos fixed
2022-02-07 19:46:13 +01:00
Matthias Koefferlein 95b6af4bc6 Merge branch 'master' into qt6 2022-01-21 15:43:33 +01:00
Matthias Koefferlein df60f49276 Fixed issue-969 plus a Qt warning 2022-01-12 22:49:20 +01:00
Matthias Koefferlein 12fd26663d Merge branch 'qt6' 2022-01-06 21:48:02 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Köfferlein 460ba9813a
Merge pull request #957 from KLayout/issue-954
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein e1cd6aaeb1 Bugfix for #954
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.

Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein 9cd77e5cec WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation' 2021-12-25 18:03:30 +01:00
klayoutmatthias edd5884a1a WIP: enabling build on MSVC2019 with Qt6 2021-12-15 00:31:13 +01:00
Matthias Koefferlein 279342e61a Added more declarations for gcc in release mode 2021-12-12 16:48:44 +01:00
Matthias Koefferlein ef62a126d4 WIP: format string problem fixed in 2.5d view 2021-12-05 00:08:08 +01:00
Matthias Koefferlein 125543957d WIP: Fixed GSI to some extent, some tests 2021-12-04 00:31:01 +01:00
Matthias Koefferlein 6b49386b67 WIP: fixed some build errors 2021-11-29 23:27:26 +01:00
Matthias Koefferlein 132ad2ed8d WIP: removing need to tl::type_traits 2021-11-29 22:54:28 +01:00
Matthias Koefferlein ecc83aa579 Solved #879: PCellDeclaration now knows the layout and layout knows the library 2021-11-14 17:45:52 +01:00
Matthias Koefferlein 0ca82001ed #935 fixed (checking for valid cell index) 2021-11-13 01:03:54 +01:00
Matthias Koefferlein 719eb0bce8 Fixed a potential crash on application exit 2021-11-13 00:48:27 +01:00
Matthias Koefferlein d2478881b5 Bugfix: threading issue - multiple threads accessed the same object 2021-11-10 22:30:32 +01:00
Matthias Koefferlein 379a22c86a Restored performance of some checks 2021-11-09 21:55:55 +01:00
Matthias Koefferlein 319efc1f95 Bugfix: negative output wasn't working properly for enclosing and overlap. 2021-11-09 00:32:07 +01:00
Matthias Koefferlein 4a44329e38 Enabling 'enclosed' as a (sometimes) more efficient way of implementing an enclosing check. 2021-11-08 23:18:01 +01:00
Matthias Koefferlein 9fa82f01d8 WIP (code reduction and performance enhancement of basic DRC checks) 2021-11-07 21:46:18 +01:00
Matthias Koefferlein a0367c1530 More specific clip variants after bounding boxes have been reduced in RecursiveShapeIterator 2021-11-01 17:27:52 +01:00
Matthias Koefferlein bc54ba3b99 Merge branch 'performance' into head 2021-11-01 14:32:31 +01:00
Matthias Koefferlein d244d5aac6 Debugging plus enhancments
Basic change: DeepShapeStore+CellMapping uses (new) hier_generation_id of Layout to figure out
if the hierarchy has changed and the cache needs update.
2021-11-01 13:49:00 +01:00
Matthias Koefferlein 64a6b3acdc WIP 2021-11-01 09:53:51 +01:00
Matthias Koefferlein 902375cc4d WIP: trying to reduce the number of DSS-internal cell mappings by caching cell maps 2021-10-31 00:59:42 +02:00
Matthias Koefferlein 455c40ced6 More consistent verbosity levels for cell mapping 2021-10-30 21:31:05 +02:00
Matthias Koefferlein ebe38912a6 Tests and documentation for dbTrans#is_complex? 2021-10-27 23:36:58 +02:00
Matthias Koefferlein 20f3733c58 WIP: lean recursive shape touch check 2021-10-27 00:38:12 +02:00
Matthias Koefferlein 596080669d WIP 2021-10-26 23:10:29 +02:00
Matthias Koefferlein 7881c0953c WIP 2021-10-24 20:28:15 +02:00
Matthias Koefferlein c6bd856331 WIP 2021-10-24 00:05:50 +02:00
Matthias Koefferlein 09df614d8a Bugfix: array iterator must not iterate on empty search box. 2021-10-22 23:52:35 +02:00
Matthias Koefferlein abe40ae99f Bugfix plus more tests 2021-10-19 20:48:13 +02:00
Matthias Koefferlein 451f57bb25 Fixed #909 (Crash on DRC) 2021-09-21 23:37:57 +02:00
Matthias Köfferlein 80fd5b79be
Merge pull request #908 from KLayout/netlist-compare-performance2
Improving netist compare performance for array case + some enhancements
2021-09-21 22:43:37 +02:00
Matthias Köfferlein f1e59a7dc6
Merge pull request #907 from KLayout/issue-905
Fixed #905 (Crash while deleting a Library)
2021-09-21 22:43:22 +02:00
Matthias Koefferlein ceb0b2298f Some cleanup, updated tests 2021-09-19 19:05:09 +02:00
Matthias Koefferlein b7827f7b5f Maybe found a solution for the matrix arrangement runtime problem 2021-09-19 18:29:57 +02:00
Matthias Koefferlein 930423bcc7 WIP 2021-09-19 17:26:28 +02:00
Matthias Koefferlein a42d761e95 Some small refactoring 2021-09-17 22:46:56 +02:00
Matthias Koefferlein 71b5695344 Fixed #905 2021-09-15 00:09:56 +02:00
Matthias Koefferlein 0f4b0e4826 Ported some enhancements from WIP branch (debug output, capturing easy wins when max depth is exhausted) 2021-09-14 22:31:24 +02:00
Matthias Koefferlein b671b1843b Fixed a problem with net compare config - depth first wasn't considered in all cases 2021-09-12 22:35:08 +02:00
Matthias Koefferlein 89052660ee Refactoring of the netlist compare code 2021-09-12 22:35:03 +02:00
Matthias Koefferlein 822709dd5a Refactoring of the netlist compare code 2021-09-12 22:34:59 +02:00
Matthias Koefferlein 52c79feeed Refactoring of the netlist compare code 2021-09-12 22:34:55 +02:00
Matthias Koefferlein ab3bceda75 Fixed #898 (netlist reader ignores last list) 2021-08-29 21:12:04 +02:00
Matthias Köfferlein 225d3ab32d
issue-892 (#895) 2021-08-24 21:37:02 +02:00
Matthias Köfferlein 1916a4f683
Merge pull request #884 from KLayout/issue-881
Fixed #881 (typo in separation check and others)
2021-07-31 11:01:55 +02:00
Matthias Koefferlein d7438b43ae Fixed #881 (typo in separation check and others) 2021-07-30 23:13:24 +02:00
Matthias Koefferlein 9543cea952 Fixed tests 2021-07-29 22:24:22 +02:00
Matthias Koefferlein 8b970039c0 Using primary(layout) netlist as reference for primary parameters and compare delegate - this also removes some potential glitches 2021-07-29 01:15:35 +02:00
Matthias Koefferlein a90e14b692 Some tests added. 2021-07-27 23:08:34 +02:00
Matthias Koefferlein 42b7290fe5 Device parameter comparer now also compares other (primary) parameters, parameters primary in both netlists are considered to be compared by default, 'ignore' feature in tolerance 2021-07-27 22:15:59 +02:00
Matthias Koefferlein 37457aa02f Spice reader flags existing parameters as primary 2021-07-27 22:13:45 +02:00
Matthias Koefferlein 7a37a6b7ed Implemented extent(cell_filter) for DRC, added Layout#cells with name filter 2021-07-21 18:31:51 +02:00
Matthias Koefferlein 722b45b721 Fixed tests 2021-07-19 07:47:41 +02:00
Matthias Koefferlein bc74f189f8 Introducing asymmetric ambiguity groups for better matching of black box circuits with optional pins. 2021-07-18 23:33:01 +02:00
Matthias Koefferlein 70f4c7e2b5 A small refactoring. 2021-07-18 23:09:51 +02:00
Matthias Koefferlein 2c8d065eb3 Some enhancments + test update
1. Be more careful with net names
Net names are used now for sorting the graph nodes, but not for
strict compare. This is useful to derive swappable pins for
blackbox circuits.

2. Be more careful with pins from schematic netlist
Pins from schematic netlist without a corresponding pin on the layer
side are treated as mandatory unless connected to a trivial net.
Pins connecting to non-trivial nets inside the subcircuit are always
considered mandatory.
This way schematic pins enforce corresponding layout pins.
On the other hand, layout pins connecting to trivial nets inside
the subcircuit are considered non-mandatory.
2021-07-18 22:34:02 +02:00
Matthias Koefferlein 51d117e379 Refined black box pin heuristics
Pins are required to match if they are passive inside the
subcircuit but connected to a non-trivial net in the calling circuit.
2021-07-18 20:39:19 +02:00
Matthias Koefferlein 05386668b4 Re-introducing pin name mapping for net assignment 2021-07-18 20:20:23 +02:00
Matthias Koefferlein 23bea5dc07 Using real pin IDs for printing nodes in netlist compare debug output 2021-07-18 17:39:32 +02:00
Matthias Koefferlein d018805c23 Some refactoring. 2021-07-18 16:54:27 +02:00
Matthias Koefferlein 2f3e113db0 Added missing subcircuit mismatch events to netlist compare 2021-07-17 22:06:06 +02:00
Matthias Koefferlein 3f3f4c9173 Fixed some compiler warnings. 2021-07-17 22:03:22 +02:00
Matthias Köfferlein 054bfa3be4
Merge pull request #865 from KLayout/issue-864
Fixed #864 (Shapes#copy_shapes does not support undo/redo)
2021-07-17 13:44:15 +02:00
Matthias Köfferlein 19f2769137
Merge pull request #862 from KLayout/matching-of-blackbox-circuits
Enhanced matching of blackbox/pin ambiguities
2021-07-17 13:43:59 +02:00
klayoutmatthias 1555daf68c Adjustments for Windows build with MSVC2019 (VC 16.10.31419.357)
1. removed some duplicate symbol linker error
2. removed many compiler warnings (mainly size_t/int compatibility)
3. consistent definition of db::pcell_id_type
4. removed UTF-8 character codes from string constants
5. float constants for float arguments
6. timeout in tlHttp when no openssl lib is found (instead of stalling
   app)
2021-07-17 00:20:55 +02:00
Matthias Koefferlein 2fee924103 Updated the solution 2021-07-15 23:39:02 +02:00
Matthias Koefferlein d14892382c Fixed #864 (Shapes#copy_shapes does not support undo/redo)
While doing so changed the following things too:
- Instance and Shapes methods raise an exception if not
  in editable mode and with undo/redo
- Faster and leaner undo/redo on Shapes#clear
2021-07-15 00:44:28 +02:00
Matthias Koefferlein 2b447854f9 Enhanced matching of blackbox/pin ambiguities
Previously: matching of blackbox pins was enforced
by using pin names for passive nets in the compare.
Problem: no match was achieved when pins are not
named or not named consistently.

In this case, it's desirable to treat them as
ambiguous.

The new solution is to let the ambiguity resolver handle
that using an extended definition of the net names:
it will take the pin name into account if an unnamed net
is attached to a pin.

In addition, net ambiguities are projected to pin
equivalence now. This also will propagate symmetry
through nested blocks (dbNetlistCompareTests:20_BusLikeConnections).
2021-07-08 23:54:20 +02:00
Matthias Koefferlein bad3232415 Trying to fix a linker problem. 2021-07-07 08:03:07 +02:00
Matthias Koefferlein 4e54715d64 Merge branch 'wip-lvs' 2021-07-06 23:40:44 +02:00
Matthias Köfferlein e78d0d81ae
Merge pull request #849 from KLayout/lvs-blackbox
Lvs blackbox
2021-07-06 23:38:21 +02:00
Matthias Koefferlein 720057e071 Added a #include which was missing 2021-07-06 21:16:57 +02:00
Matthias Koefferlein 8f65ab099f Fixed DeviceClass assignment operator 2021-07-06 07:56:27 +02:00
Matthias Koefferlein 4e0d8d92ef Updated doc, reverted netlist writer to write all parameters - it will only write primary parameters for R, L and C 2021-07-05 22:45:40 +02:00
Matthias Koefferlein e34fc8967a Some enhancements
* Device#net_for_terminal with terminal name
* Spice writer now dumps all parameters for resistors and caps (also secondary)
* Enabled Spice writer delegate in LVS (spice_format(...))
* Device class factories for built-in device extractors
2021-07-05 22:22:13 +02:00
Matthias Koefferlein ba35ac9bfe Doc update, some tests 2021-07-05 21:06:02 +02:00
Matthias Koefferlein c62592ede1 Added test for device class factory. 2021-07-05 19:55:55 +02:00
Matthias Koefferlein 4303e1ab73 Revert change of making spice parameters primary - will create problems in swappable parameters such as AD and AS 2021-07-04 19:58:15 +02:00
Matthias Koefferlein ae6f77f45f Serialization of custom device classes 2021-07-04 19:14:37 +02:00
Matthias Koefferlein 3220bdf60d Added device class templates for CapWithBulk and ResWithBulk 2021-07-04 19:14:11 +02:00
Matthias Koefferlein ce61145f1c More control over primary/secondary flag of parameters in device extraction
- Spice reader will set primary flag for all (known) parameters
  read from a Spice netlist
- "extract_devices" will return the device class object
- primary/secondary flag can be set on device class objects
  through "enable_devices"
2021-07-04 17:05:17 +02:00
Matthias Koefferlein 1a0b05e663 Updated test data 2021-07-02 23:38:38 +02:00
Matthias Koefferlein 79c552b300 Fixed #858 (+ line continuation after blanks in Spice reader) 2021-07-02 23:31:54 +02:00
Matthias Koefferlein fd5efe9f92 Fixed #854 2021-07-02 00:46:22 +02:00
Matthias Koefferlein 6f63fa09bf Fixed #856 2021-07-02 00:44:17 +02:00
Matthias Koefferlein 3d6119f2a6 Updated tests, sloppy 'same_nets' in non-must-match mode 2021-06-29 08:43:28 +02:00
Matthias Koefferlein ab70c42c68 Some enhancements for strong matching of nets
* same_nets! method for strong matching
* same_nets and same_nets! except glob pattern to circuits and nets
* both observe case sensitivity
* helper functions for case sensitivity Netlist#is_case_sensitive?, Netlist#case_sensitive=
* Netlist#nets_by_name to get nets from pattern
2021-06-28 22:33:46 +02:00
Matthias Koefferlein 72dc94197e New method: Circuit#nets_by_name 2021-06-28 20:29:40 +02:00
Matthias Koefferlein e0ccb4f980 Fixed a typo 2021-06-28 18:57:09 +02:00
Matthias Koefferlein 24afd571f0 LVS: can be used anywhere now: tolerance and join_symmetric_nets 2021-06-28 18:56:07 +02:00
Matthias Koefferlein c24c0933bf Bugfix: blackbox mode/abstract pins
Abstract pins are created when pins are not attached to any or only to passive nets
(passive nets are those without device terminals or subcircuit pins).

1. Such pins were treated swappable. Now named pins will not be treated
   swappable but are mapped by name. This enables blackbox models where
   the pins are labelled and must correspond to schematic pins.
2. A bug was present which lead to incorrect handling of abstract
   nets in net compare.
2021-06-27 22:56:28 +02:00
Matthias Koefferlein d65148ed0b Fixed #846 2021-06-27 17:29:41 +02:00
Matthias Koefferlein 881e0010d5 Implemented with(out)_angle, with(out)_area on edge pairs (DRC, GSI). Deprecated 'with(out)_angle' on polygon layers (DRC) as this is now redundant with 'corners' 2021-06-27 14:18:04 +02:00
Matthias Koefferlein 5251520876 Added more filters for edge pairs: with_area, with_internal_angle. Added tests 2021-06-21 23:44:48 +02:00
Matthias Koefferlein 6e7c9192d4 Implemented #818 2021-06-20 21:45:51 +02:00
Matthias Koefferlein 2bbf6b6998 Merge branch 'clipped-25d-view' 2021-06-20 21:02:40 +02:00
Matthias Koefferlein 5fb2f024dc Fixed some typos 2021-06-19 23:12:59 +02:00
Matthias Koefferlein 71e290b50e Added test for the last commit 2021-06-13 23:02:53 +02:00
Matthias Koefferlein d1f38a36b1 Not directly related (initially so): EdgeProcessor can restart now. 2021-06-13 23:02:09 +02:00
Matthias Koefferlein 3b22bc0a42 Fixed the fix: considering the case of non-layout hosted Shapes container too 2021-06-12 23:34:32 +02:00
Matthias Koefferlein 115593575d Merge branch 'master' of github.com:KLayout/klayout into issue-835 2021-06-12 09:47:31 +02:00
Matthias Koefferlein 6f583b1b21 Fixed #835 2021-06-12 09:45:02 +02:00
Matthias Köfferlein 8bd58be534
Merge pull request #830 from KLayout/issue-824
Issue 824
2021-06-12 08:58:00 +02:00
Matthias Koefferlein 43c941004a Fixed embarrassing typo: Minkowsky -> Minkowski (Hermann Minkowski, 22 June 1864 – 12 January 1909) 2021-06-10 23:33:49 +02:00
Eugene Zelenko ed27447ce0 Fix misspellings in db. 2021-06-07 18:21:02 -07:00
Matthias Koefferlein 8b528a8a7a Refactored the compound op node cache for multithreading support 2021-06-07 22:46:15 +02:00
Matthias Koefferlein 02ec262df0 Normalized resistor contact polygons for better test reproducibility. 2021-06-03 23:43:00 +02:00
Matthias Koefferlein 7aaddcf205 Normalize S/D choice on MOS transistor extraction for better test reproducability 2021-06-03 17:32:38 +02:00
Matthias Koefferlein a762797d58 Typos fixed. 2021-06-01 21:32:24 +02:00
Matthias Koefferlein ef01bbf81b Restored merge behavior for DRC 'or' also in deep mode 2021-05-31 18:24:00 +02:00
Matthias Köfferlein 63f4d727e9
Merge pull request #813 from KLayout/wip
Wip
2021-05-29 23:59:44 +02:00
Matthias Koefferlein 83685a3715 Fixed a build issue. 2021-05-29 22:06:13 +02:00
Matthias Koefferlein eeaab8a417 Bugfix: Region#flatten and Edges#flatten did not update the merged cache to flat and Region#flatten did not produce PolygonRefs 2021-05-29 19:28:56 +02:00
Matthias Koefferlein 5ceeafc0ff Implemented #808 (Feature suggestion: DRC to report edges attached to corners as edge pairs). Solution is available for DRC layers and universal DRC expressions. 2021-05-29 17:57:38 +02:00
Matthias Koefferlein e57d573a42 Tests, so bug fixes, some refactoring 2021-05-29 09:43:12 +02:00
Matthias Koefferlein c8548709bb Implemented edge pair filters, DRC: with(out)_angle, with(out)_length and with(out)_distance 2021-05-28 23:46:52 +02:00
Matthias Koefferlein fcb966393a Fixed #806: first, the internal error gone. Second, the implementation of custom comparers is simplified as the 'equals' method does not need to be implemented. 2021-05-26 22:39:28 +02:00
Matthias Koefferlein ef22ead019 Fixed a bug in the Spice writer implementation (res3 not considered) 2021-05-26 22:27:42 +02:00
Niko Savola ff90c476c3 Fix typos systemically in gsiDecl*.cc 2021-05-26 13:18:23 +03:00
Niko Savola 99ef222f50
Fix more typos in gsiDeclDbLayoutToNetlist.cc
\\make_incluidelayer -> \\make_includelayer
sqaure -> square
2021-05-26 12:37:24 +03:00
Niko Savola b27e5de023
Fix typo in gsiDeclDbLayoutToNetlist
reprfesenting -> representing
2021-05-26 12:31:46 +03:00
Niko Savola bc16c4ad31
Fix missing 'to' typo
from another cell this cell -> from another cell to this cell
2021-05-26 10:33:07 +03:00
Matthias Koefferlein 6ad8ec5662 Bugfix: whole edge output for fragmented second input. No way to fix that for the compound ops. Restrict negative output for two-layer checks on first layer for the same reason. 2021-05-26 00:27:13 +02:00
Matthias Koefferlein 19b28982e7 WIP: updated test data (bugfix: bulk does not have layer properties), Fixed Region::count and Region::hier_count (was counting non-polygons too) 2021-05-25 23:08:38 +02:00
Matthias Koefferlein 3789e38ce3 WIP: avoid one more segfault. 2021-05-25 22:45:19 +02:00
Matthias Koefferlein 0d6ce92d6b WIP: fixed a potential segfault 2021-05-25 21:41:27 +02:00
Matthias Koefferlein 0452e91e8c WIP: Some hardening against internal state changes in RecursiveShapeIterator, tests fixed 2021-05-25 21:36:54 +02:00
Matthias Koefferlein 1c8442f485 Fixed #807 - now supporting incremental connect and clear_connections in DRC/LVS 2021-05-24 21:56:57 +02:00
Matthias Koefferlein 58afc47071 WIP: reduced space runtimes (OpenRAM sample) by selective edge processing 2021-05-24 18:27:16 +02:00
Matthias Koefferlein 05b1023fd5 Updated tests. 2021-05-24 16:49:00 +02:00
Matthias Koefferlein 2fc301a0b6 More efficient shape counts on OriginalLayer 2021-05-23 12:21:18 +02:00
Matthias Koefferlein 4bc665cbf3 Mapping deep-mode 'or' (DRC) to 'add' to avoid flat processing. 2021-05-22 22:32:29 +02:00
Matthias Koefferlein 560234cacb Less noisy output with verbose debug mode 2021-05-22 22:29:57 +02:00
Matthias Koefferlein 6cfe14a418 Typo corrected 2021-05-22 22:29:10 +02:00
Niko Savola feb5e7eece
Fix documentation typo in gsiDeclDbCell.cc 2021-05-21 14:35:21 +03: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 Köfferlein 9c5542d3d2
Merge pull request #788 from KLayout/issue-787
Issue 787 fixed
2021-05-08 22:26:10 +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 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