Commit Graph

4923 Commits

Author SHA1 Message Date
Matthias Koefferlein b95634edf3 Fixing some flaws inside the macro IDE
* When deleting a macro, the tab was not closed but
  became "zombie"
* After creating a new folder, macros made there
  behaved "zombie" too
2024-05-30 13:58:13 +02:00
Matthias Koefferlein 149c972172 Enhancing 'blend-mode' 0 (buddy tools) such that it will not generate instance duplicates 2024-05-29 22:39:57 +02:00
Matthias Koefferlein 496818f0a8 Added testdata for #1719, part 3 2024-05-28 23:21:58 +02:00
Matthias Koefferlein f1d3597b2e Small doc update 2024-05-27 19:06:56 +02:00
Matthias Koefferlein 2360eb41fd Generated documentation 2024-05-27 19:04:06 +02:00
Matthias Koefferlein dc526132c0 Part 3 of issue #1719
New LVS/DRC functions: "name" and "name_prefix"
to control what layer names are used. "name" needs
to be used explicitly and before a layer is used
(and gets auto-assigned a name).
2024-05-27 19:02:53 +02:00
Matthias Koefferlein 45e77ce40c Fixed a typo 2024-05-27 19:02:38 +02:00
Matthias Koefferlein f01d8d46b5 Improving reports for errors in 'same_nets' cases 2024-05-27 00:43:36 +02:00
Matthias Koefferlein 3edb193562 A proposal for fixing issue #1719, part 1 2024-05-26 22:55:37 +02:00
Matthias Koefferlein 14b1fddcc5 Trying to improve must-connect error messages
* Avoid repetitions
* Include geometry for nets if possible
* Better wording
* All joined nets tested together - leaner code
2024-05-26 19:32:15 +02:00
Matthias Koefferlein 994b23abf6 Refining solution of issue #1719, part 2 2024-05-26 17:23:50 +02:00
Matthias Koefferlein 35d9068f72 Updating unit tests - stray text nets are gone. 2024-05-26 17:08:34 +02:00
Matthias Koefferlein 0c52934100 Trying a solution for issue #1719, part 2
The solution is to drop clusters that have no area
and not connections downward. This implies, we cannot
connect from upward to such clusters - i.e. we cannot
force a pin inside a subcircuit with a plain text. We
need some polygon at least. This is not a problem as
texts were not enough so far anyway.
2024-05-26 15:17:58 +02:00
Matthias Koefferlein b5e2eb253c Adjusted unit tests 2024-05-26 01:17:27 +02:00
Matthias Koefferlein 81872d41f0 Fixed a problem triggered by the new foreign layout handling
Problem was that with forward-referenced text strings
in OASIS, StringRef objects were created (string placeholders).
Those where not properly migrated when transferring the foreign
layouts into DEF space, causing a memory corruption issue.

This solution is to provide a central, singleton string
repository. This needs to be MT safe (reference counting)
which should also fix potential problems when accessing
StringRef-based Text objects from multiple threads.
2024-05-26 01:03:24 +02:00
Matthias Koefferlein 1677111735 Enhanced documentation for LayoutToNetlist class, two more methods (layer_indexes, layer_info) 2024-05-25 19:57:51 +02:00
Matthias Koefferlein 4f88ff68da Better error messages on Expressions too. 2024-05-25 19:18:15 +02:00
Matthias Koefferlein d59d318218 Bugfix: restoring original overload matching scheme for Ruby and Python 2024-05-25 18:58:18 +02:00
Matthias Koefferlein eb92e5f2d1 Better error messages on argument mismatch for Ruby too. 2024-05-25 18:43:44 +02:00
Matthias Koefferlein 1861abc68c Bugfix for passing default arguments to GSI calls
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.

