Commit Graph

43 Commits

Author SHA1 Message Date
Matthias Koefferlein eabf558186 netlist exaction: selective net joining with labels
Now, a glob pattern can be used to identify the labels
which implicitly join nets. Also, net joining now
only happens on top level.
2019-04-15 23:24:27 +02:00
Matthias Koefferlein 52fb8b0f65 Merge remote-tracking branch 'remotes/origin/master' into dvb 2019-04-04 07:35:43 +02:00
Matthias Koefferlein 8e9f15669f WIP: utilizing netlist compare for DRC checks as well
+ Some enhancements (e.g. enable pin swapping for pins
  without names and devices or subcircuits)
2019-04-02 22:39:29 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
matthias e361a528a9 DRC layer's flatten now returns a proper DRCLayer object, enabled flat layers to become input also for deep mode L2N 2019-03-13 16:14:27 +01:00
Matthias Koefferlein 41fdd74189 Custom devices for device extractor - tests in the DRC framework 2019-03-10 22:37:32 +01:00
Matthias Koefferlein 510c675d21 Test cases for DRC-based net extraction and flat extraction
Flat extraction requires that texts of subcells are not
considered. Otherwise they pollute the net namespace of
the top cell.
2019-03-10 19:35:13 +01:00
Matthias Koefferlein 6932977273 A few bug fixes and test updates
- edge pairs are normalized before turning them into polygons.
  This makes flat and deep implementation more consistent.
- deep region and flat regions were not cooperating in geo
  checks
- unnamed layers are not registered in make_layer - this
  does not make sense and will just hold a fake ref
