Matthias Koefferlein
1251fb2cd6
Added < and > to allowed chars for net names in Spice reader
2019-07-13 08:50:13 +02:00
Matthias Koefferlein
e8ff8156a0
fix for #264
...
1. Errors in coerce_parameters are now shown as
red label + warning icon in the parameters dialog
2. Errors during produce are always logged now
Plus: the scroll bars of the PCell parameters page
don't jump back on "Apply".
2019-07-12 21:13:18 +02:00
Matthias Koefferlein
c7e883cdb2
SPICE reader now assigned net names as pin names.
2019-07-12 19:00:27 +02:00
Matthias Koefferlein
f66b094e88
Merge branch 'dvb' into dvb_test
2019-07-12 17:44:11 +02:00
Matthias Koefferlein
d109a22cf5
Renaming (distro nodes->virtual nodes)
2019-07-11 23:20:42 +02:00
Matthias Koefferlein
e32ee570c7
Alternative algorithm for subcircuit matching - tests updated, refactoring
2019-07-11 23:19:02 +02:00
Matthias Koefferlein
7bc4acd8f6
WIP: new version of subcircuit match algorithm - needs refactoring.
2019-07-11 23:14:53 +02:00
Matthias Koefferlein
0d9273aaf6
WIP: new subcircuit match algorithm
2019-07-11 00:16:36 +02:00
Matthias Koefferlein
2f01c7a0bd
WIP: other algorithm for handling subcircuits in netlist compare
2019-07-10 23:40:16 +02:00
Matthias Koefferlein
67f786035c
WIP: during refactoring
2019-07-10 00:32:53 +02:00
Matthias Koefferlein
cef96902ad
Boundary for circuits, reverted automatic generation of global pins
...
- global pins have been generated for device cells too and lead
to implicit pins which may not be desired. The original problem
was how to make abstract circuits comparable. This has to be
solved differently.
- Circuit boundaries are good for displaying the boxes for
abstract circuits
2019-07-09 19:55:48 +02:00
Matthias Koefferlein
0c6ead6f90
WIP: introduced boundary into L2N format so we have something to display for abstracts.
2019-07-09 01:18:23 +02:00
Matthias Koefferlein
c9e08c4500
WIP: propagate global nets to parent hierarchy even if there is no shape inside the cell.
2019-07-08 23:11:35 +02:00
Matthias Koefferlein
bdb8a7bcc2
WIP: reverted modifications on SPICE reader.
2019-07-08 21:51:59 +02:00
Matthias Koefferlein
9625caea65
WIP: added full LVS test.
2019-07-08 21:43:06 +02:00
Matthias Koefferlein
b48453633f
WIP: some fixes and small enhancements. New tests.
2019-07-08 00:09:10 +02:00
Matthias Koefferlein
993ef78575
WIP: some cleanup/enhancement
...
General topic: abstracts and swappable pins.
Issue: we work bottom up and assign pins. This is the
basis for net graph building. But swappable means those
pins can change. The compare works fine, but debugging
output is strange: as the pin assigned is fixed, the nets
found to be attached to a circuit might not fit any
proposed pin pair (which does not contain swapping).
The problem gets worse with abstracts.
The enhancements are
- Such cases generate only warnings in the browser
and the message says swapping might be the case
- Floating nets are treated differently. This should
lead to a better performance for abstracts/black boxes,
but in case of disconnected pins (due to wire errors),
floating nets happen to create mismatches in the nets above.
- Net graph building does not consider swappable nets. In
case of two swappable pins this wouldn't be an issue, but
for more than two this would create ambiguities and
prevent topological matching.
Plus: Debug output option for net graph
Tests updated
2019-07-07 18:17:14 +02:00
Matthias Koefferlein
ace0788f85
WIP: Spice reader reads pin names from nets
2019-07-07 00:05:22 +02:00
Matthias Koefferlein
0e5ecdc36b
Attempt to make LVS compare output a little more predictable with boundary cases
...
- For unattached subcircuit pins no error should be reported
- For abstract nets, graph propagation through subcircuit pins isn't attempted.
Abstract nets are only dummy-associated currently.
2019-07-06 23:40:49 +02:00
Matthias Koefferlein
903b1f7505
WIP: fixed 'equivalent_pins'
2019-07-06 21:47:25 +02:00
Matthias Koefferlein
5ce8dd2684
WIP: added circuit blankout.
2019-07-06 19:50:20 +02:00
Matthias Koefferlein
71777670de
Fixed unit tests.
2019-07-04 01:24:19 +02:00
Matthias Koefferlein
5e70f4fa03
Fixed an edit bug.
2019-07-04 01:18:25 +02:00
Matthias Koefferlein
07ae488652
WIP: bugfix - don't uppercase file names in SPICE .include, typos fixed.
2019-07-04 00:57:52 +02:00
Matthias Koefferlein
66a9fa41e7
WIP: added more docs, confine BJT combination to emitter parameters.
2019-07-02 21:09:32 +02:00
Matthias Koefferlein
f931b6a1c1
Bugfix: avoid an assertion in the netlist browser
...
Reason: when a circuit does not have pins and is top level,
but the reference has pins, the reference pins are regarded
to match against (nil). This case has to be reported properly,
otherwise the model can't be built consistently.
2019-07-02 00:01:11 +02:00
Matthias Koefferlein
ef1441e546
WIP: fixed unit tests.
2019-06-28 17:08:04 +02:00
Matthias Koefferlein
6ed3838baf
WIP: fixed an edit failure
2019-06-28 14:43:52 +02:00
Matthias Koefferlein
80d86cc425
WIP: netlist browser - allow switching between L2N and LVSDB view
2019-06-28 11:27:43 +02:00
Matthias Koefferlein
910a36b83d
WIP: better matching of subcircuits - attempt to map them even if not identical. This hopefully makes solving subcircuit connection problems easier.
2019-06-28 11:05:43 +02:00
Matthias Koefferlein
3310d34cf3
WIP: better tooltips and comments for LVS browser.
2019-06-27 00:14:18 +02:00
Matthias Koefferlein
955d21a656
WIP: case insensitive compare of netlists (after reading Spice, the names are caseless)
2019-06-26 20:58:42 +02:00
Matthias Koefferlein
0cbfa698f0
WIP: debugging, development
...
- LVS DSL debugging, enhancements
- Allow polygons with holes in L2N
- Spice Reader: was creating too many class objects
- Device class categorizer: allow associating A->C,B-C
- ...
2019-06-26 20:41:49 +02:00
Matthias Koefferlein
37012efba0
WIP: fixed unit tests, bug fix in DeepRegion -> and and not shall return a DeepRegion always.
2019-06-24 20:56:20 +02:00
Matthias Koefferlein
624811d55e
WIP: fixed a basic issue with empty layers
...
Previous: empty layers occupied a special layer in the DSS
But what when empty layers are required as outputs?
ONE layer isn't good -> would overwrite the layer and it's
no longer empty for others.
So we need to keep the layers separate.
2019-06-23 23:44:15 +02:00
Matthias Koefferlein
464a1f35fb
WIP: enhancements to DRC DSL for net extraction, some bug fixes in L2N browser etc.
2019-06-23 23:23:36 +02:00
Matthias Koefferlein
717e7ca0ab
WIP: Fixed Spice reader/writer delegate, tests.
2019-06-23 00:08:49 +02:00
Matthias Koefferlein
a1a0b62a10
WIP: doc fixes, added Netlist::simplify as convenience method
2019-06-22 22:18:55 +02:00
Matthias Koefferlein
621c3f74ed
WIP: reader delegate - GSI binding, tests.
2019-06-22 22:03:32 +02:00
Matthias Koefferlein
343e340e22
WIP: SPICE reader delegate, unit tests + debugging
2019-06-22 19:44:33 +02:00
Matthias Koefferlein
d174fb73fd
WIP: preparations for SPICE reader delegate.
2019-06-22 18:37:32 +02:00
Matthias Koefferlein
46dafd50ea
WIP: unit tests updated
2019-06-22 10:15:32 +02:00
Matthias Koefferlein
847f60947d
WIP: BJT - don't place base and emitter terminals over each other.
2019-06-22 02:19:49 +02:00
Matthias Koefferlein
9647c94c68
WIP: added NE parameter for BJT3/4, AE and NE are primary parameters now.
2019-06-21 23:41:08 +02:00
Matthias Koefferlein
6f6b9e898b
WIP: reduced number of warnings with clang
2019-06-21 23:22:42 +02:00
Matthias Koefferlein
a4d2be7fbf
Merge remote-tracking branch 'origin/master' into dvb
2019-06-19 23:14:27 +02:00
Matthias Köfferlein
2ef403e0ac
Merge pull request #282 from KLayout/issue-281
...
Fixed #281 (proper reporting of width/space violations in the kissing…
2019-06-18 18:44:41 +02:00
Matthias Koefferlein
03bc7e7d9a
Fixed non-Qt build.
2019-06-18 01:13:41 +02:00
Matthias Koefferlein
303cda6981
Fixed #277 (min_coherence not recognized by region size)
2019-06-17 21:40:37 +02:00
Matthias Koefferlein
2389d2b391
Fixed #281 (proper reporting of width/space violations in the kissing-corner case)
2019-06-17 20:48:07 +02:00
Matthias Koefferlein
0794290fb5
WIP: added RBA basic tests for device extractors.
2019-06-15 21:48:02 +02:00
Matthias Koefferlein
a91c3d3a4e
WIP: fixed BJT4 class, added RBA tests for new device classes.
2019-06-15 21:11:15 +02:00
Matthias Koefferlein
e939d51104
WIP: BJT4 device, more parameters for resistor (W,L), BJT devices for Spice writer, tests updated
2019-06-15 18:22:04 +02:00
Matthias Koefferlein
1b2a611d83
WIP: diode extraction test.
2019-06-15 09:34:04 +02:00
Matthias Koefferlein
c717eb1efa
WIP: fixed RBA unit tests.
2019-06-15 00:01:40 +02:00
Matthias Koefferlein
0b5db06ca8
WIP: tests for BJT extraction
2019-06-14 23:45:04 +02:00
Matthias Koefferlein
4212a783a5
WIP: test cases for device extractors R/C with bulk
2019-06-14 21:21:11 +02:00
Matthias Koefferlein
020b874083
WIP: more device classes - unit tests for classes
2019-06-14 20:41:38 +02:00
Matthias Koefferlein
a979b669db
WIP: new device classes
2019-06-14 19:08:09 +02:00
Matthias Koefferlein
3569ce391c
Fixed implementation of duplicate instance removed
2019-06-13 15:52:36 +02:00
Matthias Koefferlein
0d623bc57a
Avoid netlist extraction issues with duplicate instances
...
So far, duplicate instances have lead to net propagation
into parent cells and floating nets. This is fixed by ignoring
duplicate instances where possible.
2019-06-13 13:33:28 +02:00
Matthias Koefferlein
8e1dadbe59
Updated golden data of unit tests.
2019-06-13 09:02:47 +02:00
Matthias Koefferlein
ebd00c186b
Enhancements for net export feature
...
- some refactoring
- better performance (was slow because layer iteration
was done outside of loop and recursive cluster iterator)
- with selected nets, only the required hierarchy is
produced. For this a new argument is added to
LayoutToNetlist::create_cell_mapping (nets) which
allows selecting the nets for which a cell mapping
is requested
2019-06-12 22:55:24 +02:00
Matthias Koefferlein
a64726e5aa
Performance enhancement of netlist model (issue was sorting by expanded name)
2019-06-09 10:05:45 +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
7c220c63e1
Functional netlist hierarchy tree.
2019-06-06 01:36:07 +02:00
Matthias Koefferlein
577edea08b
Added tree model for netlist hierarchy browser (LVS/L2N)
2019-06-01 22:38:27 +02:00
Matthias Koefferlein
9c898f536b
Merge branch 'dvb' into dvb_enhancements
2019-05-31 23:00:40 +02:00
Matthias Koefferlein
7d6237a90a
Unescaping of net names on Spice reader -> writer/reader should be self-compatible.
2019-05-31 22:55:09 +02:00
Matthias Koefferlein
985cffc099
Unique net names for Spice netlist writer
2019-05-31 22:19:51 +02:00
Matthias Koefferlein
9409cfce5c
Some more fixes for gcc 4.4.7 :)
2019-05-31 00:36:14 +02:00
Matthias Koefferlein
c684633dd6
Some enhancements for netlist extraction and writer
...
* Spice writer can now be configure to skip the debug
comments
* < and > are allowed chars in spice names now
* global net names have second prio over labels now
2019-05-31 00:11:28 +02:00
Matthias Koefferlein
98207cb454
Another fix for gcc 4.4.7
2019-05-30 23:45:27 +02:00
Matthias Koefferlein
e9cc9345f1
Fixed build on gcc 4.4.7
2019-05-30 22:53:27 +02:00
Matthias Koefferlein
d4634f8620
Try to establish reproducability of clock tree compare test.
2019-05-30 07:12:49 +02:00
Matthias Koefferlein
9c6ed3e956
Merge remote-tracking branch 'origin/master' into dvb
2019-05-29 22:32:05 +02:00
Matthias Koefferlein
1935ee7ff9
Tried to fix unit tests for MSVC
2019-05-29 22:09:39 +02:00
Matthias Koefferlein
dea2b76dc8
Added unit tests for res and cap device extractors.
2019-05-29 21:35:02 +02:00
Matthias Koefferlein
3b3791204d
Fixed two more unit tests and renamed new 'define_layer' to 'define_opt_layer' for disambiguation
2019-05-29 01:22:11 +02:00
Matthias Koefferlein
10667d8e35
Bugfixed last commit, fixed unit tests.
2019-05-29 00:51:42 +02:00
Matthias Koefferlein
9d01cb5282
Some updates (res/cap device ex, flatten preserved geometry)
...
- Two new device extractors for resistors and caps
(two-terminal only)
- R and C device classes have A and P parameters now
- A generic concept to supply terminal output layers
for device extractors (tX).
- Converted offset to transformation for devices:
this was required to make circuit flattening preserve
the geometry (transformation of devices)
L2N/LVSDB formats have been extended for this.
2019-05-29 00:10:10 +02:00
Matthias Koefferlein
759cc835d9
Added LayoutToNetlist test for pya.
2019-05-27 20:28:48 +02:00
Matthias Koefferlein
7b7e35d3d5
Fixed some compiler warnings.
2019-05-27 18:05:38 +02:00
Matthias Koefferlein
2bf3f3d5c9
Fixed unit tests, bug fixes in netlist DB model.
2019-05-26 18:28:35 +02:00
Matthias Koefferlein
eb81a7e5a6
GSI binding of LVS objects.
2019-05-26 09:01:21 +02:00
Matthias Koefferlein
89cbe930ae
WIP: GSI binding of LVS framework, tests and debugging
2019-05-26 01:37:45 +02:00
Matthias Koefferlein
14bc72039e
WIP: integration of LVSDB into LayoutView (GSI)
2019-05-25 23:22:24 +02:00
Matthias Koefferlein
58b9cfa3c5
WIP: corrected some bugs in the GSI binding of LVS objects.
2019-05-25 22:59:52 +02:00
Matthias Koefferlein
09fe41294b
WIP: GSI binding for LayoutVsSchematic and NetlistCrossReference.
2019-05-25 22:33:35 +02:00
Matthias Koefferlein
3269c4cd15
WIP: further debugging of crossref model + tests.
2019-05-23 00:06:37 +02:00
Matthias Koefferlein
57f9efa611
WIP: debugged cross-reference model
2019-05-22 23:47:38 +02:00
Matthias Koefferlein
f1fc16d55f
WIP: LVS DB model
2019-05-22 00:46:15 +02:00
Matthias Koefferlein
252622e3f8
Fixed unit tests, support floating pins for netlist compare
2019-05-20 23:48:07 +02:00
Matthias Koefferlein
625b173379
Reworked l2n and lvsdb format such that reading/writing gets more reproducible: maintain unnamed state of devices, subcircuits and pins
2019-05-20 22:33:23 +02:00
Matthias Koefferlein
834dcc7474
WIP: LVSDB reader/writer fixes
2019-05-19 23:42:31 +02:00
Matthias Koefferlein
ea8320dcf8
WIP: LVSDB reader/writer: bugfixes, refactoring, tests.
2019-05-19 22:55:03 +02:00
Matthias Koefferlein
81e512e1cd
WIP: Debugging of LVS DB writer
2019-05-19 10:13:20 +02:00
Matthias Koefferlein
b2fee5da3d
WIP: LVS DB writer.
2019-05-19 00:34:14 +02:00
Matthias Koefferlein
bee662eea8
WIP: refactoring of LVS/L2N DB readers
2019-05-18 22:24:58 +02:00
Matthias Koefferlein
c09db62cf6
Supply a base class binding for netlist compare event receivers
2019-05-18 22:24:35 +02:00
Matthias Koefferlein
3a11951175
WIP: LVS DB structure, reader
2019-05-18 21:39:54 +02:00
Matthias Koefferlein
d006d0c91e
WIP: some refactoring
2019-05-17 21:49:40 +02:00
Matthias Koefferlein
65ea72c569
WIP: netlist cross reference - refactoring of sorting, more robust
2019-05-16 23:26:49 +02:00
Matthias Koefferlein
95caca1dd5
WIP: netlist cross reference - tests and bugfixes
2019-05-16 22:43:28 +02:00
Matthias Koefferlein
924daa65b7
WIP: tests for netlist cross ref.
2019-05-16 00:09:06 +02:00
Matthias Koefferlein
56f6143e4f
Added RBA::Technology#clear_technologies
2019-05-10 23:24:04 +02:00
Matthias Koefferlein
6f689863b6
Fixed MSVC build, fixed unit tests.
2019-05-10 21:09:19 +02:00
Matthias Koefferlein
0f0dd42b4d
Refactoring and GSI binding for combined device interface.
2019-05-10 18:32:05 +02:00
Matthias Koefferlein
675a96eb9e
WIP: some refactoring.
2019-05-10 00:40:49 +02:00
Matthias Koefferlein
dda7ee8b60
WIP: a small refactoring.
2019-05-10 00:18:58 +02:00
Matthias Koefferlein
ea28530c55
L2N: combined device persistance (complex concept - needs simplification?)
2019-05-10 00:15:51 +02:00
Matthias Koefferlein
db1e813635
WIP: combined devices and geometry/L2N DB representation. Yet to do: device cell transformation beyond vector?
2019-05-09 01:07:54 +02:00
Matthias Koefferlein
9a361ee234
WIP: Support for combined devices
2019-05-08 00:14:08 +02:00
Matthias Koefferlein
1dbb25b2e8
Some refactoring (reuse cell context cache)
2019-05-06 01:54:10 +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
c33fd40ec9
Switched l2n format to relative mode by default (relative mode is an option and maybe shorter)
2019-05-04 23:06:18 +02:00
Matthias Koefferlein
bc26e32a68
WIP: netlist browser
2019-05-04 18:48:57 +02:00
Matthias Koefferlein
548f16f1df
WIP: tried to provide a more consistent net building feature (here: building hierarchical nets with properties as net annotation - needs cell variants if properties are assigned to subcells too)
2019-05-04 00:37:38 +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
e661bac0a7
Netlist browser: fixed a segfault on 'unload all'
2019-04-28 22:57:06 +02:00
Matthias Koefferlein
7f9da5e8de
Introduced concept of device class templates
...
This concept allows to persist at least the standard
(built-in) device classes into L2N DB files. This way
device classes are persisted.
2019-04-23 19:44:07 +02:00
Matthias Koefferlein
5b8a9cf49c
WIP: netlist browser
2019-04-22 01:25:48 +02:00
Matthias Koefferlein
ae9064021c
WIP: netlist browser.
2019-04-21 10:41:20 +02:00
Matthias Koefferlein
20b984cc50
Naming of layers isn't required anymore for connect et al: names are given automatically now.
2019-04-20 20:30:12 +02:00
Matthias Koefferlein
8121f70e65
Netlist compare: Net mismatches reported if nets don't match but we still will proceed
2019-04-18 00:01:21 +02:00
Matthias Koefferlein
e73c853873
Another fix for CenOS6 builds.
2019-04-17 07:24:31 +02:00
Matthias Koefferlein
42cb95188d
Fixed build issue on CentOS6
2019-04-16 20:48:58 +02:00
Matthias Koefferlein
197d99ab62
Unit test fixed.
2019-04-16 07:10:34 +02:00
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
3ebdfa83f9
Netlist compare: successfully applied the netlist compare to a bigger example.
2019-04-14 19:38:31 +02:00
Matthias Koefferlein
9f3bea92fb
WIP: less strict pin matching (for top levels with/without pins). Fixed tests.
2019-04-14 19:22:07 +02:00
Matthias Koefferlein
699e94a45f
WIP: added configuration options (complexity, depth) for net compare
2019-04-14 19:11:42 +02:00
Matthias Koefferlein
92524dcf57
WIP: netlist compare - bugfixed latest version and updated tests.
2019-04-13 19:56:08 +02:00
Matthias Koefferlein
4e85ae7db0
WIP: netlist compare (better backtracking)
2019-04-13 02:48:10 +02:00
Matthias Koefferlein
e855d8df35
WIP: fixed unit tests.
2019-04-12 00:31:48 +02:00
Matthias Koefferlein
187baf2941
WIP: enhanced backtracking of netlist compare.
2019-04-12 00:15:36 +02:00
Matthias Koefferlein
e03a524fcf
WIP: netlist compare, bug fixes.
2019-04-11 00:47:36 +02:00
Matthias Koefferlein
c0b1c4f775
WIP: enhanced backtracking for netlist compare
2019-04-11 00:13:19 +02:00
Matthias Koefferlein
f34d161e2f
WIP: new backtracking algorithm for net matching.
2019-04-09 23:13:40 +02:00
Matthias Koefferlein
a3edd95f94
WIP: new backtracking algorithm for net matching.
2019-04-09 22:31:03 +02:00
Matthias Koefferlein
6b6cc5a34f
WIP: network compare, debugging output.
2019-04-09 16:44:47 +02:00
Matthias Koefferlein
2e9422a753
Netlist compare: a little less freedom when picking derived net pairs ...
2019-04-08 21:32:41 +02:00
Matthias Koefferlein
7cdd40dabb
Netlist compare: more detailed derivation of net assignments from known nets (pairing by deduction)
2019-04-08 21:21:34 +02:00
Matthias Koefferlein
be35646c24
Spice reader/writer: more consistent with respect to allowed characters now.
2019-04-08 21:20:22 +02:00
Matthias Koefferlein
c0bf5d955c
Removed a debug statement.
2019-04-07 11:49:59 +02:00
Matthias Koefferlein
c474fa6550
Bugfix: Spice reader needs to transform length units to micrometer
2019-04-07 11:09:08 +02:00
Matthias Koefferlein
f6836b96a2
WIP: some enhancements
...
Spice writer: don't prefix model name with "M"
Added "device_class_mismatch" message to netlist compare
Assertion if device classes or circuits are nil on
"same_..."
2019-04-07 10:15:57 +02:00
Matthias Koefferlein
df2bd5e80a
Netlist: flatten subcircuits, circuits
2019-04-06 23:36:08 +02:00
Matthias Koefferlein
18ee59023e
Speedup of Spice format netlist reader
2019-04-06 21:14:25 +02:00
Matthias Koefferlein
8f1db684c0
Fix: account for rounding errors when doing default compare of device parameters.
2019-04-06 20:33:29 +02:00
Matthias Koefferlein
aad52b77ba
Netlist compare: added the ability to filter small caps and high resistance devices
2019-04-06 19:46:13 +02:00
Matthias Koefferlein
da5680ef24
Netlist compare: configurable device parameter compare scheme.
2019-04-06 15:19:43 +02:00
Matthias Koefferlein
43f65e4d29
Added tests for GSI binding of dbNetlistCompare
2019-04-06 00:18:37 +02:00
Matthias Koefferlein
c5a56dbc5f
WIP: GSI binding for netlist comparer.
2019-04-04 23:41:46 +02:00
Matthias Koefferlein
52fb8b0f65
Merge remote-tracking branch 'remotes/origin/master' into dvb
2019-04-04 07:35:43 +02:00
Matthias Koefferlein
eacd5fc19d
Fixed some spelling errors (allow to, allows to)
2019-04-03 19:15:09 +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
Matthias Koefferlein
89ffd7e3da
WIP: Simple SPICE reader.
2019-04-01 22:46:33 +02:00
Matthias Koefferlein
9613ad72c8
WIP: netlist compare - using it for more tests
...
Issue solved: some circuit pins may not have a net - these
need to be ignored.
Requirement: all pins with a net must be mapped.
Detached pins are not present in the mapping table.
A dummy mapping table was introduced to allow dropping
of pins in the second circuit too.
Output of compare should not depend on memory location
anymore and pin mismatch reporting should include all
pins.
2019-03-31 23:59:43 +02:00
Matthias Koefferlein
06e326dfd9
WIP: netlist compare - some more tests by netlist compare. Needs fixing.
2019-03-31 19:00:42 +02:00
Ruben Undheim
5d26cf4c77
Spelling errors in code and comments fixed
2019-03-31 15:25:18 +00:00
Matthias Koefferlein
b391b4510f
WIP: can compare empty circuits now
...
Empty circuits play a role as abstracts. They
are compared by using the pin names the nets
are attached to. The implementation change is:
* nodes without device terminals or subcircuit pins
are compared through their net properties (count
and name of pins attached)
* some enhancements of the net string serializer
have been made to account for pin name mismatches.
2019-03-31 09:53:51 +02:00
Matthias Koefferlein
2452c72d2d
WIP: netlist compare deployed for netlist extractors
...
Some enhancements were required:
* Clusters left over from joined clusters must not be
turned into nets: this leads to dummy nets.
* null Nets can happen as targets of edges. Don't assert
in this case but treat null nets as identical for both
netlists.
* Don't resolve ambiguous nets if there are options to
do this non-ambiguously.
* logger can be null
* Added compare_netlists to dbTestSupport
2019-03-30 23:04:57 +01:00
Matthias Koefferlein
f06d435b05
WIP: netlist comparer - moved into it's own files.
2019-03-29 00:37:45 +01:00
Matthias Koefferlein
e8d59504dd
WIP: netlist compare - forced matching of circuits.
2019-03-29 00:13:13 +01:00
Matthias Koefferlein
d255617051
WIP: netlist compare - tests for device class equivalence mapping, added Netlist#device_class_by_name
2019-03-28 18:01:22 +01:00
Matthias Koefferlein
cefd6e91cf
WIP: some refactoring, netlist compare. Goal: support explicit device class and circuit mapping.
2019-03-27 23:17:35 +01:00
Matthias Koefferlein
b44a55d901
WIP: netlist compare - pin swapping.
2019-03-26 23:38:36 +01:00
Matthias Koefferlein
46cd80d606
WIP: netlist compare - terminal swapping of devices.
2019-03-26 22:05:08 +01:00
Matthias Koefferlein
e0cb3f6303
WIP: netlist compare - subcircuit matching enhanced.
2019-03-26 20:54:49 +01:00
Matthias Koefferlein
93d2341bc7
WIP: netlist compare
2019-03-26 00:10:10 +01:00
Matthias Koefferlein
fec2348d97
WIP: Net compare.
2019-03-25 23:26:46 +01:00
Matthias Koefferlein
1a30a3919d
WIP: Net compare with subcircuits.
2019-03-25 22:14:16 +01:00
Matthias Koefferlein
55052038ea
WIP: netlist compare
2019-03-24 21:14:08 +01:00
Matthias Koefferlein
bb2d3765b8
WIP: netlist compare, ambiguous net resolution, device mapping.
2019-03-24 00:45:58 +01:00
Matthias Koefferlein
25b7ab9dab
WIP: netlist comparer
2019-03-23 10:31:29 +01:00
Matthias Koefferlein
7042cdb98b
Ported netlist normalization for #246 merge (unit test compatibility windows/linux)
2019-03-22 21:54:45 +01:00
Matthias Köfferlein
d1acd722ad
Merge pull request #246 from KLayout/issue-245
...
Issue 245
2019-03-22 21:49:39 +01:00
Matthias Koefferlein
4e63b38092
Further normalization of Spice test files (unit tests)
2019-03-22 21:47:52 +01:00
Matthias Köfferlein
85808527c6
Merge pull request #244 from KLayout/issue-241
...
Fixed issue-241 (no TextGenerator.default_generator for pymod)
2019-03-22 17:52:22 +01:00
Matthias Koefferlein
5dfc609724
Normalize netlists before compare for windows/linux compatibility.
2019-03-22 17:51:37 +01:00
Matthias Koefferlein
522156b467
Renamed generated .cc files (fonts, glyphs) so they don't need to be excluded in pymod builds.
2019-03-22 07:26:51 +01:00
Matthias Koefferlein
e545d6af3f
Refined solution for issue-245 by providing a better name mapping (checked with ngspice)
2019-03-22 00:05:17 +01:00
Matthias Koefferlein
9356f32026
Fixed issue-245 (support Spice netlist with names instead of numbers)
...
The option is in the Spice writer (writer.use_net_names=true).
2019-03-21 23:34:16 +01:00
Matthias Koefferlein
69282f8fef
Fixed issue-241 (no TextGenerator.default_generator for pymod)
...
The issue was there because the fonts got imported
through Qt Resources. But in pymod there is no Qt.
The solution is to import them though compiled-in
blobs.
2019-03-21 23:11:52 +01:00
Matthias Koefferlein
e424a88c90
WIP: netlist compare algo
...
1.) Can identify transistor netlists without subcircuits
2.) Ambiguities stay unresolved
Next steps: assign ambiguous nets one by one and continue
in case of ambiguitites.
2019-03-21 22:13:23 +01:00
Matthias Koefferlein
c568838bbe
WIP: netlist compare
2019-03-20 23:00:43 +01:00
Matthias Koefferlein
2d4f23abd1
Updated tests.
2019-03-19 00:08:47 +01:00
Matthias Koefferlein
d7eb9162ce
WIP: unified to_string/to_parsable_string of db::Netlist, step 1
2019-03-18 19:28:20 +01:00
Matthias Koefferlein
e4078ca750
String serialization for netlists.
2019-03-18 02:00:33 +01: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
57fb764f16
Removed ambiguity for 64bit coordinate builds.
2019-03-12 00:09:52 +01:00
Matthias Koefferlein
01ff0684f2
Tried to fix a compiler issue on CentOS6
2019-03-11 21:33:33 +01:00
Matthias Koefferlein
21f8ba6f35
Tried to fix CentOS6 build fails.
2019-03-11 07:38:51 +01:00
Matthias Koefferlein
6e93942c5b
Fixed build for CentOS6
2019-03-11 07:15:58 +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
ab8107de2d
Bugfix: Spice writer needs 'P' suffix for source/drain area of MOS
2019-03-10 01:26:52 +01:00
Matthias Koefferlein
5ea8c56db3
A minor doc fix.
2019-03-09 23:23:45 +01:00
Matthias Koefferlein
37cc84908e
Updated test because of edge pair normlization
2019-03-09 20:25:45 +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
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
c07d7e92d4
Fixed three compiler warnings.
2019-03-04 17:58:40 +01:00
Matthias Koefferlein
bacd565d05
Bugfix: Spice writer added one pin too much to MOS4 transistors.
2019-03-04 17:26:35 +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
261fb027fd
GSI binding of antenna check function + tests.
2019-03-02 00:38:51 +01:00
Matthias Koefferlein
8d3b94201e
Antenna check: tests added, 'catchall' diode protection
2019-03-01 23:07:28 +01:00
Matthias Koefferlein
9f4f2d58d7
First version of antenna check.
2019-02-28 23:56:49 +01:00
Matthias Koefferlein
f83278207c
WIP: don't keep a reference to DeepLayer inside DeepShapeStore - that's against the design.
2019-02-28 22:42:40 +01:00
Matthias Koefferlein
4035c804b7
WIP: fixed bugs, added tests.
2019-02-28 22:23:20 +01:00
Matthias Koefferlein
fccdee5186
WIP: provisions for DRC/network extractor integration.
2019-02-28 00:55:06 +01:00
Matthias Koefferlein
36a3540e16
Allow empty regions for device extractor.
2019-02-25 23:51:21 +01:00
Matthias Koefferlein
21ea37f747
Updated test golden data.
2019-02-25 22:52:37 +01:00
Matthias Koefferlein
9b31bd3214
Fixed crash by introducing a new scheme for storing cluster refs
...
The previous implementation was based on the Instance
pointers, but these got invalidated during device cell
construction. Now an explicit copy of the instance is
kept.
2019-02-25 22:36:24 +01:00
Matthias Koefferlein
d4ed21f42a
Just new tests
2019-02-25 22:34:06 +01:00
Matthias Koefferlein
3c6aafcc0c
Region: hierarchical text object detection implementated.
2019-02-23 00:56:55 +01:00
Matthias Koefferlein
c7b17fb65a
Merged master into dvb branch
2019-02-22 23:16:44 +01:00
Matthias Koefferlein
792de1e0e9
'break' function for regions (split polygons into pieces if required)
2019-02-22 23:10:26 +01:00
Matthias Koefferlein
18f74bac1e
Enabled transformations for deep regions/edges/edge pairs - important for handling layouts with different DBUs in DRC
2019-02-22 01:02:48 +01:00
Matthias Koefferlein
03d744cc5b
Further Windows build fixes.
2019-02-20 23:20:40 +01:00
Matthias Koefferlein
0f86e0c8aa
Further Windows build fixes.
2019-02-20 22:56:01 +01:00
Matthias Koefferlein
5d222690bd
Further Windows build fixes.
2019-02-20 22:50:19 +01:00
Matthias Koefferlein
e787a18be2
Attempt to fix Windows build
2019-02-20 22:03:53 +01:00
Matthias Koefferlein
91407ddaa9
Added tests for region processors.
2019-02-20 21:40:43 +01:00
Matthias Koefferlein
503707f361
Refactoring: based results of edge/polygon operations on delegates entirely
2019-02-20 10:10:54 +01:00
Matthias Koefferlein
124c4eb61c
Refactoring: generalization of filter/processor for edges, region
2019-02-20 09:45:38 +01:00
Matthias Koefferlein
0f2d0605a9
Some more refactoring - generalized polygon processing in region.
2019-02-20 01:17:14 +01:00
Matthias Koefferlein
dbe8c62177
Fixed a bug introduced during refactoring: hulls/holes spoiled deep regions and produced Polygons rather than PolygonRefs
2019-02-20 00:33:46 +01:00
Matthias Koefferlein
3dd1ed4c4d
Refactoring of edges processor.
2019-02-19 23:10:14 +01:00
Matthias Koefferlein
496b695ef0
Refactoring of the polygon processing in Region
2019-02-19 22:11:55 +01:00
Matthias Koefferlein
90c1d212a4
Refactoring: new concept for edge/polygon filters
2019-02-19 20:19:10 +01:00
Matthias Koefferlein
7143e75310
Some refactoring: cell variant collector isn't a big template anymore
2019-02-19 19:16:55 +01:00
Matthias Koefferlein
3918172c6a
Fixed a nasty issue with editable mode.
2019-02-18 23:34:46 +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
9ec6b44c93
Added some tests for the previous commit.
2019-02-18 00:15:26 +01:00
Matthias Koefferlein
b91edbabde
Enabled deep mode for DRC
2019-02-17 23:21:23 +01:00
Matthias Koefferlein
311318c578
Ported edge/edge DRC functions to hierarchical mode.
2019-02-17 18:54:33 +01:00
Matthias Koefferlein
c40f147dc7
Edge/edge and edge/polygon interaction test ported to hierarchical mode.
2019-02-17 18:36:15 +01:00
Matthias Koefferlein
7ef0451ca8
Partial segments of edges converted to hierarchical operations.
2019-02-17 17:53:21 +01:00
Matthias Koefferlein
74006b6208
Hierarchical implementation of extended method for edges
2019-02-17 17:34:31 +01:00
Matthias Koefferlein
ae783a2245
Hiearchical implementation of edge filter.
2019-02-17 16:18:24 +01:00
Matthias Koefferlein
61d766bd4c
Hierarchical implementation of edge to region operations.
2019-02-17 16:05:39 +01:00
Matthias Koefferlein
e6ee1c064e
Hierarchical implementation of edge/edge booleans.
2019-02-17 15:07:16 +01:00
Matthias Koefferlein
8e5bffcf18
Hierarchical angle check.
2019-02-17 11:42:30 +01:00
Matthias Koefferlein
a7bfaac424
Cell variant resolution by propagation, grid check now implementation hierarchically (with propagation)
2019-02-17 10:59:04 +01:00
Matthias Koefferlein
5dc833970b
Hierarchical implementation DRC functions (measurements)
2019-02-16 22:34:36 +01:00
Matthias Koefferlein
5a994fef6d
First steps towards hiearchical DRC - needs testing.
2019-02-16 00:35:29 +01:00