In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein 370abf7ab3 Enum to variant binding: needs to use enum class, not EnumWrapper<E>
The effect of this fix is that tl::Variant gets enabled for
enums declared with gsi::Enum.
2024-05-25 17:46:29 +02:00
Matthias Koefferlein 3ca99907de Improved OASIS-to-OASIS file size by re-introducing sorting of repetition arrays 2024-05-25 14:24:00 +02:00
Matthias Koefferlein e4267e53da Removed some debugging code 2024-05-25 14:23:16 +02:00
Matthias Koefferlein cf8ff2f750 Slight adjustment of wording 2024-05-19 17:35:03 +02:00
Matthias Koefferlein 8422fe8f83 Implementing solution for issue #1701 (Feature request: strm2oas should report input unit differences) 2024-05-18 19:41:43 +02:00
Matthias Koefferlein 51a1a2627f Fix for issue-1710 (feature request: create separate cell for def FILL) 2024-05-18 18:37:52 +02:00
VFLC 70104b5fa5
_drc_engine.rb: replace removed method "file.exists?" with "file.exist?"
`file.exists?` got removed in version 3.2.0
see: https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
2024-05-18 15:25:07 +00:00
Matthias Koefferlein 029d71f30e Trying to fix bug #1706 (crash on user properties form) 2024-05-12 16:24:33 +02:00
Matthias Koefferlein 547ce99c37 Implemented fix from @Kazzz-S. Thank you! 2024-05-03 23:34:59 +02:00
Matthias Koefferlein b2b9c221b4 Maybe fixing shader programs for 2.5d view 2024-05-02 23:58:05 +02:00
Matthias Koefferlein ebbd8708db bug fixing 2024-04-30 23:17:00 +02:00
Matthias Koefferlein 70bf4b4a20 Translate 2.5d view to GLGS 1.2 and skipping the goemetry shader for (hopefully) compatibility with OpenGL 3.0 2024-04-30 23:04:04 +02:00
Matthias Koefferlein 43066284d5 Updating stubs and DRC/LVS doc 2024-04-30 19:27:34 +02:00
Matthias Koefferlein 05c129dd81 Doc fixes 2024-04-30 17:45:56 +02:00
Matthias Köfferlein 7b3804ce1a
Merge pull request #1697 from KLayout/bugfix/issue-1696
Bugfix/issue 1696
2024-04-30 15:27:31 +02:00
Matthias Köfferlein d14f8b0253
Merge pull request #1694 from KLayout/waive-concept
Waive concept
2024-04-30 15:27:15 +02:00
Matthias Köfferlein d5a67080c0
Merge pull request #1690 from KLayout/wip
Wip
2024-04-30 15:26:59 +02:00
Matthias Koefferlein a10356fd85 Added tests 2024-04-29 19:18:39 +02:00
Matthias Koefferlein de535c711f Fixed problem by creating a default device class from an empty template string 2024-04-29 18:58:04 +02:00
Matthias Koefferlein 14f9d579c9 'apply waiver DB' feature in marker browser 2024-04-29 18:56:32 +02:00
Matthias Koefferlein db0e9efe31 Bugfix: reload was not working properly 2024-04-29 18:51:31 +02:00
Matthias Koefferlein a7f0f3ba8e Compatibility with old Ruby versions 2024-04-29 00:10:57 +02:00
Matthias Koefferlein 405ac5109a Update DRC documentation, explaining the waive flow. 2024-04-28 19:57:10 +02:00
Matthias Koefferlein 92a0c38d96 Tests for waiving flow 2024-04-28 19:32:54 +02:00
Matthias Koefferlein 7e32344287 Including sub-categories in RDB::apply, fixing handling of waived count in a category hierarchy in marker browser 2024-04-28 19:23:44 +02:00
Matthias Koefferlein 86a2a6dd40 'Save As Waiver DB' implemented 2024-04-28 19:05:39 +02:00
Matthias Koefferlein 9fcd9d7616 RDB browser: mark waived items as unvisited initially 2024-04-28 18:50:53 +02:00
Matthias Koefferlein 9619081f84 Use fuzzy compare for RDB#apply 2024-04-28 18:50:33 +02:00
Matthias Koefferlein daa406d518 Auto-apply *.w files on RDB output in DRC 2024-04-28 17:53:10 +02:00
Matthias Koefferlein 4f96914b3c Also copy comments on RDB#apply 2024-04-28 17:52:51 +02:00
Matthias Koefferlein fbc336dde2 Added tests 2024-04-28 17:37:58 +02:00
Matthias Koefferlein 1c367f3757 Updating test data 2024-04-28 16:16:21 +02:00
Matthias Koefferlein 6e3eb568c3 Implementing variant reporting
Instead of reporting working layout cell names, the
original cell names plus a variant indicator is reported.
Also, the variant information from the RDB is filled now.

