Commit Graph

5008 Commits

Author SHA1 Message Date
Matthias Koefferlein a14ca01bac WIP: more on deep edge collections. 2019-02-10 15:33:14 +01:00
Matthias Koefferlein f22217b6c4 WIP: deep edges and edge pairs. 2019-02-10 10:22:47 +01:00
Matthias Koefferlein 4abc38a5cc Test for deep/flat collaboration 2019-02-10 08:28:48 +01:00
Matthias Koefferlein e8e45b7272 Some tests, smooth and round method of deep region 2019-02-09 23:51:35 +01:00
Matthias Koefferlein 404f0f8328 Added a missing test golden data. 2019-02-09 22:56:44 +01:00
Matthias Koefferlein 7a86f0d878 Bugfix: size method needs to produce polygon refs so the output is usable as input for booleans too. 2019-02-09 22:55:34 +01:00
Matthias Koefferlein b6dd149f53 Changed variant suffix to to be consistent with cell name suffix generation in KLayout. 2019-02-09 19:21:14 +01:00
Matthias Koefferlein 1f3af7bbfe Hierarchical area and perimeter and sizing
Area and perimeter computation happens hierarchically
now. Magnified instances are supported.

Sizing is implemented hierarchically.

For anisotropic sizing, orientation variants may be
generated. For both isotropic and anisotropic
magnification variants will be created.
2019-02-09 19:13:54 +01:00
Matthias Koefferlein bbf7b2768b WIP: cell variant collecting and building. 2019-02-09 16:29:34 +01:00
Matthias Koefferlein 50c8c067d5 WIP: cell variant formation utility class. 2019-02-07 23:13:23 +01:00
Matthias Koefferlein ac7baf96ff Added golden data for deep region regression test. 2019-02-07 21:08:52 +01:00
Matthias Koefferlein decc5ede13 Robustification of Region
- Tests for merge
- Locking the layout when writing back the data for
  performance improvement
2019-02-05 23:39:31 +01:00
Matthias Koefferlein 7c043dbb99 WIP: fixed DeepRegion implementation somewhat. Needs testing. 2019-02-05 00:25:32 +01:00
Matthias Koefferlein 981d668161 WIP: introduced hierarchical merge and some other hierarchical operations. 2019-02-04 23:43:19 +01:00
Thomas Ferreira de Lima f93dc85c37
[travis] fixing macos py3.6, 3.5 pymod build 2019-02-04 15:19:04 -05:00
Thomas Ferreira de Lima 0e6c023062
bumping python version to 0.26.0.dev12 2019-02-04 11:45:54 -05:00
Thomas Ferreira de Lima 75f3817117
dropping macos wheel support for python 3.4 (temporary or pemanent?) 2019-02-04 11:42:05 -05:00
Matthias Koefferlein 9c0123df20 Implemented implicit joining of nets with the same label. 2019-02-03 21:34:23 +01:00
Matthias Koefferlein 3f1cd226a5 Made net name optional in l2n format. 2019-02-03 13:33:58 +01:00
Matthias Koefferlein f9c33733b9 l2n format writer and reader: more compact output 2019-02-03 01:49:48 +01:00
Matthias Koefferlein 1ea687d7b7 More details control over verbosity of region ops
Plus: the region op control attributes (threads,
min_coherence etc.) got lost when replacing the
delegate of a region. Now they are maintained in
most cases.
2019-02-03 01:48:14 +01:00
Matthias Koefferlein 99f111fe01 Attempt to achieve reproducibility between MSVC and gcc
Applies to dbHierProcessor.cc:

The issue was related to std::unordered_set/map which
(as the name says) is not ordered. The output of the
boolean core computation step is currently dependent
on the order (it's single pass), hence the order of
the contexts matters.

Using ordered sets where possible and explicit
sorting might help.
2019-02-02 22:43:42 +01:00
Matthias Koefferlein 5daf34ed76 Merge remote-tracking branch 'origin/windows-compat' into dvb 2019-02-02 02:36:14 +01:00
klayoutmatthias 1a080cc4d7 Windows build compatibility. 2019-02-02 02:33:48 +01:00
Matthias Koefferlein c90f7e4af9 Introduced perimeter parameters for MOS3/MOS4 2019-02-02 01:29:28 +01:00
Matthias Koefferlein 11cfe36ed1 Some MSVC build issues fixed (hopefully) 2019-02-01 23:18:54 +01:00
Matthias Koefferlein 8ad6da0281 Fixed a build issue on MSVC 2019-02-01 07:43:24 +01:00
Matthias Köfferlein 5095f7b3c0
Merge pull request #230 from KLayout/no-copy-on-vfunc-args
Avoid an issue with virtual functions
2019-02-01 00:04:40 +01:00
Matthias Koefferlein f2fff5cca1 Fixed compile issue. 2019-02-01 00:00:10 +01:00
Matthias Koefferlein efe06046aa Bugfixes (dbu, global nets)
1.) Fixed bug on build_nets when DBU's of target
    and source layout were different

