Commit Graph

4189 Commits

Author SHA1 Message Date
Matthias Koefferlein ef387e6669 Bumped post version for new PyPI release 2022-05-11 18:44:48 +02:00
Kazunari Sekigawa 9f3e5a1391 Modified the build system for Mac to optionally build and deploy the KLayout Python Module (*.whl and *.egg) for LW-*.dmg (#1078)
* WIP: add "pymod"

* To fix the issue reported by GitHub ticket No.1040

* WIP: To build "pymod"

* Updated the build system for Mac.

* Updated the build system for Mac.

* Modified the build system for Mac to optionally build and deploy the KLayout Python Module (*.whl and *.egg) for LW-*.dmg
2022-05-11 18:44:16 +02:00
Joaquin Matres 293b791c97 update build for manylinux and macos (#1077) 2022-05-11 18:44:14 +02:00
Matthias Koefferlein ad55a23c52 Added import_lib.py 2022-05-11 18:44:10 +02:00
Joaquin Matres 04e5b8d8d2 add ci/cd for github actions (#1070)
* add ci/cd for github actions

* fix workflow and add workflow_dispatch

* remove dist

* fix

* add gcc

* sudo apt install build essential

* add curl

* install curl

* build essential

* update

* test code on mac os

* release on tagged version

* better names

* fix numbers for 3.10

* add cancel workflow for tests

* fix test macOs

* Adding ccache to github action

* creating dependency between jobs

* using cibuildwheel

* ccache path bug

* Testing after building wheels

* misunderstood cibuildwheel

* fixing error in manylinux build

* fixing error in manylinux build (2)

* disabling fail fast (temporary)

* Don't repair macOS wheels

* Not building pypy wheels

* disabling 32-bit linux wheels

* macos-latest only (prevent duplicate)

* fixing musllinux

* fixing ccache

* fixing cache persistence

* adding deploy job

* last debug

Co-authored-by: Thomas Ferreira de Lima <github@tlima.me>
2022-05-11 18:44:07 +02:00
Kazunari Sekigawa 1464ede707 Updated the build system for Mac (#1073)
* WIP: add "pymod"

* To fix the issue reported by GitHub ticket No.1040

* WIP: To build "pymod"

* Updated the build system for Mac.

* Updated the build system for Mac.
2022-05-11 18:44:02 +02:00
Matthias Koefferlein 66c0eaccab Adding Ubuntu 22 to makedeb script 2022-04-24 10:12:38 +02:00
Matthias Koefferlein 2fefadd6c4 Updated Changelog 2022-04-23 22:51:30 +02:00
Matthias Koefferlein 730acfdebb Preparations for 0.27.9 2022-04-23 22:49:50 +02:00
Matthias Koefferlein 9b7ebe56a4 Updated Changelogs 2022-04-23 22:49:24 +02:00
Matthias Köfferlein 4e8053c8f0 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:27:41 +02:00
klayoutmatthias 14b9892721 WIP: enabling build on MSVC2019 with Qt6 2022-04-16 21:47:16 +02:00
Matthias Köfferlein 7ed87e6635 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:45:39 +02:00
Matthias Köfferlein 30f91b9c31 Issue-1058: implemented backspace button for path and polygon (#1061) 2022-04-10 18:45:34 +02:00
Matthias Köfferlein afb0419769 Issue 1057 (Library#refresh enhancements) (#1060)
* Added Layout#refresh and added that to Library#refresh

* Doc updates, clarification
2022-04-10 18:45:25 +02:00
Matthias Koefferlein d6c8b1f63c Fixed #1054 (only an issue in debug builds so far) 2022-04-10 00:00:27 +02:00
Matthias Koefferlein 8325422b31 Fixed a potential crash when calling 'technology_changed_event' on an invalid CellViewRef. 2022-04-10 00:00:07 +02:00
Matthias Köfferlein c2f001d757 First attempt to implement X2 net names. Needs reconfirmation. (#1056) 2022-04-09 23:59:34 +02:00
Matthias Köfferlein 363f777feb 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:55:11 +02:00
Matthias Köfferlein 209680e273 Some doc fixes as preparation for PDF generation (#1044)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation
2022-04-02 16:12:52 +02:00
Matthias Köfferlein 5967ca7c7b Applied patch as discussed in #1040 (#1045)
* Applied patch as discussed in #1040

* Adding extra compilation flags to extensions #1040

tlcore, dbcore and libcore did not have compilation flags.
It failed compiling on Macos because it did not use C++11.

Co-authored-by: Thomas Ferreira de Lima <tlima@princeton.edu>
2022-04-02 16:09:00 +02:00
Matthias Koefferlein ad04ab0aa8 New testdata variants for MSVC2017 2022-03-18 23:13:43 +01:00
Matthias Koefferlein 9649620e8d 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:11:28 +01:00
Matthias Koefferlein 1bfb5e92a3 Updated test data for MSVC2017 2022-03-18 00:11:17 +01:00
Matthias Koefferlein f54792d74d Maybe fixed build issue on MacOS 2022-03-18 00:11:10 +01:00
Matthias Köfferlein 5de5d146a2 Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) 2022-03-16 23:34:16 +01:00
Matthias Köfferlein 0dac0bac17 Bd enhancements (#1034)
* Added ability to join files for strmxor

* Joined input files also for strm2txt strmclip and strmcmp. Output options for strmxor.
2022-03-16 23:34:12 +01:00
Matthias Köfferlein 713973f97b Fixed main issue (warning about unexpected strict mode) (#1033)
The default mode was "expect non-strict" which is nonsense. It should
be "don't care".
2022-03-16 23:34:04 +01:00
Matthias Köfferlein f21e376414 Issue 1029 - Crash on QTreeViewItem#setBackgroundColor (#1032)
* Fixed issue #1029

The problem happened because in the described case the
tl::Variant used as a intermediate container holds the
Python QBrush object and when it gets deleted, the
QBrush object is deleted too.

* Added tests
2022-03-16 23:29:03 +01:00
Matthias Koefferlein 89909229bb Fixed LVS testdata (merge issue) 2022-03-15 23:42:24 +01:00
Matthias Köfferlein 693b3f850e 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:18:08 +01:00
Matthias Köfferlein 4b4a3eeeef 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:18:02 +01:00
Matthias Köfferlein 1b5ea72125 Issue 1017 (#1023)
* Write polygons as single POLYLINE or LWPOLYLINE to DXF

* DXF writer creates simple polygons from ones with holes in POLYLINE and LWPOLYLINE mode, added tests
2022-03-10 19:16:10 +01:00
Matthias Koefferlein e6a77a6d2b LEF/DEF paths for buddies are relative to cwd 2022-03-09 22:24:58 +01:00
Matthias Koefferlein 6ce3215278 Fixed use of HTML in netlist browser 2022-03-09 22:24:27 +01:00
Matthias Köfferlein fd76cd7048 Fixed issue-1012 with some enhancements (#1016)
- warning if a layer is not mapped
- "," allowed as separator between files on buddy tools (in addition to '+')
- relative paths are resolved relative to . in buddy tools (more natural on Linux)
- Fixed tl::warn and tl::error so warnings/error messages can be continued with tl::noendl.
2022-03-05 14:57:40 +01:00
Matthias Köfferlein e759400ecf Split gates (#1018)
* First implementation, first basic tests.

* WIP: more tests, bug fixes

* split_gates feature, added test case

* Documentation
2022-03-05 14:57:34 +01:00
Matthias Koefferlein 90daa72e03 Fixed issue #1013 2022-03-01 17:18:52 +01:00
Matthias Koefferlein 03bbc95bf1 Avoid clipped texts in netlist/LVS result browser, text as tool tips 2022-03-01 17:18:48 +01:00
Matthias Koefferlein 299f628342 Bugfix: could not erase suffix in LEF/DEF reader options, could not reset datatype to 'none' (=don't produce) 2022-03-01 17:18:45 +01:00
Matthias Koefferlein f5dfe8a5e7 Ctrl+F always enters find edit box in macro editor, not only if something is selected. 2022-03-01 17:18:42 +01:00
Matthias Köfferlein 61d5963b8d 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:18:37 +01:00
Matthias Koefferlein 7549d65d8e Corrected branch filter for PyPI decployment 2022-02-14 18:32:46 +01:00
Matthias Koefferlein cbd805f8ea Updated version and Changelogs 2022-02-13 19:27:40 +01:00
Matthias Köfferlein c46307a989 Issue 994 (#1006)
* Implemented issue-982 (heal option for strmxor)

The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.

* Fixed issue 994 (maybe, increased capture range for catching an existing selection)
2022-02-13 19:06:42 +01:00
Matthias Köfferlein 7ef5cdd8ac Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. (#1007) 2022-02-13 10:06:22 +01:00
Matthias Köfferlein b5069c7ca1 Implemented issue-982 (heal option for strmxor) (#1004)
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.
2022-02-13 10:04:48 +01:00
Matthias Koefferlein 1585244fe8 Patch for issue-973 fix to make it work with libcurl 2022-02-12 22:16:45 +01:00
Matthias Köfferlein 4226ab0078 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:27:15 +01:00
Matthias Köfferlein ffbdb90ad8 Fixed issue-972 (#1003)
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:09:42 +01:00