Commit Graph

1827 Commits

Author SHA1 Message Date
Matthias Koefferlein 9fb73a3928 A small enhancement for CIF / less ignorant reader
The change is to allow lower-case cell and layer names when they
are separated from the command with a blank. So

"Layername XZY;": "L" is the command, "ayername" is ignored

BUT:

"L xyz;": "xyz" is not part of the command, but the layername.

Same for "DS".

This is a deviation from the "standard", but a useful one. Otherwise
case sensitivity cannot be maintained anymore in a CIF/Magic loop.
2019-11-29 01:15:06 +01:00
Matthias Koefferlein 0796b20c2d Added a first test for Magic reader/writer 2019-11-29 01:14:41 +01:00
Matthias Koefferlein 3f9dd59593 WIP: MAG reader now is compliant with writer (and Magic I hope) 2019-11-29 00:25:28 +01:00
Matthias Koefferlein 3283219b0f WIP: writer functionality debugged and enhanced (triangles, correct arrays etc.) 2019-11-28 23:58:19 +01:00
Matthias Koefferlein cef868d774 WIP: ongoing development. 2019-11-28 01:03:25 +01:00
Matthias Koefferlein 11e3209d4a WIP: removed traces of CIF copy 2019-11-28 00:45:47 +01:00
Matthias Koefferlein 4ac5801cc7 WIP: Implementation draft of MAG file writer. 2019-11-28 00:20:30 +01:00
Matthias Koefferlein 5c217b90b5 WIP: starting MAG writer. 2019-11-27 22:33:50 +01:00
Matthias Koefferlein a980332c76 Fixed MAG reader (rlabels) 2019-11-26 23:38:23 +01:00
Matthias Koefferlein 6399f4693a Bugfixed MAG reader. 2019-11-26 23:03:55 +01:00
Matthias Koefferlein 814b8df516 DRC enhancement: allow @+ to create a new layout for output. 2019-11-26 23:03:44 +01:00
Matthias Koefferlein 211524a0c0 WIP: reader starts becoming functional. 2019-11-26 01:03:24 +01:00
Matthias Koefferlein aece8b299f WIP: generalized code. 2019-11-25 19:54:24 +01:00
Matthias Koefferlein 2acb66182a WIP: basic framework 2019-11-25 00:07:56 +01:00
Matthias Koefferlein 20976d7521 Avoid an error message on startup when Python/Ruby isn't enabled. 2019-11-24 00:36:46 +01:00
Matthias Koefferlein 7de90ae595 Merge branch 'issue-417' 2019-11-23 01:46:38 +01:00
Matthias Koefferlein 79f4f8bc57 Update unit test for issue-417 branch. 2019-11-23 01:45:56 +01:00
Matthias Koefferlein 2757b22da6 Resolved conflicts for issue-419 merge 2019-11-22 23:34:03 +01:00
Matthias Köfferlein a792cf4c1e
Merge pull request #424 from KLayout/issue-407
Issue 407
2019-11-22 23:12:44 +01:00
Matthias Köfferlein c5dc7c9fa8
Merge pull request #423 from KLayout/issue-415
Fixed #415 (text mode for XML reader and stream writer to avoid macro format confusion)
2019-11-22 23:12:31 +01:00
Matthias Köfferlein ac7e17ffcb
Merge pull request #422 from KLayout/issue-406
Issue 406
2019-11-22 23:12:16 +01:00
Matthias Köfferlein 9200e5037d
Merge pull request #421 from KLayout/issue-417
Fixed #417: look up the net in the parent hierarchy of the net shape …
2019-11-22 23:11:59 +01:00
Matthias Köfferlein c8cf8122b6
Merge pull request #414 from KLayout/issue-411
Issue 411
2019-11-22 23:11:24 +01:00
Matthias Köfferlein 319c73e6c0
Merge pull request #413 from KLayout/issue-408
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-22 23:11:05 +01:00
Matthias Köfferlein 967e8dc5b1
Merge pull request #412 from KLayout/issue_410
Fixed issue #410
2019-11-22 23:10:52 +01:00
Matthias Köfferlein b6869e4deb
Merge pull request #409 from KLayout/netlist_properties
Netlist properties
2019-11-22 23:10:39 +01:00
Matthias Koefferlein d37a744322 Build issue fixed on Windows. 2019-11-21 22:03:01 +01:00
Matthias Koefferlein 215ce8812b More consistent handling of Windows/Linux switch in output stream and unit tests. 2019-11-21 21:57:49 +01:00
Matthias Koefferlein 247bfa9ac5 Implemented #407 (variables in technology base path)
The implementation uses extrapolation of strings in the
"Expressions" framework.

