Commit Graph

703 Commits

Author SHA1 Message Date
Tim Edwards 2c28a37101 Merge branch 'master' into magic-8.2 2020-03-10 03:00:14 -04:00
Tim Edwards aa738bb350 Corrected an obscure error in GDS generation caused by an
uninitialized variable, with the result that writing GDS would
claim that it cannot scale down enough and that the output units
are either wrong or the output style must have "units angstroms".
Using angstrom units would solve the problem but did not treat
the root of the problem.
2020-03-09 20:44:03 -04:00
Tim Edwards ab0f5686bf Merge branch 'master' into magic-8.2 2020-03-07 03:00:04 -05:00
Tim Edwards 1283317084 Corrected the improper use of the variable DRCErrorTable twice,
which results in conflicting hash tables and a crash, if a DRC
section is reloaded when doing an error count.
2020-03-06 13:46:40 -05:00
Tim Edwards 5a7eb37d6e Updated VERSION along with the LEF/DEF input correction. 2020-03-06 09:19:50 -05:00
Tim Edwards 86cad629ec Modified the LEF read routine to use the via geometry manipulations
from the cifoutput section, NOT the cifinput section.  This change
underscores the point that LEF and DEF formats define mask data,
and therefore all LEF and DEF routines should be using the CIF
input/output methods and layers.  That is a major code change;
meanwhile, getting via layer values from the cifoutput parameters
is slightly more reliable than using cifinput, since there is good
reason to use templayers to read vias, and that sort of indirection
makes it difficult to determine a simple relationship between a
LEF cut layer and a magic contact.
2020-03-06 09:15:22 -05:00
Tim Edwards 6c698b040c Merge branch 'master' into magic-8.2 2020-03-06 03:00:08 -05:00
Tim Edwards a37fc1e242 Implemented the "def read ... -labels" option, which labels each net
with the name given to the net in the DEF file.  Especially useful
for LVS.
2020-03-05 14:29:54 -05:00
Tim Edwards 7413d89da1 Corrected the "lef writeall" command to add the "-hide" option, as
is available for "lef write".  This was inadvertently omitted.
2020-03-05 13:14:47 -05:00
Tim Edwards b6cb1fb54a Modified the LEF VIAGEN reading such that it can accomodate a different
order of layers than specified in the LEF/DEF spec.  It is not clear
whether this is common practice, or a bug in the tool that produced the
DEF file that prompted this change.  NOTE:  The "grow" function applied
in this case should be replaced by the actual GDS input rule sequence,
that includes the grow and shrink merge.  Otherwise, vias read from
DEF files do not match the layout from those read from GDS, even though
the mask layers represented by the layouts are the same.
2020-03-03 17:13:37 -05:00
Tim Edwards 3b7573ebbf Merge branch 'master' into magic-8.2 2020-02-29 03:00:05 -05:00
Tim Edwards cb7926ab0d Corrected lefTech.c not to issue a warning if defining a contact
type as an obstruction;  that should be perfectly acceptible.
2020-02-28 14:25:57 -05:00
Tim Edwards b53126c5ac Merge branch 'master' into magic-8.2 2020-02-27 03:00:20 -05:00
Tim Edwards 612251b2b0 Changed the PNG bitmaps to GIF, because PNG is not supported in
Tcl/Tk 8.5, which is still installed and considered current/stable
on a lot of systems.
2020-02-26 10:10:55 -05:00
Tim Edwards ca6009593c Merge branch 'master' into magic-8.2 2020-02-26 03:00:12 -05:00
Tim Edwards 2beb5ee0e9 Modified the handling of "why" strings in the DRC mechanism, so that
DRC records contain an index into a string array instead of containing
a copy of a string.  This is preliminary to changing the way the DRC
error plane is painted, so that the types painted will mark the error
type.  This will (1) allow "drc why" to simply scan the DRC error
plane rather than running the DRC engine, (2) allow DRC errors to be
counted by area rather than by tile, and (3) let the DRC count be the
same whether done by "drc listall why" or "drc count".
2020-02-25 13:57:41 -05:00
Tim Edwards b62efea43d Corrected the last commit for fixing the "drc count" command option,
which had been changed a few months back to remove the individual
cell count and only list the top level cell.  The behavior has been
changed a bit so that "list" returns values for the top level cell
only, but "listall" returns a complete list.  "drc list count total"
gives the DRC count for the top cell, but "drc listall count total"
gives the DRC count for everything (probably not very useful).
Also:  Implemented a behavior by request to automatically removed
the (UNNAMED) cell whenever a new cell is loaded and the (UNNAMED)
cell has not been modified.
2020-02-25 09:52:06 -05:00
Tim Edwards 374c7fda40 Merge branch 'master' into magic-8.2 2020-02-25 03:00:04 -05:00
Tim Edwards 458631df41 updated VERSION for the night (to be checked tomorrow---versioning,
git, and the update script should all be working smoothly now).
2020-02-24 21:50:15 -05:00
Tim Edwards fba66b7dff Reverted the "drc count" command to the way it was. There is more
to be investigated here.  I am no longer sure why I removed the
cell search from DRC count, but it appears that the cell search is
non-functional, and it should be determined why.  There is no
particular reason not to have a DRC count search.  It could be
implemented such that "list" vs. "listall" counts the top cell vs.
all cells.  First it must be determined why there are no subcell
counts.
2020-02-24 21:47:44 -05:00
Tim Edwards 5f23f514eb Merge branch 'master' into magic-8.2 2020-02-24 17:34:54 -05:00
Tim Edwards b2c6193589 Manual VERSION update, checking regeneration of tarball build. 2020-02-24 17:34:02 -05:00
Tim Edwards 75292d1d1f Corrected Makefile to use -include instead of include on defs.mak
so that "make distclean" works.
2020-02-24 17:30:18 -05:00
Tim Edwards f966446036 Merge branch 'master' into magic-8.2 2020-02-24 17:26:35 -05:00
Tim Edwards 509e936edb One more version update, checking fixes. . . 2020-02-24 17:26:20 -05:00
Tim Edwards 21756ae4cf Merge branch 'master' into magic-8.2 2020-02-24 17:21:42 -05:00
Tim Edwards 4c67d2dbe5 Forcing a version update. 2020-02-24 17:21:26 -05:00
Tim Edwards eb7e64da22 Added back VERSION file (will handle differently in scripts) 2020-02-24 10:25:50 -05:00
Tim Edwards 8159800192 Merge branch 'master' into magic-8.2 2020-02-24 10:10:25 -05:00
Tim Edwards dd0e875592 Removed VERSION from gitignore; will rewrite scripts to handle
it properly without causing perpetual updates.
2020-02-24 10:10:06 -05:00
Tim Edwards 592776098e Removed VERSION from gitignore; will rewrite scripts to handle
it properly without causing perpetual updates.
2020-02-24 10:06:39 -05:00
Tim Edwards 611792748c Merge branch 'master' into magic-8.2
Conflicts:
	VERSION

