Commit Graph

1827 Commits

Author SHA1 Message Date
Matthias Koefferlein 47efb9d11b WIP: fixed compiler warning 2019-11-11 07:08:37 +01:00
Matthias Koefferlein 0ce06125ca Introducing netlist object properties. 2019-11-11 07:02:02 +01:00
Matthias Koefferlein b220374bd1 Fixed gcc builds with stdc++0x (math.h issue) 2019-11-10 01:30:45 +01:00
Matthias Koefferlein 817bbf81f1 Fixed gcc builds with stdc++0x (M_PI no longer available) 2019-11-09 23:20:43 +01:00
Matthias Koefferlein 994c8b8484 Removed superfluous file from lay.pro. 2019-11-09 16:53:17 +01:00
Matthias Koefferlein 4a212e8db6 Added tests for Region#scale_and_snap and Region#snap 2019-11-07 23:33:54 +01:00
Matthias Koefferlein 988b1e563f Added unit test for DeepRegion::snap 2019-11-07 23:11:34 +01:00
Matthias Koefferlein 318efbf7b0 Fixed 'scale_and_snap' feature 2019-11-07 22:54:16 +01:00
Matthias Koefferlein 4924d0269c Fixed #400, added tests. 2019-11-06 23:28:16 +01:00
Matthias Koefferlein 1e2a8b264d WIP: because the fixed scheme works nicely, add a new scale_and_snap function. 2019-11-06 01:11:40 +01:00
Matthias Koefferlein 895206dfa1 WIP: bugfix in case of clip variants. 2019-11-06 01:11:40 +01:00
Matthias Koefferlein 51676376e6 WIP: Variant building bug fixed. Needs testing. 2019-11-06 01:11:40 +01:00
Matthias Köfferlein 990f01adec
Merge pull request #398 from KLayout/issue-393
Issue 393
2019-11-06 01:01:48 +01:00
Matthias Köfferlein 3476e40e79
Merge pull request #397 from KLayout/issue-394
Issue 394
2019-11-06 01:01:36 +01:00
Matthias Köfferlein 65b0752c5c
Merge pull request #396 from KLayout/issue-387
Implemented issue-387 (python version in grain.xml)
2019-11-06 01:01:23 +01:00
Matthias Köfferlein 9fffd03ad3
Merge pull request #390 from KLayout/issue-382
Implemented #382: text editor view for user props
2019-11-06 01:01:09 +01:00
Matthias Köfferlein b920e057a3
Merge pull request #389 from KLayout/issue-386
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-06 01:00:58 +01:00
Matthias Köfferlein 6e02f1f93e
Merge pull request #388 from KLayout/issue-368
Implemented #368: no segfault but exception if accessing invalid laye…
2019-11-06 01:00:47 +01:00
Matthias Köfferlein a351bc8085
Merge pull request #385 from KLayout/dvb
Dvb
2019-11-06 01:00:33 +01:00
Matthias Koefferlein fe9e808d61 Fixed implementation: cannot change definition of tl::Extractor::read_word and need a new method to read a word. 2019-11-03 21:50:47 +01:00
Matthias Koefferlein 41ab2d6d79 Enhanced #387 fix with pseudo-features
To restrict the requirements to a specific Python, Ruby or Qt
major version it's now possible to use "python2", "python3", "ruby1",
"ruby2", "qt4" and "qt5" features.

Like this:

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

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

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

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

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

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

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

In addition, "bookmark this view" now proposes a bookmark name
make of "B" and a unique number.
2019-09-08 01:22:34 +02:00
Matthias Koefferlein 8a21d9718e First implementation 2019-09-08 01:11:19 +02:00
Matthias Koefferlein c95a0652cc First implementation of deep mode for XOR tool. 2019-09-07 22:30:10 +02:00
Matthias Koefferlein 26f8fc5c83 Bug fixed strmxor with deep mode, added tests. 2019-09-07 21:27:12 +02:00