Commit Graph

697 Commits

Author SHA1 Message Date
Tim Edwards 7a228bebc6 "ocd_git_pure automatic update to repo" 2019-11-21 03:00:05 -05:00
Tim Edwards 6fe5cee4be Merge branch 'master' into magic-8.2 2019-11-21 03:00:05 -05:00
Tim Edwards be8ba09373 Created an additional argument "start" to the "slots" operator,
which adds an offset value of "start" to both X and Y from the
lower left corner of the fill area.  This allows the use of the
"offset" (from the previous git commit) to be declared on different
layers without creating an exact overlap, as is often required by
foundries for fill patterns.
2019-11-20 13:36:03 -05:00
Tim Edwards adb4d2613d Added indexed selection to the PDK toolkit script (returns an index
from a selection, which can then be used to index into other lists.
This lets one selection be made on a list of arbitrary names, and
then additional parameters can be linked together with the same
index).  Also, implemented (finally!) the "offset" parameters of
the "slots" function (as advertised in the documentation).
2019-11-20 13:01:14 -05:00
Tim Edwards 4f91f962a4 "ocd_git_pure automatic update to repo" 2019-11-20 03:00:05 -05:00
Tim Edwards 1c499c2593 Merge branch 'master' into magic-8.2 2019-11-20 03:00:05 -05:00
Tim Edwards 3aa09725cb Changed extraction to avoid generating an error message for devices
like resistors where a tile other than space may border the resistor
device on its non-terminal sides (which is handled correctly, and
should not be considered an error).
2019-11-19 11:39:59 -05:00
Tim Edwards 90a2cc4fdc "ocd_git_pure automatic update to repo" 2019-11-18 03:00:06 -05:00
Tim Edwards 85d9659741 Merge branch 'master' into magic-8.2 2019-11-18 03:00:06 -05:00
Tim Edwards d3eb03d19a Additional correction to extraction, still part of the effort to
remove redundant ports.  A comment that I left in the code at the
last commit asked if it was necessary to call efAddNodes and
efAddConns recursively.  An example came up in which the answer
is apparently "yes".  These routines have been replaced by
efFlatNodes(), which appears to solve the problem.  There is now
a question of whether efFlatNodesDeviceless() does anything, and
should its main behavior (to flag deviceless subcircuits) be
folded into efFlatNodes.
2019-11-17 19:08:47 -05:00
Tim Edwards a699b03a7e "ocd_git_pure automatic update to repo" 2019-11-16 03:00:05 -05:00
Tim Edwards c77dd1fb49 Merge branch 'master' into magic-8.2 2019-11-16 03:00:05 -05:00
Tim Edwards e1783a42a9 Added a "DRC manager" window option. This allows DRC errors to be
categorized by error type and scrolled through conveniently.  However,
it needs work dealing with finding the actual error bounds.  The
"DRC count" counts tiles, which is tile-plane-geometry-specific, and
"DRC listall why" fractures errors both over tiles and over the square
areas that the interactive DRC splits the layout into, for performance.
The DRC error plane needs to be changed to hold different types for
each error class, so that errors can be scanned by boundary instead of
by tile (work to be done).
2019-11-15 10:26:04 -05:00
Tim Edwards 1052fa3389 "ocd_git_pure automatic update to repo" 2019-11-15 03:00:07 -05:00
Tim Edwards 3bd8c1697d Merge branch 'master' into magic-8.2 2019-11-15 03:00:06 -05:00
Tim Edwards 0eb3b1fe1c Corrected an error in ext2spice related to the recent modification to get
rid of redundant port entries in subcircuits.  There is still an outstanding
issue as to whether nodes and connections need to be recursively iterated
to the hierarchy bottom.  The current fix corrected the test case.  Also,
added a "-dereference" option to the "load" command to revert to the
original behavior of using only search paths from "addpath" when searching
for files to load.
2019-11-14 15:18:26 -05:00
Tim Edwards 4f86d29848 "ocd_git_pure automatic update to repo" 2019-11-14 03:00:05 -05:00
Tim Edwards c17a546a75 Merge branch 'master' into magic-8.2 2019-11-14 03:00:05 -05:00
Tim Edwards 5007f3f602 Modified "lef write" so that if a cell has a bounding box declared
by FIXED_BBOX derived from GDS and the new "boundary" cif input
rule, then the bbox property values take precedence over the
extent-of-geometry bounding box.
2019-11-13 15:10:01 -05:00
Tim Edwards 8e22b1504e Corrected an error introduced with the extension of extraction methods
to multiple entries per device;  the resistor length and width calculating
routine lost a break statement and would go into an infinite loop for
resistors with bends in them.
2019-11-13 14:29:19 -05:00
Tim Edwards 3a6f868efc Corrected an error in ext2spice caused by recent changes, that can
generate an extra node in the extract output that comes out as a
"(none)" node in the SPICE netlist from ext2spice.
2019-11-13 13:05:03 -05:00
Tim Edwards 5164a8dfca "ocd_git_pure automatic update to repo" 2019-11-13 03:00:07 -05:00
Tim Edwards 9f15e9bc7a Merge branch 'master' into magic-8.2 2019-11-13 03:00:07 -05:00
Tim Edwards e3624d3e5f Added code to avoid a problem with "lef write" when a sticky label
is placed over multiple types.  This causes SelectChunk() to fail
and the pin will have no geometry output in the LEF file.  To avoid
this, the area of the label is always painted into the select cell
so that if SelectChunk() fails, the label area still exists with
the label tile type.
2019-11-12 21:46:52 -05:00
Tim Edwards 695bcc91f0 "ocd_git_pure automatic update to repo" 2019-11-12 03:00:06 -05:00
Tim Edwards ba731b5a51 Merge branch 'master' into magic-8.2 2019-11-12 03:00:06 -05:00
Tim Edwards 855e4ca134 Corrected an apparently long-standing error with the triggered rules
(such as widespacing or directional surround) that will cause the
rule to be triggered without a cause due to a failure to reset the
error count from a previous triggered rule (the condition of failure
is much more rare than this explanation makes it sound, which is why
it went undiscovered for so long).
2019-11-11 15:56:17 -05:00
Tim Edwards 5cc6d39138 "ocd_git_pure automatic update to repo" 2019-11-02 03:00:05 -04:00
Tim Edwards 13d087bae9 Merge branch 'master' into magic-8.2 2019-11-02 03:00:05 -04:00
Tim Edwards 0aca80dbc2 Corrected problem that can cause magic to crash on a "lef read"
command due to an uninitialized variable.
2019-11-01 13:23:31 -04:00
Tim Edwards 8e85c3a96e Corrected a long-standing error in the "widespacing" rule implementation
that was intended to avoid computing maxwidth more than necessary, but
ended up causing the widespacing rule to not be checked in certain
situations.
2019-11-01 12:01:07 -04:00
Tim Edwards 0f45014d18 Corrected an erroneous scalefactor used when reading geometry
attached to a label in a GDS input file;  the scalefactor that was
being used is reset at the beginning of a GDS read, and so becomes
invalid after a database rescaling, resulting in improperly scaled
label geometry if "gds read" is used more than once.
2019-11-01 10:16:43 -04:00
Tim Edwards c6b5843266 "ocd_git_pure automatic update to repo" 2019-11-01 03:00:05 -04:00
Tim Edwards 6f02772e35 Merge branch 'master' into magic-8.2 2019-11-01 03:00:05 -04:00
Tim Edwards ecfdb66417 Corrected one error in the recent fix for port enumeration in
ext2spice (hierarchy on), where the port index was not checked for
value -1 (no port) before indexing into the port list.
2019-10-31 15:19:30 -04:00
Tim Edwards e4d8f5eb6f "ocd_git_pure automatic update to repo" 2019-10-30 03:00:09 -04:00
Tim Edwards 131728190c Merge branch 'master' into magic-8.2 2019-10-30 03:00:09 -04:00
Tim Edwards fc86f44bb1 Again revisited the problem of duplicate nodes. This time, I think
I understand the problem, which is that nodes are ordered according
to precedence of EFHNBest() within a circuit, but there is no
concept of ordering between circuits.  So ports end up listing nodes
in arbitrary order, and the only way to resolve the order is to use
EFHNBest() as is done within a subcircuit.  Appears to work for
different edge cases tested.
2019-10-29 13:55:28 -04:00
Tim Edwards c342178458 Made some changes to the way that ext2spice generates subcircuit
ports, to avoid creating ports for node names that are redundant.
It would probably be better to avoid creating the redundant node
names in the first place;  however, I am less certain why these
are generated.  The incorrect additional ports all have hierarchical
names in the cell, which is a sign that they are incorrect, as the
cell itself should not have any parents.  The level of certainty
about this fix is definitely not 100%, but it was tested on a
hierarchical analog design, and setting levels of parasitic caps
caused new nodes to appear in subcircuits and in no cases did
information appear to be lost.
2019-10-29 09:44:28 -04:00
Tim Edwards 0d30c9ed50 "ocd_git_pure automatic update to repo" 2019-10-29 03:00:11 -04:00
Tim Edwards 33e68615bd Merge branch 'master' into magic-8.2 2019-10-29 03:00:10 -04:00
Tim Edwards a4ea827d1e More corrections to extresist, which now appears to work if used
with ext2spice without the hierarchy option.  More work needed to
produce correct hierarchical output and to support extraction
devices other than the old "fet" record.
2019-10-28 13:10:16 -04:00
Tim Edwards e3409d5f18 "ocd_git_pure automatic update to repo" 2019-10-26 03:00:06 -04:00
Tim Edwards 14244d6904 Merge branch 'master' into magic-8.2 2019-10-26 03:00:06 -04:00
Tim Edwards 0e966af926 Modified the check for redundant label indexes in lefWrite so that
it only complains about (i.e., issues an error message) ports with
the same index but different text, indicating a read port number
collision and a true error.
2019-10-25 12:21:19 -04:00
Tim Edwards 7580f226df "ocd_git_pure automatic update to repo" 2019-10-25 03:00:11 -04:00
Tim Edwards 05f9f8e7f7 Merge branch 'master' into magic-8.2 2019-10-25 03:00:10 -04:00
Tim Edwards 2046318942 Corrected routine lefFileOpen() so that it will read files with
extensions other than specifically ".lef" or ".def" (such as
".tlef" for technology LEF, recently encountered).
2019-10-24 16:57:46 -04:00
Tim Edwards 0228a18da9 "ocd_git_pure automatic update to repo" 2019-10-24 03:00:05 -04:00
Tim Edwards 6152fb01c6 Merge branch 'master' into magic-8.2 2019-10-24 03:00:05 -04:00