Also, the marker browser now shows the qname of the cells
instead of the name alone.
2024-04-28 15:30:29 +02:00
Matthias Koefferlein aacdc1a4b7 Info feature for marker browser 2024-04-27 23:36:48 +02:00
Matthias Koefferlein 3152be5c3d Original file name is written into DRC marker db now 2024-04-27 23:36:27 +02:00
Matthias Koefferlein ed64d4a59b DRC enhancements:
- Shapes are added to existing categories rather than creating
  a new category with the same name
- The category name in "output" can be an array creating a
  hierarchy of categories.
2024-04-27 23:02:54 +02:00
Matthias Koefferlein 4b967fcc51 Show filename in RDB drop-down, 'save' button, bindkeys for reload, save, open 2024-04-27 21:41:04 +02:00
Matthias Koefferlein bab4d7b5c7 Cleanup 2024-04-27 21:14:02 +02:00
Matthias Koefferlein 0b5473c153 Editor feature for RDB item comments, bindkeys for waive and edit 2024-04-27 21:09:14 +02:00
Matthias Koefferlein 9ef51ca981 RdbCell#layout_name and RdbItem#comment with tests and GSI binding 2024-04-27 19:56:39 +02:00
Matthias Koefferlein 2ff06ede07 UI enhancments
- marker list is sorted by waived flag by default showing waived items at the end
- "unwaive_all" works now
- waiving items now makes them visited
2024-04-27 17:57:06 +02:00
Matthias Koefferlein aadb745fb9 Enhanced display of waived count 2024-04-27 01:14:14 +02:00
Matthias Koefferlein aba5362e82 Displaying waived marker count 2024-04-27 00:55:50 +02:00
Matthias Koefferlein 369f85561e [consider merging] escape category descriptions for marker browser info box 2024-04-26 22:47:36 +02:00
Matthias Koefferlein 1939fd2909 GSI binding of RdbDatabase#apply 2024-04-26 22:38:10 +02:00
Matthias Koefferlein 9b1fd34573 WIP: debugging and tests 2024-04-26 22:12:21 +02:00
Matthias Koefferlein 0a88349277 WIP 2024-04-25 23:41:40 +02:00
Matthias Koefferlein bb17250d94 Implemented a fix for issue #1691
The root cause was that the terminal identity could
not be derived in the presence of soft connections
inside the device abstract cell. The solution is to
join soft connected clusters in the device abstracts with
a warning.
2024-04-21 18:13:54 +02:00
Matthias Koefferlein f68fd4f8d0 Refactoring of EdgePairs/Edges API to avoid ambiguities 2024-04-21 00:17:05 +02:00
Matthias Koefferlein 753f2cd164 Fixed one unit test (remove file path reference) 2024-04-20 23:35:38 +02:00
Matthias Koefferlein ac5b3073f1 Some enhancements on rulers: pasted ruler is selected now, 'duplicate_interactive' now working on rulers too 2024-04-20 23:31:54 +02:00
Matthias Koefferlein a18a6be181 DRC: New options for "corners", "angle", "with(out)_angle"
- layer.corners: absolute and negative option
- drc(corners): absolute option, != operator supported
- layer.with_angle/without_angle: absolute option
- drc(angle): absolute option

+ corresponding API updates:

- EdgePairs#with_angle, with_angle_both: 'absolute' flag added
- Edges#with_angle: 'absolute' flag added
- Region#corners: 'inverse' and 'absolute' added
2024-04-20 21:52:38 +02:00
Matthias Koefferlein 424ead4d9a Some enhancements to expression parser:
- upcase() and downcase() functions
- type error messages indicate argument number
2024-04-18 22:02:46 +02:00
Matthias Koefferlein cba126e9ee Small enhancements for Spice reader
- Detects recursive subcircuit calls now
- Dismisses empty top level circuit which happened to be created
  when there were not top level elements and control statements
  were present (such as .param)
