Commit Graph

103 Commits

Author SHA1 Message Date
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein 91b7d6a2df Fixed compatibility issue of MAG reader on Windows 2019-12-08 22:06:47 +01:00
Matthias Koefferlein 8916dd12a9 Small bugfix for MAG writer + tests. 2019-12-08 20:25:25 +01:00
Matthias Köfferlein 2fa545d80b
Merge pull request #435 from KLayout/issue-429
Issue 429
2019-12-02 21:15:05 +01:00
Matthias Köfferlein e061a0a932
Merge pull request #433 from KLayout/wip
Some enhancements
2019-12-02 21:14:35 +01:00
Matthias Koefferlein 904bbf15a1 Refinement of tech management and MAG reading
- The MAG reader now has access to the details of the proposed
  technology (set in KLayout), specifically inside library paths
  ($(tech_name), $(tech_dir)). This allows setting the MAG reader
  path relative to the technology path.
- If no specific technology is set before MAG files are read and
  the technology listed there is found in KLayout, KLayout will
  attach the layout to this technology.
2019-12-01 18:19:55 +01:00
Matthias Koefferlein baffb940d1 Implemented #429: final touches to doc and tests for RBA/pya API. 2019-12-01 16:41:27 +01:00
Matthias Koefferlein 152dc87682 Implemented a dummy arrangement of cells when the MAG output file isn't corresponding to a existing cell - useful for obtaining a cell overview 2019-12-01 10:13:11 +01:00
Matthias Koefferlein c49bc17e6a CIF writer: only layer names should be forced to upper case. Cell names don't need this. 2019-11-30 22:53:29 +01:00
Matthias Koefferlein 9eb09c3a5d Enhancements to implementation
- OASIS layers are turned into pure layer name (not lxdy_name) for
  MAG output
- Boxes of instances had been incorrect
- consistent naming of cell files in presence of special chars
2019-11-30 22:30:28 +01:00
Matthias Koefferlein f8743e7411 Added PearlRiver die Magic files as test case. 2019-11-30 21:16:31 +01:00
Matthias Koefferlein f16a5085c5 WIP: some implementation refinement
- MAG writer output name does not need to match a cell name
  (this file is not written in this case, but the path and extension
  are taken from it). A warning is issued in this case.
- Strings for layer and cell names are normalized (special chars, UTF8)
- Cell duplicates won't be produced but existing cells are reused.
  This enables "incremental reads".
2019-11-30 19:04:54 +01:00
Matthias Koefferlein c6ede46fd0 WIP: substantial changes
- force lower-case layer names to allow CIF/MAG loop (CIF needs
  upper-case layer names, MAG doesn't)
- reverted CIF reader to standard
- new options for writer: tech, "zero timestamp".
- file name MUST be consistent with one cell name.
  Reason: it's not possible to derive the initial
  cell from the given options, so without the file name
  being consistent, we can't know what to write there.
  Basically the file name rather supplies the path.
2019-11-30 00:09:44 +01:00
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 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 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 181d5b48e6 Fixed consistent typo: PCell's -> PCells 2019-11-17 21:47:11 +01:00
Matthias Koefferlein 56084b6b59 Merge branch 'dvb' 2019-09-08 20:07:16 +02:00
Matthias Koefferlein c95a0652cc First implementation of deep mode for XOR tool. 2019-09-07 22:30:10 +02:00
Matthias Koefferlein e2cc0c48b1 Provide flat and hierarchical 'trace all nets' feature, added Netlist#flatten. 2019-09-06 23:13:21 +02:00
Matthias Koefferlein f6492c80c5 Stream import: support multiple files
Multiple files can now be selected for "File/Import/Other Files into current".

NOTE: performance for many files may not be excellent
due to re-sorting of hierarchy and bounding box re-computation.
2019-08-26 22:28:35 +02:00
Matthias Koefferlein bceccd7ac0 Fixed issue #330 2019-08-21 00:38:57 +02:00
Matthias Koefferlein e9eed3842b Fix for layout query performance improvement: needs to check for qualified cell name (with lib), not pure cellname 2019-08-18 19:09:07 +02:00
Matthias Koefferlein 4f9208577b Added option to configure capture range. 2019-07-25 00:06:50 +02:00
Matthias Koefferlein 8f21cdf449 Fixed issue #305 (CIF reader issue with rotated boxes) 2019-07-21 22:57:02 +02:00
Matthias Koefferlein a4d2be7fbf Merge remote-tracking branch 'origin/master' into dvb 2019-06-19 23:14:27 +02:00
Matthias Koefferlein c7fe1cb189 Fixed #275 (don't write PCell context with OASIS)
The ability to disable PCell context on OASIS output
with the "write_context_info" option was added.
2019-06-16 16:48:30 +02:00
Matthias Koefferlein 13f4547789 More progress reporting, performance enhancements
Main performance enhancement: don't update layouts
between make_layer in DeepRegion
2019-06-09 09:40:45 +02:00
Matthias Koefferlein 9c6ed3e956 Merge remote-tracking branch 'origin/master' into dvb 2019-05-29 22:32:05 +02:00
Matthias Koefferlein 7b7e35d3d5 Fixed some compiler warnings. 2019-05-27 18:05:38 +02:00
Matthias Koefferlein bfe5c7c2b9 Fixed #265: put CIF at the end of the detection chain
The CIF format is kind of fuzzy and supports a high
degree of syntactic freedom. Hence the format detection
is not quite reliable. Do CIF as last resort.
2019-05-10 23:10:14 +02:00
Matthias Koefferlein 30fdb0089b Integration of netlist extractor with net tracer plugin (-> "trace all nets") 2019-05-05 22:30:07 +02:00
Matthias Koefferlein 2aaec56adb WIP: netlist browser - extended the net export scheme of build_net to support net annotation and flattening. 2019-05-03 23:33:37 +02:00
Matthias Koefferlein 4e15b3df92 Netlist browser: detailed info box. 2019-04-30 00:18:11 +02:00
Matthias Koefferlein eacd5fc19d Fixed some spelling errors (allow to, allows to) 2019-04-03 19:15:09 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
Matthias Koefferlein 5dc833970b Hierarchical implementation DRC functions (measurements) 2019-02-16 22:34:36 +01:00
Matthias Koefferlein d4d7ea8022 Updated copyright. 2019-01-08 01:09:25 +01:00
Matthias Koefferlein cbca1fb530 Cleaned up a namespace mess (db::Net was duplicated in NetTracer and db itself) - renamed to db::NetTracerNet, but better solution would be to rename db to something else in the plugin. 2019-01-05 22:39:52 +01:00