There is how:
* $(tech_name) -> substituted by the technology name
* $(tech_dir) -> substituted by the directory the technology file is stored in
* $(tech_file) -> substituted by the absolute path to the tech file
* $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
* $(env('X')) -> substituted by the environment variable $X
2019-11-21 21:37:00 +01:00
Matthias Koefferlein 72a3528e55 WIP: implementation of a fix (explicit text mode for XML reader and stream writer) 2019-11-20 23:52:37 +01:00
Matthias Koefferlein 6648b53822 Fixed issue #419 (multiple top circuits after flatten of netlist)
The problem is solved by always producing subcircuits for cell
instances, even if there are no connections.

The netlist comparer had to be adjusted too because subcircuits
without pins were used for representing "unknown" subcircuit pairing.

In addition, this patch should lead to a better matching of
parallel subcircuit configurations where two different subcircuits
are entirely parallel.
2019-11-20 21:56:12 +01:00
Matthias Koefferlein f28b8e60c1 Fixed #417: look up the net in the parent hierarchy of the net shape clusters to find the net for the flattened netlist. 2019-11-19 23:22:40 +01:00
Matthias Koefferlein 6c7ceb74dc Enhanced intersections algorithm so that the generated points won't overlay with finite edges from the AND part 2019-11-19 21:19:36 +01:00
Matthias Koefferlein 9af662a512 WIP: try to avoid duplicate intersection points by eliminating those. Problem persists: intersection points may be duplicates of edges arising from AND 2019-11-18 23:14:24 +01:00
Matthias Koefferlein 24759c7174 WIP: first implementation. Testing needed. 2019-11-18 19:14:06 +01:00
Matthias Koefferlein 990961e5f4 Fixed #411 (multiple device extractors for same class) 2019-11-17 23:12:50 +01:00
Matthias Koefferlein 1131532e4f First implementation, needs testing. 2019-11-17 22:45:36 +01:00
Matthias Koefferlein 68c6941318 Fixed issue #408 (internal error after EdgePairs#polygon) 2019-11-17 22:32:02 +01:00
Matthias Koefferlein 147f2c1168 Fixed issue #410 2019-11-17 22:18:55 +01:00
Matthias Koefferlein 595075a88a Let the background ruler's size scale with the font size - otherwise it gets quite small on high-res screens. 2019-11-14 02:07:50 +01:00
Matthias Koefferlein 8dddc4000f Also write the net properties to GDS or OASIS
"build_nets" will now write the net's properties
to the generated net shapes.
This might enable interesting applications.
2019-11-13 23:09:09 +01:00
Matthias Koefferlein bb3aed5773 Merge branch 'master' of https://github.com/KLayout/klayout into netlist_properties 2019-11-13 00:59:29 +01:00
Matthias Koefferlein 876487edde Added persistency of the netlist object properties into L2N/LVSDB files 2019-11-13 00:06:29 +01:00
Matthias Koefferlein d060147713 Enhancements for the netlist object properties
- more memory efficient (single pointer only)
- iterator for properties
- NetlistObject#property_keys in GSI
2019-11-12 23:00:49 +01:00
Matthias Koefferlein 6d6ac23f50 Fixed a build issue (const iterator cannot be used in std::map::erase) 2019-11-12 20:55:28 +01:00
Matthias Koefferlein 7309688944 More robustness of snap algorithm for unit tests 2019-11-12 20:13:35 +01:00
Matthias Koefferlein 6b5c951088 Fixed string unit test on MinGW 32bit 2019-11-12 19:11:21 +01:00
Matthias Koefferlein 3bf45f3638 Fixed MSVC build error. 2019-11-11 23:23:47 +01:00
Matthias Koefferlein 86e041cd51 Updated test data. 2019-11-11 23:03:40 +01:00
Matthias Koefferlein b7094affa4 Fixed a dummy error message on Windows/Python 3.7 and really ignore 2019-11-11 21:53:19 +01:00