Matthias Koefferlein
3a7d9d0b0f
Fixed copyright/license topic.
2020-04-25 23:30:48 +02:00
Matthias Koefferlein
061e5d7286
Added LEF reading timer (LEF next to DEF)
2020-04-25 22:05:01 +02:00
Matthias Koefferlein
c602871e0e
Implemented Stefan's solution #3 for FOREIGN != MACRO in LEF
2020-04-25 21:08:11 +02:00
Matthias Koefferlein
f6140055d6
Modified reader scheme for FOREIGNCELL
2020-04-24 23:21:27 +02:00
Matthias Koefferlein
c7de542070
Some more refactoring of DEF layer mapping
2020-04-19 20:14:12 +02:00
Matthias Koefferlein
71906a5681
WIP: some further refactoring of the layer mapping scheme.
2020-04-19 19:12:03 +02:00
Matthias Koefferlein
040af426dc
WIP: refactoring of map file reading.
2020-04-19 16:54:41 +02:00
Matthias Koefferlein
e51f15b116
New layer flavors: special nets, LEF pins.
2020-04-19 14:38:14 +02:00
Matthias Koefferlein
9825245e0c
Implemented LEF MACRO FOREIGN
2020-04-19 12:16:55 +02:00
Matthias Koefferlein
d93ef3ff97
Timing reports for stream writers too, reporting file names for reader and writer timing.
2020-04-19 10:39:27 +02:00
Matthias Koefferlein
9a7f0a9c2a
Fixed a LEF/DEF reader bug (was '+ RECT' or '+ POLYGON' in SPECIALNETS)
2020-04-18 18:48:25 +02:00
Matthias Koefferlein
70d8334f8c
Merge branch 'lefdef-enhancments' of https://github.com/KLayout/klayout into lefdef-enhancments
2020-04-18 18:00:54 +02:00
Matthias Koefferlein
54cf57c772
LEF/DEF enhancements (via cellname suffix configurable, group separation disabled by default)
...
Two new reader options:
1.) via cell name prefix (default is "VIA_"). This name is put in front of the via name to form the cell cell name
2.) group separation disabled by default. Groups are not put into individual parent cells by default.
2020-04-18 17:58:50 +02:00
Matthias Koefferlein
921af52643
DEF reader bugfix: wasn't reading SPECIALNETS + ROUTED + RECT
2020-04-14 23:15:08 +02:00
Matthias Koefferlein
61714090e3
Maybe fixed performance issue: usually it's not a good idea to iterate the layout's hierarchy while deleting something from it.
2020-04-14 22:48:18 +02:00
Matthias Koefferlein
9c62bb015f
Include BLOCKAGE in map file LEF/DEF, becoming case insensitive for purpose
2020-04-05 23:56:43 +02:00
Matthias Koefferlein
3ada29d606
Some bugfixes for LEF/DEF reader for special nets (extension handling)
2020-04-05 23:49:19 +02:00
Matthias Koefferlein
df7c530013
Bugfix for the net reader of DEF - wasn't properly reading diagonal parts.
2020-04-05 22:56:04 +02:00
Matthias Koefferlein
cd801206bc
Some refactoring - DEF scanner more modular (5)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4757ad5044
Some refactoring - DEF scanner more modular (4)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dea3743d59
Some refactoring - DEF scanner more modular (3)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
9df6d29761
Some refactoring - DEF scanner more modular (2)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
99af144d98
Some refactoring - DEF scanner more modular
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
f11a3a0dd5
Bugfix: MINWIDTH ... WRONGDIRECTION wasn't considering DIRECTION VERTICAL
...
Added/updated some tests, some refactoring.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4a24b727d5
Tried to implement MINWIDTH .. WRONGDIRECTION in LEF58_MINWIDTH property
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
bcaf28c94c
Bugfix LEF/DEF reader: via needs to change the layer also if it's inside a DEF. Added more test cases.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
2c60338ae8
Added DO .. BY .. STEP to vias in SPECIALNETS in DEF reader, added one more private testcase
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
0ae97279d8
Added optional MASK specification to VIA's RECT and POLYGON elements
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
8796b65ddb
DEF reader patched: after via continue with the new metal layer with the width given by the rule.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
ee3ee5bd8e
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dd63b727f8
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
67a1c0ba25
Updated implementation of mapping file reader for LEF/DEF.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
e15d99e4da
LEF reader fix: determine routing layers for vias without VIARULE from involved layers
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
d328901799
DEF reader fix: TAPER has to disable NONDEFAULTRULE for the segment
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
44503facea
Attempt to auto-import .map files for LEF/DEF reader. Probably needs adjustment.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
99d3610a6a
Implemented #527 (wildcard layer mapping targets)
...
commit d77702cd86066f3a97d740a95923fa598c2ff07b
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 21:28:39 2020 +0100
Wildcard expansion feature on layer mapping
Finished feature, added doc and test.
The solution is to use placeholder indexes for the
layer mapping which are substituted by the real
layers when they are encountered.
commit af60b5f18acfe3c5e2f1d4e6bc6ee752a246dc0d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 19:11:32 2020 +0100
Preparations for new feature: introduce relative and wildcard target layer specs
2020-03-28 22:49:57 +01:00
Matthias Koefferlein
c10ccccdf7
Merge branch 'app-refactoring' into doc-args
2020-03-15 21:32:39 +01:00
Matthias Koefferlein
53c81cc572
Got rid of most of the @args
2020-03-14 21:50:47 +01:00
Matthias Koefferlein
04ae4d5d28
Updated fix (wasn't correctly representing some via pattern)
2020-03-02 00:20:15 +01:00
Matthias Koefferlein
cec1910bf0
Added tests.
2020-03-02 00:13:44 +01:00
Matthias Koefferlein
c9955d39a6
Fixed issue-517
2020-03-02 00:09:41 +01:00
Matthias Koefferlein
58de38739a
WIP: some refactoring, debugging output for netlist compare
...
Abstraction: a central getenv() feature to wrap all the system-specific things
Netlist compare debug and options can be enabled through environment variables:
KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE=1: print netlist compare debug info
KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH=1: print net grapg
KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE=1: make netlist compare case sensitive
2020-02-27 00:51:55 +01:00
Matthias Koefferlein
d01759aa60
Implemented #500 (limit number of shapes in net tracer)
2020-02-23 11:02:15 +01:00
Matthias Köfferlein
1992fc762a
Issue #489 (Pin names as shape properties) ( #507 )
...
* Fixed #489 (LEF/DEF reader provides pin names as properties)
* Removed vi swap file
* #489 fixed (LEF pins also get properties, added tests)
2020-02-23 00:29:12 +01:00
Matthias Koefferlein
68472e6e14
WIP: refactoring ongoing.
2020-02-07 01:27:24 +01:00
Matthias Koefferlein
0f69c24e79
WIP: avoids a segfault because of missing manager
2020-02-04 20:50:46 +01:00
Matthias Koefferlein
cc37ecfd17
Fixed titles of file dialogs.
2020-01-28 23:45:40 +01:00
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
Matthias Koefferlein
643e58f856
Merged PR #199 into pymod branch
2018-11-24 00:53:23 +01:00
Matthias Koefferlein
f4b2a015dc
Fixed #198 (DXF contour stitching renders fuzzy polygons)
2018-11-22 22:19:46 +01:00
Matthias Koefferlein
19a3f19378
Removed some misleading comments.
2018-10-09 21:24:23 +02:00