2024-04-18 21:27:09 +02:00
Matthias Koefferlein e8ecaa6472 Merge branch 'master' into wip 2024-04-18 21:00:11 +02:00
Matthias Koefferlein 16ef23864c Enabled 64bit coordinate builds 2024-04-18 20:59:37 +02:00
Matthias Koefferlein b634d93cb2 Bugfix: timeout for HTTP(S) connection was including the time taken to input the password if one is requested. 2024-04-17 22:54:01 +02:00
Matthias Koefferlein 18eadb119e Fixed a small problem: browser windows did not get closed when closing the window. 2024-04-17 22:42:58 +02:00
Matthias Köfferlein ede328d3cb
Merge pull request #1687 from KLayout/feature/issue-1678
Implemented solution for issue-1678
2024-04-17 22:38:39 +02:00
Matthias Köfferlein 840beea152
Merge pull request #1686 from KLayout/feature/issue-1666
Feature/issue 1666
2024-04-17 22:38:27 +02:00
Matthias Köfferlein 6bc314a6cd
Merge pull request #1685 from KLayout/bugfix/issue-1679
Bugfix/issue 1679
2024-04-17 22:38:17 +02:00
Matthias Köfferlein c6174b1df5
Merge pull request #1684 from KLayout/bugfix/issue-1683
Bugfix/issue 1683
2024-04-17 22:38:04 +02:00
Matthias Köfferlein 3c2a254a9b
Merge pull request #1682 from KLayout/bugfix/issue-1681
Fixed issue #1681
2024-04-17 22:37:53 +02:00
Matthias Köfferlein 2f015b603a
Merge pull request #1675 from KLayout/issue-1671
Issue 1671
2024-04-17 22:37:41 +02:00
Matthias Koefferlein e3dc4e7310 Qt4 compatibility 2024-04-16 21:50:30 +02:00
Matthias Koefferlein 06c65e2879 Updating tests 2024-04-15 00:01:49 +02:00
Matthias Koefferlein daa2df159e Fixed a build issue on some Qt versions 2024-04-14 23:54:10 +02:00
Matthias Koefferlein 1e83df0a56 Implemented solution for issue-1678
* Help index file name encodes KLayout version and Qt version
* Help index file is gzip compressed to save space as many files are expected to accumulate now
2024-04-14 21:59:10 +02:00
Matthias Koefferlein 0eb3c22ec2 Aligning menu layout of materials list with layer list 2024-04-14 21:42:59 +02:00
Matthias Koefferlein 9fd791a603 Implemented solution for issue-1666 ('Visibility Follows Selection' option for the 2.5d view) 2024-04-14 21:39:49 +02:00
Matthias Koefferlein 62f0ea3b97 Fixing issue #1683 (Spice reader accepts circuits without definition but pins get shorted) 2024-04-14 21:04:02 +02:00
Matthias Koefferlein 6a876d2cd6 Fixed issue #1681 2024-04-14 19:43:50 +02:00
Matthias Koefferlein ae2d6fb42f Updating sample macros for Qt6 compatibility 2024-04-10 23:18:51 +02:00
Matthias Koefferlein 7fa1337cd8 Moving from QFormBuilder to QUiLoader as QFormBuilding is deprecated in Qt6 binding 2024-04-10 22:40:56 +02:00
Matthias Koefferlein 95c1ee82f0 Proposal for fix. 2024-04-04 23:06:34 +02:00
Matthias Koefferlein 7f16c7b597 Fixed doc 2024-04-01 20:24:43 +02:00
Matthias Koefferlein 2dc9df3f40 Updated documentation with example 2024-03-31 22:23:23 +02:00
Matthias Koefferlein 4809c06091 Implemented editor hooks for partial mode too. Integrated modification events into edit protocol 2024-03-31 22:10:24 +02:00
Matthias Koefferlein 1c284b0939 Editor hooks for move operations 2024-03-31 19:26:22 +02:00
Matthias Koefferlein 00bc208e3f Merge branch 'master' into editor-hooks 2024-03-31 10:39:00 +02:00