Commit Graph

316 Commits

Author SHA1 Message Date
Tim Edwards fcdce0553d Corrected an error in the previous commit, and updated the version
number.
2021-03-29 11:54:47 -04:00
Tim Edwards f3febfae73 Updated VERSION 2021-03-25 11:17:27 -04:00
Tim Edwards b0f89ea4af Updated VERSION 2021-03-24 14:57:13 -04:00
Tim Edwards e152deb97b Corrected typo from the last commit that will cause a crash. . . 2021-03-23 11:14:44 -04:00
Tim Edwards c2aedcebab Applied the same change made yesterday to DBconnect.c to ResConDCS.c
and SimDBstuff.c, which have nearly the same connectivity search
functions.  All three now use the hybrid list + stack method.
2021-03-22 09:49:56 -04:00
Tim Edwards 58cdbc5356 Made the "select short" command a bit easier to use (and more in line
with the existing documentation) by not requiring the net containing
the two labels to be selected before running the "select short" command.
The command now first checks if the labels exist in the selection, and
if not, the command effectively executes "goto label1 ; select net" and
then continues as previously implemented.
2021-03-21 12:02:43 -04:00
Tim Edwards b77352849d Corrected the "what" command so that the correct cells are listed
that contain the selected paint.  Previously, all cells inside the
area of the selection box would be printed, which is completely
wrong, and can lead unexpectedly to thousands of cell instance
names being printed out.
2021-03-20 17:04:31 -04:00
Tim Edwards 2532a696e4 Correction from a recent commit; complicated sets of "equiv"
statement in a .ext file require that all aliases of a node name be
rehashed after a node merge, or else node loops can occur.  Also
prevented statements of the form "equiv A A" from being output in
the .ext file, as they are useless.
2021-03-18 11:37:44 -04:00
Tim Edwards 8a0b180cde Modified the crash backup script to add options "disable" and "resume".
However, this has not been implemented as it has been observed that
the use of itimer() has a restriction of one timer per process, which
interferes with the three or more uses of the timer within magic.  The
timer method will have to be changed to use the POSIX timer_create()
routine, before this will work properly.
2021-03-17 12:45:35 -04:00
Tim Edwards 7757384355 Modified the "label" and "setlabel" commands, giving "setlabel" an
extra option "-default" that allows defaults to be set for any
label property other than text or port-related properties.
Subsequently, the command "label <text>" will apply the given
defaults to the label.  This allows a simpler way to create
rendered labels from the command line without remembering all of
the arguments to the extended "label" command.
2021-03-16 13:37:15 -04:00
Tim Edwards 3bd9adbaf8 Corrected a set of regexps in the schematic-to-layout script that
prevented normal x=y type parameters from being parsed.
2021-03-11 11:09:37 -05:00
Tim Edwards 5b8a59c4ad Added extensions to the toolkit base to add netlist-to-layout
conversion, largely converted from the python script in open_pdks,
which itself was derived from an efabless script, and none of
which have been particularly well tested.
2021-03-09 22:07:51 -05:00
Tim Edwards feddffcf45 Modified the handling of subcircuit names beginning with non-alphanumeric
characters.  Instead of removing the non-alphanumeric characters, magic
now prepends an "x" to the name.  Since this naming restriction does not
necessarily impact, say, LVS, it would probably be better to let this
behavior be enabled or disabled by a command.
2021-03-06 19:39:34 -05:00
Tim Edwards 324721b514 Added some options to the net selection with respect to labels.
The previous behavior was to generate hierarchical names for all
labels when copying contents of subcells.  This is "safe" for
copying selections without accidentally shorting things through
labeling, but it can make a mess of the selection.  Options are
now "select do labels" for the existing behavior, "select no labels"
to not show any labels, and "select simple labels" to show only the
root name of labels in subcells.
2021-03-04 14:00:31 -05:00
Tim Edwards c99e632744 Modification of readspice.tcl script to work around issue if no ports
are found (i.e., "port first" returns nothing, instead of a number).
2021-03-03 11:39:35 -05:00
Tim Edwards e4bebffeb4 Updated VERSION with the previousl commit to fix problems with the
hierarchical SPICE netlist generation.
2021-03-01 11:28:15 -05:00
Tim Edwards 114b9a59f7 Implemented more automation for attempting to find a tech file
based on the contents of a .mag file being read in, assuming
compatibility with principles of open_pdks.  The search paths
are not meddled with unless a file is read for which the technology
cannot be found (and a technology has not already been read, or at
least no database file exists in memory using any technology that
has already been read).  If so, then variables PDK_PATH and PDK_ROOT
are searched for in both the shell environment and the local Tcl
environment.  Also, if open_pdks has installed PDKs in the path
/usr/share/pdk/, then that path will be searched.  If a corresponding
technology file is found, it will be loaded.  If the path corresponds
to an open_pdks-style path, then the library paths in libs.ref will
also be added to the search paths for cells.
2021-02-25 13:37:31 -05:00
Tim Edwards 2bb3580f3e Also modified DEF reads to avoid letting instance names contain
either slash or comma.
2021-02-24 14:51:46 -05:00
Tim Edwards 9a79a1eee2 Fixed a minor error in the plot command that is missing a value
in the print statement on detecting an invalid plot parameter
value name.
2021-02-23 09:58:52 -05:00
Tim Edwards 2e9c554f2c Revised the wrapper script to use the Tk command "font measure"
to get the pixel size of the default font, and scale the window
glyphs and scrollbars to match, so that the display is automatically
adjusted for screen resolution and does not require manual intervention
to correct for high resolution displays.
2021-02-20 13:24:02 -05:00
Tim Edwards 3af205cd66 Altered the way that cells in unknown GDS libraries get prefixed,
to make it more compatible with SPICE by keeping it case-sensitive
and avoiding a number for the first character.
2021-02-19 08:52:56 -05:00
Tim Edwards 59b021af73 Corrected an error in which the "select" command returns the name
of an instance with double-escaped brackets if the instance name
contains brackets.  This then undermines the use of the backslash
escape and causes the interpreter to raise an error instead of
printing the name.
2021-02-18 13:05:29 -05:00
Tim Edwards dca33becd9 Updated VERSION along with pull request #68 from Anton Blanchard 2021-02-17 20:46:26 -05:00
Tim Edwards 48b04385c3 Corrected an error with the new off-grid DRC check that can cause
a crash condition during GDS read-in.
2021-02-16 10:05:59 -05:00
Tim Edwards f11a718368 Added return values to DBPaintPlaneVert(), which was missing them
and causing compiling under clang-10 to fail.
2021-02-13 20:40:52 -05:00
Tim Edwards d1f7e43dcc Revised DBWloadWindow (again) so that boolean flags are passed to
it as a single value "flags" (unsigned char) with meaningful flag
names.  Added new option "-fail" to the load command to allow
magic to fail on loading a cell that does not have a corresponding
file rather than the default action of creating a new cell.  Added
a flag for the "-quiet" option so that behavior on "-fail" can be
done quietly.
2021-02-10 13:05:38 -05:00
Tim Edwards 522171510c Moved the "Generating output" statement for "gds write" after the
calls on subcells, as otherwise the statement is confusing.
2021-02-03 11:09:58 -05:00
Tim Edwards bca4b97b04 Updated VERSION with the latest commit. 2021-02-02 20:02:21 -05:00
Tim Edwards c66a460053 Updated VERSION. 2021-01-25 15:17:02 -05:00
Tim Edwards dfba4601f1 Substantially revised the equations for computing bridges for the
"bridge" GDS output operator;  the previous equations were, under
some situations, failing to meet the width requirement.  Also:
corrected the "cif style" check so that it does not claim that a
style name with an exact match is ambiguous.  Also:  Corrected the
use of "grid limit", so that the limit correctly scales with the
output expander value.
2021-01-24 13:29:20 -05:00
Tim Edwards 3c42c5a7f3 Corrected the extraction method for devices with terminals on the
implicit global substrate, as a block of code meant to handle this
case was left unreachable by another recent code fix.
2021-01-21 09:57:03 -05:00
Tim Edwards cf54d146d1 Another change to CalmaWrite to avoid writing subcells of any
cell def that is marked for a "full dump" from a referenced GDS
file.  This change was supposed to have been done a few commits
ago but did not work as advertised.
2021-01-20 15:00:19 -05:00
Tim Edwards 647b7cc6c7 Corrected one small inconsistency in the handling of symmetric vs.
asymmetric MOSFET definitions in the tech file "extract" section.
Corrected the nmos.tech.in file to put the resistance classes in
plane order, as otherwise the interpretation of which resistance
classes belongs to the transistor source and drain can get messed
up by the presence of buried contacts.
2021-01-17 12:52:57 -05:00
Tim Edwards e7e01a635f Modified the behavior of "gds write" to refuse to write out the
magic database derived layout of a cell that declares GDS_FILE
but for which the GDS file referenced cannot be found or read.
This will produce an incomplete GDS file instead of an apparently
good and complete GDS file that actually contains bad data.  Also:
Added new command "random" that allows a random seed to be set,
for use with the GDS output when writing a full dump of a GDS
file.  Otherwise, the output prefixes are always the same, which
defeats the purpose of adding the random prefix.
2021-01-15 12:40:20 -05:00
Tim Edwards fa5a49ac3d Updated VERSION to go along with the pull request #64 from Dan Moore. 2021-01-14 12:14:55 -05:00
Tim Edwards 3712aa70a6 Updated VERSION to go along with the merge of pull request #63. 2021-01-13 09:13:59 -05:00
Tim Edwards 3f2210df74 Because the pull update was missed, the version was not updated to
the correct number.
2021-01-12 12:50:18 -05:00
Tim Edwards 2462d6f220 I discovered that for large designs, running DBWredisplay will take
significant amounts of time even though there is no display to
receive the result.  However, the "suspendall" command only works
if a window exists.  The obvious solution is to set GrDisplayStatus
to DISPLAY_SUSPEND whenever magic is run with the "-dnull" option.
This should help speed up a lot of scripts, in particular where
designs are large.
2021-01-12 12:46:43 -05:00
Tim Edwards 67d0d8c3f0 Corrected the use of the global substrate node name; this has been
restricted to its original intent, which is to replace the long name
formed from the plane short name and the "minfinity" coordinate.
This avoids issues with conflicting substrate names derived from a
real layer such as pwell.  Also, the global substrate node name now
returns the variable name without the "$" in front if the variable
has not been set to anything.  This avoids potential syntax errors
in the netlist.
2021-01-07 15:19:36 -05:00
Tim Edwards d4c3939feb Extended the "mask-hints" operator to work correctly through a
hierarchy.
2021-01-06 10:33:43 -05:00
Tim Edwards ebb378da08 One additional correction to yesterday's commit, as the 2nd solution
was compatible with CentOS but not OSX.  This solution appears to be
more universally compatible.
2021-01-05 09:30:05 -05:00
Tim Edwards 20eb6ce6c1 Made a few modifications to the patch from Keno Fischer (pull request
startup.  I'm not sure that it is even possible to have a Tcl variable
set at this point in the startup procedure, though.
2021-01-04 09:47:03 -05:00
Tim Edwards 3b137a6d14 Added a "-quiet" option to "load" so that scripts that use "load"
to create a new cell that is not expected to exist on disk will
not generate annoying error messages.
2020-12-30 09:43:24 -05:00
Tim Edwards 18b4375790 Correction to yesterday's commit to fix the "bridge" operator for
CIF/GDS output.  Yesterday's commit did not completely solve the
issue.  Today's commit should.
2020-12-29 11:00:04 -05:00
Tim Edwards 44325f81e6 Corrected two errors: (1) Do not write subcircuit calls to subcircuits
that have been removed by flattening into the parent cell due to lack
of devices.  Previously the checks on writing the subcircuit and writing
the call were slightly different, leading to instances in which the
subcircuit call would be written to the netlist output without the
subcircuit being defined.  (2) Corrected an error in the "bridge" CIF/GDS
output operator.  In certain (somewhat rare) geometries, the tile behind
(instead of in front of) the corner being checked may be incorrectly
flagged as a DRC spacing error.  The fix is to ignore tiles that are
behind the corner being checked.
2020-12-28 16:54:20 -05:00
Tim Edwards e12d4c7e17 Updated VERSION along with Sylvain Munaut's fix to the maskhints code. 2020-12-27 10:00:27 -05:00
Tim Edwards 01e86c0d46 Updated VERSION to rev 104 in conjunction with pull request merges
from github.
2020-12-24 22:01:21 -05:00
Tim Edwards 3aef946167 Corrected an error that can confuse a source-drain tied device
with another device record for the same magic type.
2020-12-23 13:39:25 -05:00
Tim Edwards bcc7b3d06d Added an option "gds flatglob [<string>|none]" that allows flattening
of input cells on a per-cellname basis, using glob-style pattern
matching.  This is probably the best way to deal with 3rd-party vendor
GDS with unfortunate practices like dividing devices up among cells in
a hierarchy, even though it comes across as a bit of a hack solution.
2020-12-22 14:44:30 -05:00
Tim Edwards a660d73d5a Fixed a problem with extraction. If an extraction line specifies
one terminal of a device as the substrate, but also specifies
shielding types for the substrate, then the extraction cannot just
assume that a missing terminal is connected to the substrate without
first checking that there are no substrate shielding types under the
device.
2020-12-21 10:10:18 -05:00
Tim Edwards 5f64c2b3d7 Corrected the "lef" command so that "lef help" works again.
Corrected the "lef write -hide" command option so that obstructions
outside of the boundary are included in the obstruction list, in
addition to the block inside.  This had previously been done
correctly for use with the "setback" option but would fail only
for setback = 0.
2020-12-18 16:38:06 -05:00
Tim Edwards ba77257afa Several changes and updates: (1) Added a new keyword "required" to the
tech file format "version" section.  This can be used to specify the
version of magic that must be used to be compatible with the tech file.
This effectively supercedes the technology version number.  (2) Changed
the behavior of "make" to set the version and revision numbers on doing
"make" instead of "configure".  This allows the version to update
correctly after doing a "git pull" followed by "make" without doing
"configure" in between.  (3) Fixed a couple of issues that were flagged
as compile-time warnings.
2020-12-16 11:49:24 -05:00
Tim Edwards 5755e0bcfd Added "gds" command option "gds nodatestamp [true|false]". Set to
true, this will force the "gds write" command to write out creation
date stamps as zero.  This is very useful for avoiding changing the
contents of an otherwise-unchanged layout, especially if it is in
a git repository where it will force the entire file to be replaced.
2020-12-15 14:52:30 -05:00
Tim Edwards ea9d8cc3e5 Implemented first part of "mask hints", a method to allow mask
layers that are normally automatically generated to be supplemented
with additional geometry in the form of properties.  The first
commit implements a CIF operator "mask-hints" that tells CIFGenLayer
that additional geometry may be specified with a property named
"MASKHINTS_" plus the name passed to the operator as its only
argument.  A more extensive commit to be done will allow this
operator to be used on cifinput to use mask hints to retain the
exact geometry of mask layers used in the input file.
2020-12-14 16:16:37 -05:00
Tim Edwards 2b513eb3bb Added command options "flush -dereference" and also "cellname dereference"
to allow a cell to be flushed with dereferencing (i.e., discard any file
path attached to the cell, and use the search paths to find the cell when
it is reloaded).
2020-12-10 12:13:48 -05:00
Tim Edwards f8edb30d4e Removed .gitconfig, which I thought I did yesterday. But apparently
not.
2020-12-09 09:18:06 -05:00
Tim Edwards 0429d94e1c Corrected a scaling error in the post-order reading routine. The
routine attempts to rescale the contents of the top-level cell after
moving forward in the GDS to find a cell that was used before it was
defined, if reading that cell caused the scale to change.  However,
the numerator and denominator were reversed, causing the scaling to
be the inverse of what it should have been.
2020-12-08 20:38:33 -05:00
Tim Edwards a78b459303 Modified the DEF read routine (following a diff script from Ahmed
Ghazy) to read pin uses from a DEF file, including the three types
that are not defined by the LEF format (go figure).  Expanded the
bitmask of label flags to include the additional use types.  Also
shifted the label flag bitmask up to make additional room for more
port number, as there is no point in having unused bits in the
bitmask.
2020-12-07 10:39:39 -05:00
Tim Edwards 1b3299ec90 Updated PaOpen() to handle a Tcl variable of the type ${X} as well as
just plain $X (i.e., ignore any brackets around the variable) when
doing variable expansion.
2020-12-04 14:46:48 -05:00
Tim Edwards 0d10b7f785 Corrected a crash condition that can occur if a GDS file pointed
to by GDS_FILE does not exist.
2020-12-03 10:35:54 -05:00
Tim Edwards fdf379ef71 Reinstated the search on subcells when doing "drc check". This is
somewhat inefficient, but otherwise subcells do not get re-checked
for errors.
2020-12-02 13:21:37 -05:00
Tim Edwards 497c13c34e Updated VERSION to 8.3.89. 2020-11-24 15:38:45 -05:00
Tim Edwards f343863ce3 Corrected two annoying errors: (1) SPICE netlist output subcircuits
could have multiple ports of the same name.  This problem had been
worked over before, but there was an indpendent mechanism producing
the same result for a completely different reason, caused by subcells
being much larger than the cookie-cutter extraction method's extraction
regions.  Solved by tracking port names in a hash table and preventing
re-use.  (2) ext2spice was producing "no such node" errors;  like (1)
this had been previously worked on, and like (1) this mechanism was
independent.  Problem came from not passing -1 to extHierSubstrate for
the non-arrayed dimension of a 1-dimensional array.  Also:  Removed
the word "fatal" from extraction error reporting, as nearly all
extraction errors are entirely benign.  This should clear up confusion
among alarmed end-users.
2020-11-24 15:30:49 -05:00
Tim Edwards 0ad9ac91e3 Updated version to go along with the pull request merge from github. 2020-11-21 17:25:03 -05:00
Tim Edwards 0608784a18 Added an option to "findlabel", a 3rd argument which is the
occurrence of the label to place the box on.  This can be used with
"findlabel -glob <name>" to get a list of labels and determine the
length of the list, and then iterate through each occurrance of the
label in the edit cell.
2020-11-20 10:10:32 -05:00
Tim Edwards 960be0e9b0 Rewrote the hierarchical check routine so that it does not report
disagreements between parent and child cells on GDS generation for
templayers, as these layers are not output;  any resulting differences
showing up eventually on an output layer will be reported.
2020-11-18 22:31:19 -05:00
Tim Edwards f934fc3cf5 Updated version in preparation of forcing the github mirror update. 2020-11-17 14:36:02 -05:00
Tim Edwards 7a12bf8f60 Corrected a badly-written routine for the CIF generator for operator
bloat-all, that was resetting flags in the entire plane within the
callback for each tile processed.  This would push DRC run-times from
minutes to hours.  Also corrected another, much more minor, efficiency,
in which the connection mask was generated in the callback routine
for each tile, instead of calculating before the plane search and
passing the mask to the callback function in the client data.
2020-11-16 11:29:36 -05:00
Tim Edwards 750d6c0ecf Corrected a bad error (missing braces around a code block of more
than one line) in the "grow-min" function that was affecting GDS
output for any layers using the grow-min operator.
2020-11-13 10:24:31 -05:00
Tim Edwards 75a18053f8 Modified the CIFGenLayer() routine to be aware of when it is called during
hierarchical processing from CIFGenSubcells() and CIFGenArrays(), and to
avoid certain operators that are useless and harmful when applied
hierarchically; namely squares, slots, bbox, boundary, and net.
2020-11-12 10:34:27 -05:00
Tim Edwards 114982fc72 Corrected the handling of DRC in cell instance arrays so that it matches
the handling of subcell instances generally.  Previously it would check
the interaction between neighboring cells in an array without regard to
any material in the parent cell which might remove those errors;
consequently, the array would have to be DRC clean by itself in order for
the parent cell to show as DRC clean.  The array check has been moved
inside the DRCInteractionCheck() routine, so that it runs only where
arrayed instances do not interact with anything else.  Within interaction
areas, the area is flattened and checked, so the array check is not
needed.
2020-11-11 11:50:16 -05:00
Tim Edwards 904a60423e Corrected the CIF "close" function to accommodate non-manhattan
geometry.
2020-11-10 10:26:01 -05:00
Tim Edwards 61188031cb Corrected the LEF read routine so that it preserves the sticky flag
on labels while annotating other properties (this error was a simple
typo).
2020-11-07 17:00:17 -05:00
Tim Edwards 6d463a20fe Corrected the "suspendall" and "resumeall" Tcl scripts so that they
do not fail when using "magicexec -dnull" (because there are no
layout windows, there is nothing to suspend and resume).
2020-11-06 14:39:10 -05:00
Tim Edwards 9931244e1e Corrected what appears to be a long-standing error in the "extract
unique" code.  It was using DBEraseLabelsByContent() which would
erase all matching labels, and could potentially erase labels that
were still remaining on the list being processed, causing a segfault.
Also corrected minor errors identified by valgrind during debugging
the above-referenced problem.
2020-11-03 12:17:16 -05:00
Tim Edwards f7eb54fac7 Corrected the paint table from "compose", which was improperly
handling compose lines that override contact behavior.
2020-10-30 20:19:29 -04:00
Tim Edwards 06ab6b3a8a Made a change to the way that the parameterized cells are handled.
Instead of a 6-character suffix generated randomly, the 6-character
suffix is generated by a hash algorithm from the device parameters.
If the cell parameters are changed, then the cell itself changes.
If the instance name was default (derived from the cell name) then
the instance name changes accordingly.  The result is that there
cannot be two (auto-)generated cells with the same parameters but
with different cell names.
2020-10-30 11:20:19 -04:00
Tim Edwards 1fe032a79b Changed the readspice script to avoid changing pin direction from
a CDL file unless the existing pin direction is set to "default".
This is consistent with the way the LEF annotation works, as well.
2020-10-27 15:39:12 -04:00
Tim Edwards 0a1cb9ca99 Added a method to ignore a specific device extraction combination
by setting the model name to "Ignore" in the tech file.
2020-10-26 11:41:36 -04:00
Tim Edwards be17067e13 Corrected a problem with argument passing in the DRC subcell
copying up of DRC errors into the parent cell.
2020-10-22 10:44:59 -04:00
Tim Edwards d1793ce19f Updated version to go along with the last commit. 2020-10-20 12:25:10 -04:00
Tim Edwards a67b8cc395 Corrected an error in the "bloat-all" operator of the CIF generation,
which was failing to clear tiles in the layout of the "processed" state,
leading to unpredicatable results if the same layout layer is used in
a subsequent CIF operation.
2020-10-18 14:03:15 -04:00
Tim Edwards 6b633be797 Corrected the algorithm created yesterday for copying up DRC errors
from child cells, which was incorrectly descending all the way down
into the hierarchy;  not only can this produce the incorrect result
but it also wastes time searching cells that don't need to be
searched.
2020-10-17 11:26:01 -04:00
Tim Edwards d99d84c533 Removed the scalefactor from the DRC-CIF rule parsing, so that rules
are interpreted in the dimensions used in the cifoutput section rather
than always in centimicrons (otherwise, rules at, say, 5nm cannot be
represented in the DRC section).
2020-10-16 09:37:24 -04:00
Tim Edwards 5cb645e2d5 Fixed a missing requirement of a reverse direction check on spacing
rules with "surround_ok" on different planes.
2020-10-15 12:18:14 -04:00
Tim Edwards e7074e5723 Added two small features: (1) Added the "-annotate" option to "lef
read".  While "lef read" normally annotates existing layout, this
option ensures that no additional cells are created from macros in
the input LEF file.  (2) Added a check on the "Input off lambda grid"
warning during CIF/GDS input such that it is not repeated once issued,
as it tends to be output many times when it occurs.
2020-10-14 17:20:45 -04:00
Tim Edwards c0015efbe0 Added experimental "calma addendum" option to output only references
to readonly cells but not the readonly cells themselves when writing
a GDS library.
2020-10-13 09:47:54 -04:00
Tim Edwards 581ad6041b Added new command option "box remove" that removes the cursor box
from the layout window.  The main reason for this is to keep the
box out of the image when doing "plot svg".  The "plot" command was
also modified to always do a plot of the entire cell in the active
layout window if the box is not present.
2020-10-08 13:50:14 -04:00
Tim Edwards 076ee09e2e Added two new command options: "select bbox", which returns the
bounding box of the selection (somewhat unuseful, especially as the
result gets absorbed by the tag callback), and "box select", which
sets the cursor box to the bounding box of the selection (much more
useful).  Also corrected the "port" command so that the command
"port make" will search only for non-port labels.
2020-10-07 15:37:31 -04:00
Tim Edwards 52d9639011 Added a "-nomaster" option to "lef write", and made writing masterslice
layers in the output a default option.  Use "-nomaster" to prevent the
output of masterslice layers.
2020-10-06 15:41:35 -04:00
Tim Edwards aac2c06dfd Corrected a problem with both the "port" command and the "lef read"
command when annotating an existing layout from a LEF database, if
there is a port in the layout that is shadowed by a label with the
same name that is not a port.
2020-09-25 22:39:50 -04:00
Tim Edwards b846c45056 Changed the behavior of the "compose" paint and erase rules to allow
multiple types to be painted;  for example, to paint over both planes
of a contact when a paint type causes the contact to disappear.
2020-09-22 15:25:26 -04:00
Tim Edwards 380b287aa9 Modified the extraction code to properly handle length and width
of devices that have a terminal underneath the device.  Code not
yet tested.
2020-09-21 16:03:37 -04:00
Tim Edwards 813bc223ac Updated version to force the overnight github mirror. 2020-09-15 21:57:20 -04:00
Tim Edwards a52590a10e Updated the version number to trigger the git mirror. 2020-09-11 17:40:46 -04:00
Tim Edwards ebe12fecfe Corrected an extraction error that prevented the use of the same
device layer type to describe the extraction for both a regular FET
and an extended-drain device.  Note that the current code still
requires that the extended-drain device be declared first, and does
not check for this or attempt to reorder if incorrect.
2020-09-10 21:44:02 -04:00
Tim Edwards 6cf5f65b51 Corrected a tiny but bad error in the extract section reading of the
tech file that completely undermined the ability to describe an
asymmetric device (different materials for terminals).
2020-09-09 12:18:09 -04:00
Tim Edwards 1ef4190589 Corrected issue with parent and child cells in completely different
directories starting from root getting the root directory "/"
removed from the front of the child cell path.
2020-09-04 09:57:16 -04:00
Tim Edwards 5148049ffc Modified version to make sure the github repo and tarball gets updated. 2020-09-03 19:31:46 -04:00
Tim Edwards f4b1518825 Changed the "port renumber" command option to sort ports by case-
insensitive alphabetical order instead of case-sensitive.
2020-09-02 09:20:09 -04:00