- tests now use GDS to represent texts after transformation
  (with orientation, OASIS can't do this)
- texts are more consistently handled in the tests
- test debug output is not written in the same format
  than golden data unless special normalization is
  requested.
- a non-orientable polygon was converted to orientable in
  a text because this can be represented in GDS consistently
- DRC testsuite uses "polygons" instead of "input" to achieve
  identical behavior for deep and flat mode with respect to
  texts
- dbRegionTests are updated because texts are not allowed
  for non-original layers too
2019-03-09 19:40:38 +01:00
Matthias Koefferlein 745696507f Two bug fixes in DRC related to flatten:
- Merge semantics wasn't transferred to flat region
- Merge semantics wasn't set at all in deep region
2019-03-09 09:59:23 +01:00
Matthias Koefferlein bcc506adc6 Updated DRC doc. 2019-03-06 07:55:20 +01:00
Matthias Koefferlein b30a9278d6 WIP: updated test cases. 2019-03-06 07:41:44 +01:00
Matthias Koefferlein 8b29b30ff9 WIP: more consistent text handling
Texts are not only kept inside original layers, but
also inside deep layers. This enables using texts
from DRC.

However, texts in deep layers are kept as markers.
Mostly they are converted back to texts, but the
orientation will be lost.

The change eliminates the need to using Iterators
in DRC instead of original layers and use of
label layers in deep mode.

A drawback is the presence of marker shapes in
deep mode (unless polygon layers are created).
Also, text output to RDB is not supported from
deep layers currently.
2019-03-06 00:34:56 +01:00
Matthias Koefferlein 604a634bf1 Generalization of layout index for LayoutToNetlist 2019-03-03 18:10:52 +01:00
Matthias Koefferlein 49621aa13a Fixed some documentation issues, DRC doc updated. 2019-03-03 10:17:54 +01:00
Matthias Koefferlein 32c44a8693 Fixed some unit tests by cleaning up resources properly. 2019-03-02 12:10:10 +01:00
Matthias Koefferlein 9c75ee8c92 Added DRC tests for antenna check. 2019-03-02 11:23:40 +01:00
Matthias Koefferlein 5c9b652771 Integration of LayoutToNetlist into DRC framework ('Netter')
First steps are made towards providing an antenna check
2019-03-02 10:41:16 +01:00
Matthias Koefferlein 2e9fb9fe9a DRC bugfix: layer wasn't overwritten but added on output. 2019-02-20 00:41:24 +01:00
Matthias Koefferlein a69e27b769 Clean up resources in DRC. 2019-02-18 23:44:14 +01:00
Matthias Koefferlein 7f71cc3a56 Some bug fixes, added tests for hier DRC (at least for what is there yet) 2019-02-18 22:24:34 +01:00
Matthias Koefferlein 0bed4615aa Fixed unit tests. 2019-02-18 21:01:19 +01:00
Matthias Koefferlein b91edbabde Enabled deep mode for DRC 2019-02-17 23:21:23 +01:00
Matthias Koefferlein d4d7ea8022 Updated copyright. 2019-01-08 01:09:25 +01:00
Matthias Koefferlein c46bed0785 Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc.
  with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
  in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Koefferlein e8a5d6ac0c Fixed a typo. 2018-08-24 22:59:11 +02:00
Matthias Koefferlein 628219080a Some enhancements/bug fixes for Windows
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein ccfe6fa918 FEATURE: 'labels' method in DRC scripts allows copying labels to output layers. 2018-04-28 10:36:13 +02:00
Matthias Koefferlein 7da3b0206a DRC as early autorun
This will finally enable DRC runsets started from an autorun macro.
2018-03-03 00:21:23 +01:00
Matthias Koefferlein 4f3b205d93 Fixed #71 (target cell argument is required) 2018-02-12 22:46:54 +01:00
Matthias Koefferlein 5d59b890d3 Small bugfix: DRC error message on wrong '@' input/output was wrong. 2018-02-12 22:04:03 +01:00
Matthias Koefferlein 53328d1767 Merge branch 'macos-build' from kazzz 2018-01-14 17:29:59 +01:00
Matthias Koefferlein 390a5c11a8 Using OASIS files for smaller size as DRC golden data 2018-01-12 00:06:24 +01:00
Matthias Koefferlein 8003d1bb47 Merge branch 'master' into macos-build-on-master 2018-01-02 23:37:45 +01:00
Matthias Koefferlein ffb56335fb Updated copyright note to 2018. 2018-01-01 21:08:06 +01:00
klayoutmatthias 7e0f1522ac Windows build compatibility
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.

For Windows, the "dllexport" equivalent requires the template
instantiations to be declared "external" which is a coding nightmare.

The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
2018-01-01 18:55:11 +01:00
matthias 063811edc4 Solved the clang/MacOS startup failure and menu issue
1.) Startup issue:

This is solved by making sure templates with virtual functions
are made visible in the DSO. This way, dynamic_cast is possible
across DSO's.

Scary: clang/MacOS wants the forward declarations be declared visible as well.

2.) Menu issue:

The best solution is to have only one QMenuBar. The navigator
now gets a synthetic menu bar composed of QToolButtons.
2017-12-30 15:22:16 -08:00
Matthias Koefferlein 0cfc43d297 Fixed DRC tests - need OASIS normalization 2017-11-01 22:48:33 +01:00
Matthias Koefferlein cfe8375be0 Unit test refactoring
Move ut framework to tl, so there are less complex
dependencies.
2017-09-03 01:54:11 +02:00
Matthias Koefferlein 000917d2c9 Refactoring: moved unit tests to libraries for some libs (ut modularization) 2017-08-26 22:44:31 +02:00
Matthias Koefferlein be1b007f2f DRC tests integrated now + refactoring
Refactoring:
* more consistent behavior of output redirection
* ut library was refactored and split into several
  .h/.cc
* concept of long runners introduced
* long runners can be skipped with "test_is_long_runner()"
* same for editable/non-editable mode tests
2017-08-23 23:19:36 +02:00
Matthias Koefferlein e5c6bd9e29 Added DRC unit tests. 2017-08-23 11:53:44 +02:00
Matthias Koefferlein c0afa4bf58 Refactoring of resources and modules. 2017-08-23 09:58:39 +02:00