Git was messed up because VERSION was in .gitignore but was not
removed with "git rm".  Fixing now.
2020-02-24 10:00:17 -05:00
Tim Edwards fd6de6391f Modified the TODO list, partly becuase it's outdated, and partly to
force an update of the repository, which caused the script handling
the tarball generation and mirror to github to be hosed, which I did
not notice for three weeks.
2020-02-21 16:17:57 -05:00
Tim Edwards 10c5b282d4 Merge branch 'master' into magic-8.2 2020-02-20 10:52:28 -05:00
Tim Edwards 94b1c53b8f Merge branch 'master' into magic-8.2
Conflicts:
	.gitignore

Commit of .gitignore, although I have no idea why it was flagged
with a merge conflict, or why git can't just overwrite it with a pull.
2020-02-20 10:50:50 -05:00
Tim Edwards 421ff1fa0d Removed a temporary diagnostic output file that ended up in the
last commit by mistake.
2020-02-19 14:49:55 -05:00
Tim Edwards 2db6a6849a Finally rid myself of the C preprocessor. Took a moderately-developed
preproc.py script from another project.  Had to further develop it to
get around the amazingly complicated preprocessor usage in the scmos
subdirectory.  Needed to add handling of parameterized definitions;
could not figure out how to align the syntax used in scmos/extract_template
with any consistent syntax.  Gave up and rewrote some of the contents of
extract_template to avoid the more ambiguous usage.  All of this is to
support a completely deprecated scmos.tech.  However, it does avoid both
the M4 and cpp preprocessors altogether.  Also did auto-detection of
python3 in the configure script for use of the preproc.py preprocessor,
and applied the same preprocessor to the macro definitions.
2020-02-19 14:25:58 -05:00
Tim Edwards 6049b7e00e Further dealing with retinal displays: The scrollbars and related glyphs
now scale with Opts(scale), which is a zoom scalefactor (default 1), and
Opts(toolscale) sets an independent sizing for the toolbar icons, which is
multiplied by the Opts(scale) scalefactor.  Also:  Added GR_LIBS to the
link options for magicexec and magicdnull, to avoid compile-time problems
on some systems (thank you to Charlene of OpenBSD for the patch!).
2020-02-17 16:51:30 -05:00
Tim Edwards 2572421162 Added new option setting Opts(toolsize) that makes the toolbar icons
scale with the given size (default 16).  This can be put in the site.def
or .magicrc file as, e.g., "set Opts(toolsize) 32".  This is the first
part of an attempt to get everything to scale properly on ultra-high-
resolution monitors.
2020-02-17 15:13:54 -05:00
Tim Edwards 715843ca2a Changed the script drc.tcl into two routines for DRC load and save,
and merged the contents into drcmgr.tcl, with a new button in the
DRC manager for saving the DRC contents.  Loading is somewhat less
useful since the DRC error tiles are interactive.  The DRC manager
still has the issue that every checked edge becomes a separate
entry;  this is an artifact of the way the DRC checker works, but
it creates large numbers of error areas, many of which are redundant.
2020-02-17 10:25:45 -05:00
Tim Edwards ed8117784e Corrected three annoying errors: (1) Select net method had been
changed to ignore labels below the top level of hierarchy.  This
turned out to be a bad idea.  However, the original behavior was
problematic due to confusion over what part of the hierarchy the
labels were in.  The new behavior prefixes each label with the
cell hierarchy, eliminating both problems.  (2) Corrected the
problem where the attachment box for rendered labels is not
displayed if the label name is not in the viewing area.  (3)
Corrected the problem where redirection of input from the layout
window to the console window with the ":" command gets inadvertently
canceled;  this turned out to be due to a missing "*bypass" in
front of the command that finds the output scale to display the
pointer coordinates, and this was happening whenever the mouse was
moved while typing in a command.
2020-02-14 09:36:30 -05:00
Tim Edwards 897a8064ba Restored the behavior of selecting and displaying labels that are
down in the hierarchy when selecting a region or net, but with a
(hopefully very useful) twist:  To avoid the problem of ambiguous
labels in subcells, the subcell name hierarchy is generated in
the same way as is done when flattening a cell, with the instance
name prepended.  For example, when selecting a net in a standard
cell design, a terminal would highlight the name "OR2X1_1/B"
instead of just "B".
2020-02-14 08:48:47 -05:00
Tim Edwards f2dc4b37f0 Corrected the connectivity search function so that it does not attempt
to copy and search on a label that already exists in the flattened,
copied database.  Otherwise multiple labels on a single net can cause
the search to go into an infinite loop, repeatedly copying and erasing
the same label over and over again.
2020-02-13 10:04:55 -05:00
Tim Edwards 06eef6e324 Corrected ext2sim.c calls to hierAP and others using "scale" and
declaring it to be an integer when it is actually a float.  This
will cause magic to crash when using, e.g., "ext2sim -f su".
2020-02-11 10:21:36 -05:00
Tim Edwards 2ca9511152 Added fix for SVG output. This brings back the original behavior
of generating scalable output.  Some libcairo update had caused
the output to use the wrong version of SVG by default, which
generates an SVG-wrapped PNG data block, which is not scalable,
and not what was intended with the "plot svg" command.
2020-02-07 11:38:00 -05:00
Tim 'mithro' Ansell 4f30e76688 Make SVG output actually SVG again.
Currently the SVG output is a SVG file with an embedded `image/png`
file. Restricting to `CAIRO_SVG_VERSION_1_2` means the file goes back to
being a vector.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-02-07 17:31:05 +01:00
Tim 'mithro' Ansell 6077907f77 Adding generated files to .gitignore. 2020-02-04 14:50:46 +01:00
Tim 'mithro' Ansell 3af3eeffff Change the file used to store the LICENSE. 2020-02-04 14:48:27 +01:00
Tim Edwards 6c55c955e2 "ocd_git_pure automatic update to repo" 2020-01-30 03:00:31 -05:00
Tim Edwards a722332115 Merge branch 'master' into magic-8.2 2020-01-30 03:00:30 -05:00