Commit Graph

438 Commits

Author SHA1 Message Date
Tim Edwards 895f551c75 Merge branch 'master' into magic-8.2 2019-07-09 03:00:04 -04:00
Tim Edwards d95d8ba2ef Corrected the generation of bounding box positions from a GDS
boundary layer, which was being saved in GDS coordinates, not
magic database coordinates.
2019-07-08 20:36:48 -04:00
Tim Edwards 31bd6c295e "ocd_git_pure automatic update to repo" 2019-07-05 03:00:05 -04:00
Tim Edwards 6d7da2a3da Merge branch 'master' into magic-8.2 2019-07-05 03:00:05 -04:00
Tim Edwards d839cc26e2 One last problem fixed, as RECT entries in nets are relative, not
absolute.
2019-07-03 15:36:21 -04:00
Tim Edwards 0141ca8c95 Corrected error in generated vias (set top layer type on bottom,
so bottom layer went missing).
2019-07-03 14:52:22 -04:00
Tim Edwards 5ba84b068a Was missing needed expansion of via cut sizes to match magic's
internal definition of via areas, when reading parameterized vias
from a DEF file.
2019-07-03 14:24:52 -04:00
Tim Edwards 38fa141db5 One minor correction to the creation of generated vias in defRead.c. 2019-07-03 14:05:01 -04:00
Tim Edwards 49d98115bb Added a number of enhancements to the DEF reading to handle various
forms of syntax found in the LEF/DEF spec up to version 5.8.  Handles
vias formed by parameter and a number of syntax variations that mess
up the usual parsing.  Corrected an error in the calculation of wire
extensions when wires are given with three coordinates.
2019-07-03 13:58:13 -04:00
Tim Edwards 9cb0f37a0b "ocd_git_pure automatic update to repo" 2019-07-03 03:00:04 -04:00
Tim Edwards ff8fcbd8cd Merge branch 'master' into magic-8.2 2019-07-03 03:00:04 -04:00
Tim Edwards 95ca3d93cc Added the handling of SHAPE statements in NET records in the DEF
file read routine.
2019-07-02 10:48:34 -04:00
Tim Edwards 5bd3fb91c9 Corrected the argument passing from the top-level wrapper for
configure script to the actual configure script.
2019-06-15 12:50:32 -04:00
Tim Edwards 7395f965a2 "ocd_git_pure automatic update to repo" 2019-06-08 03:00:04 -04:00
Tim Edwards 2ab7f842bd Merge branch 'master' into magic-8.2 2019-06-08 03:00:04 -04:00
Tim Edwards e296246c92 One last correction, as I accidentally dropped two calls to
getCurDevMult() inside spcHierWriteParams(), where it was being
passed as an argument, therefore making a redundant call and
wasting compute cycles.
2019-06-07 21:39:37 -04:00
Tim Edwards 6d5d370e8c Corrected a few additional uninitialized variable situations that
had been shadowed by the previous set of fixes.
2019-06-07 15:00:39 -04:00
Tim Edwards 547f0448d9 Cleanup of a number of uninitialized variable issues flagged by
the compiler.  Some are obscure functions (plot verstatec hasn't
been used in years) but others (like SPICE distributed junctions)
are potentially significant sources of unexpected crashes on
systems that don't zero uninitialized memory.
2019-06-07 14:13:50 -04:00
Tim Edwards c89410038f "ocd_git_pure automatic update to repo" 2019-06-07 03:00:04 -04:00
Tim Edwards d1ae6b55a1 Merge branch 'master' into magic-8.2 2019-06-07 03:00:04 -04:00
Tim Edwards 53078588ae Changed the size of argv[] in efReadLine() to be 128 instead of
64 because I overran the 64 array with too many resistclasses in
a techfile.  This really should be dynamically allocated;  this
requires parsing the line to count tokens and reallocating as
needed (to be done).
2019-06-06 14:53:07 -04:00
Tim Edwards 51b70f6577 Corrected an error in the LEF/DEF geometry reading, because I
discovered that not all LEF/DEF rectangle coordinates are in
canonical order.  Took the opportunity to update the LefError()
routine with an additional argument so that it can separate
errors, warnings, and informational messages, and will correctly
state whether the output is for a LEF or DEF read operation.
2019-06-06 09:59:56 -04:00
Tim Edwards e37d5de07b "ocd_git_pure automatic update to repo" 2019-06-06 03:00:03 -04:00
Tim Edwards 51d61c1d05 Merge branch 'master' into magic-8.2 2019-06-06 03:00:03 -04:00
Tim Edwards 87c07451d1 Corrected the LEF read routine so that when LEF is read to annotate
an existing GDS file, the "LEFview" property is not set (i.e., it
should not be marked as an abstract view because it is still a GDS
view).
2019-06-05 17:02:20 -04:00
Tim Edwards 0cd45ae6f7 Modified the cell clear routine so that it removes properties in
addition to subcells, paint, and labels.  Otherwise problems arise
if a cell is read from LEF followed by GDS;  the GDS view overwrites
the LEF but the property "LEFview" remains and causes problems when
writing GDS output subsequently.
2019-06-05 16:48:45 -04:00
Tim Edwards bbf6008363 Enhancements to cifinput and cifoutput in the tech file: Added
option "labels ... cellid" to handle some vendor files where
apparently to get around the 30-character cell name limit, the
actual cellname is encoded on a text layer.  Added new cifop
"boundary" (no arguments) for cases where a cell abutment box
is encoded on a GDS layer;  this now translates the bounding
box to the FIXED_BBOX property, as is done with the LEF bounding
box.  Also corrected the property set function to free existing
property value allocated memory when overwriting a property with
a new value.
2019-06-05 15:03:51 -04:00
Tim Edwards bb61eb8f67 "ocd_git_pure automatic update to repo" 2019-06-05 03:00:04 -04:00
Tim Edwards 797244cff9 Merge branch 'master' into magic-8.2 2019-06-05 03:00:04 -04:00
Tim Edwards 8f7db3942c Fixed the "writeall force" command, which was behaving exactly the
same as "writeall", meaning that "force" was not being honored and
only cells that were modified were being written, in either case.
2019-06-04 16:17:17 -04:00
Tim Edwards 8170dbe01f Additional corrections to the wiring for some code changes that
were made where contacts are placed when shifting up on metal
layer but not made for the reverse case.  Also corrected one
inconsistency with non-minimum width wires.
2019-06-04 12:13:47 -04:00
Tim Edwards e4bfe864ba Modified the techfile "wiring" section to allow a scalefactor with
the same interpretation as the scalefactor for the DRC section:
Values in the section are interpreted as lambda divided by the
scalefactor.  That allows the wiring values to be real units such
as nanometers and avoid problems with fractional lambda values.
2019-06-04 09:15:56 -04:00
Tim Edwards 4d9f7715ce "ocd_git_pure automatic update to repo" 2019-05-29 03:00:04 -04:00
Tim Edwards fa8cbae14d Merge branch 'master' into magic-8.2 2019-05-29 03:00:03 -04:00
Tim Edwards b098fbbfbb Modified the "def write" routine to strip any path component off of
a cell name (although cell names are not supposed to have path
components, so need to find out where they came from. . .).
2019-05-28 17:14:24 -04:00
Tim Edwards 57a96c7fdb "ocd_git_pure automatic update to repo" 2019-05-23 03:00:05 -04:00
Tim Edwards 1c144398b2 Merge branch 'master' into magic-8.2 2019-05-23 03:00:04 -04:00
Tim Edwards a56309fdb6 Additional change to CalmaWrite: when handling cellnames with
lengths exceeding the maximum GDS name length (32 characters),
truncate by removing all but the last 32 characters, instead of
the previous behavior which was to remove all but the first 32
characters.  The last 32 characters are far more likely to be
unique than the first 32, given that the usual reason for extra-
long names is the concatentation of hierarchical names.
2019-05-22 17:03:52 -04:00
Tim Edwards 30a2226dbb Corrected a problem in CalmaWrite where a cell that was defined
redundantly was flagged, and output anyway, but the cellname was
not being written to the output, resulting in a bad GDS file.
2019-05-22 16:52:34 -04:00
Tim Edwards 243e9652e5 Added information to the GDS read routine error output to indicate
the byte position of the error.
2019-05-22 16:12:13 -04:00
Tim Edwards ec8ffe7333 Corrected an error in the GDS read routine which attempts to kill
a hash table that was never initialized, if the GDS file input
reader encounters an error in the GDS data.
2019-05-22 14:24:44 -04:00
Tim Edwards 24786b208a Corrected a badly-implemented search for electrical connectivity
through labels with the same text (particularly necessary for
abstract views, since the real connectivity may not be represented).
The original implementation could generate very deep subroutine call
stacks and lead to stack overflow.  The new implementation performs
the same check but without the deep nesting.
2019-05-22 10:38:00 -04:00
Tim Edwards 622d5374a1 "ocd_git_pure automatic update to repo" 2019-05-17 03:00:03 -04:00
Tim Edwards 4ab54a1e6c Merge branch 'master' into magic-8.2 2019-05-17 03:00:03 -04:00
Tim Edwards 704f1dc69f Corrected an error that has been in the magic code forever, in which
if a GDS (CIF) layer is dependent on, and only on, a templayer or
layers that get hierarchically processed, it will not get added to
the list of layers needing hierarchical processing, and therefore
end up not being generated in the output.
2019-05-16 17:41:42 -04:00
Tim Edwards e2dd5f5157 Corrected the wiring command (adjustment to recent change for
centering wires on grid lines when using a snap grid) so that
the wire width is maintained when switching from one layer to
another, when the wire width is larger than the minimum for the
route layer.
2019-05-16 09:52:59 -04:00
Tim Edwards 49590fda3c "ocd_git_pure automatic update to repo" 2019-05-12 03:00:03 -04:00
Tim Edwards 140fd5cf5a Merge branch 'master' into magic-8.2 2019-05-12 03:00:03 -04:00
Tim Edwards f7d57c913c Modified "def write" to prevent out-of-bounds array access when
writing vias.  However, the underlying problem, which is that
stacked vias are not decomposed into their constituent parts, has
not been addressed.  A "-units" option was added to the "def write"
command to force the units of the output file to be different than
the default of 1000 (nanometers).  No checks are made for whether
values can be accurately represented at the specified scale.
2019-05-11 15:09:01 -04:00
Tim Edwards ae04ff6d3e "ocd_git_pure automatic update to repo" 2019-05-07 03:00:03 -04:00