2.) Global nets of subcircuits need to be considered
    also when they are already connected through other
    connections.
2019-01-31 23:50:34 +01:00
Matthias Koefferlein 57305977a4 Spice writer delegate fix
- Changed to const & objects in the Spice writer delegate
  to non-const & for Ruby/Python reimplementation (as const/non-const
  ambiguity is an issue for Ruby/Python we cannot efficiently
  work with const refs)
- Updated test data because the previous implementation wasn't
  using refs but rather copies of device and device class
  objects.
2019-01-31 22:23:58 +01:00
Matthias Koefferlein 30e26c4f96 Avoid an issue with virtual functions
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.

Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.

In addition, now it's possible to declare
results as references always (also if const &).

See gsiTest.cc:1078 for example:

  //  gsi::arg_make_reference makes the function's return value
  //  always being taken as a reference
  gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 01:07:15 +01:00
Matthias Koefferlein 7b07782cdf Avoid an issue with virtual functions
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.

Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.

In addition, now it's possible to declare
results as references always (also if const &).

See gsiTest.cc:1078 for example:

  //  gsi::arg_make_reference makes the function's return value
  //  always being taken as a reference
  gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 00:36:44 +01:00
Matthias Koefferlein 4068478887 Implemented SPICE writer + tests. 2019-01-31 00:07:10 +01:00
Matthias Koefferlein 7d06ea83c1 Bugfix: a segfault happened during net cluster formation because make_path was messing up the memory layout of the cluster collections. 2019-01-28 21:29:34 +01:00
Matthias Koefferlein 7e42ff83cd More fine-tuning of verbosity of log output for local processor. 2019-01-28 21:28:23 +01:00
Matthias Koefferlein da8b2854de Some fine-tuning of the timer output verbosity of the edge processor. 2019-01-28 21:27:41 +01:00
Matthias Koefferlein 2da7b218b4 Print errors on log when running device extractor. 2019-01-27 22:01:29 +01:00
Matthias Koefferlein 794c31329a Bugfix: internal error when running netlist extraction. 2019-01-27 22:00:30 +01:00
Matthias Köfferlein 44f9d1540d
Merge pull request #229 from KLayout/issue_228
Fixed issue #228
2019-01-27 00:40:52 +01:00
Matthias Koefferlein 458d00969c Fixed issue #228
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-27 00:04:15 +01:00
Matthias Koefferlein fe0d3e28ba Fixed issue #228
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-26 23:59:22 +01:00
Matthias Koefferlein 863c6ba8de Fixed a hierarchy traversal bug in the hier processor. 2019-01-26 21:53:44 +01:00
Matthias Koefferlein 74b6341425 Fixed unit tests, added swap function to tl::list 2019-01-25 23:19:12 +01:00
Matthias Koefferlein 4712ee0f29 Activated DeviceAbstract for GSI. 2019-01-25 22:40:41 +01:00
Matthias Koefferlein 29264013b0 WIP: more consistent handling of polygon splitting parameters. 2019-01-25 22:28:25 +01:00
Matthias Koefferlein 12aaa2db20 Refactoring: unified handling of splitting parameters. 2019-01-25 21:48:56 +01:00
Matthias Koefferlein 6da9bc5e85 Updated tests after switching to boolean core. 2019-01-25 21:38:45 +01:00
Matthias Koefferlein 707c761bac WIP: local hierarchical operations: take boolean core rather than shape ref core -> better hierarchical quality. Tests need to be fixed. 2019-01-25 00:21:01 +01:00
Matthias Koefferlein a635435899 Moved some code 2019-01-23 23:39:43 +01:00