Commit Graph

718 Commits

Author SHA1 Message Date
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
Tim Edwards da7cc2096d Missed a number of Makefiles in directories two levels down. 2020-01-28 13:10:31 -05:00
Tim Edwards 4c5f027104 Correction to the configuration for distributed install. 2020-01-28 12:29:44 -05:00
Tim Edwards 323ce95981 Corrected missing references to the dist_dir install location in
the top-level Makefile.
2020-01-28 12:17:22 -05:00
Tim Edwards bc00b5578b Implemented a new configuration variable "dist_prefix" for
distributed installations, where the immediate installation location
is different from the final installation location, but in the case
where it is not desirable to put the entire install hierarchy as a
subdirectory of DESTDIR.
2020-01-28 10:40:01 -05:00
Tim Edwards bebd603296 "ocd_git_pure automatic update to repo" 2020-01-25 03:00:08 -05:00
Tim Edwards 003cf81a11 Merge branch 'master' into magic-8.2 2020-01-25 03:00:08 -05:00
Tim Edwards 20a661e1ec Corrected problem in "extresist" if a port is a label with the
sticky flag set, and the type of the label does not correspond
exactly to the type under the label (e.g., label defined on m1
but is on top of a contact).
2020-01-24 17:13:59 -05:00
Tim Edwards 594fc581c5 "ocd_git_pure automatic update to repo" 2020-01-19 03:00:06 -05:00
Tim Edwards 7eb7daa48c Merge branch 'master' into magic-8.2 2020-01-19 03:00:05 -05:00
Tim Edwards 61859d152d Corrected a missing argument from the call to DBFlagMismatches()
that causes the recovery option (magic -r) to fail with a segfault
(which is definitely not helpful for recovering lost work).
2020-01-18 15:55:05 -05:00
Tim Edwards 3d595e7982 "ocd_git_pure automatic update to repo" 2020-01-18 03:00:06 -05:00
Tim Edwards 71678d4e07 Merge branch 'master' into magic-8.2 2020-01-18 03:00:06 -05:00
Tim Edwards fc4638634a Corrected the ifdef MAGIC_WRAPPER placement in the EFantenna.c file,
which should have been only around the tclmagic.h include.
2020-01-17 12:54:58 -05:00
Tim Edwards 21fef506ea "ocd_git_pure automatic update to repo" 2020-01-14 03:00:07 -05:00
Tim Edwards eded9bb913 Merge branch 'master' into magic-8.2 2020-01-14 03:00:06 -05:00
Tim Edwards afe38c55c8 Resolved some issues with working with ext2spice using abstract
views.  Because the abstract view does not necessarily represent
actual connectivity, rely on the port indexes in the .ext file
to determine the number of ports and port order.  Do not use
SpiceNodeName() to look up the node name, or unique ports that
are deemed shorted will go missing.  Also:  Modified the read-in
of .ext files so that use names may contain backslashes.  Only
backslashes that end a line will be handled differently.
2020-01-13 12:58:04 -05:00
Alex Coffin 8e6f770afa
Fixed typo 2020-01-13 05:29:20 -08:00
Tim Edwards dce525c588 "ocd_git_pure automatic update to repo" 2020-01-04 03:00:05 -05:00
Tim Edwards d3d3f9d220 Merge branch 'master' into magic-8.2 2020-01-04 03:00:05 -05:00
Tim Edwards ff2f2de046 Corrected the dereferencing code from the last commit, where the
flag definition had been put in database.h instead of database.h.in,
and so was deleted on "make clean".  Also, corrected a problem that
causes the cif output style to be lost when running DRC-CIF checks
if the first output style is the DRC style.
2020-01-03 12:21:39 -05:00
Tim Edwards 457ae2402a "ocd_git_pure automatic update to repo" 2020-01-03 03:00:07 -05:00
Tim Edwards 2311f1aee4 Merge branch 'master' into magic-8.2 2020-01-03 03:00:07 -05:00
Tim Edwards 82e33248f2 Corrected dereferencing of cell dependencies, which was being applied
only at the time of running the command "load".  But cells are generally
loaded only on an as-needed basis, so the dereferencing option must be
saved as a flag in the cell and honored whenever its subcells are expanded
or otherwise read at a later time.
2020-01-02 10:13:04 -05:00
Tim Edwards bc1bb5c846 "ocd_git_pure automatic update to repo" 2019-12-20 03:00:06 -05:00
Tim Edwards b6372775a0 Merge branch 'master' into magic-8.2 2019-12-20 03:00:05 -05:00
Tim Edwards 67866c7991 Apparently GDS format does not enforce the original string character
limit of the Calma definition, and probably has not done so for ages.
Nobody informed me of this.  The restriction has been lifted from
GDS input and output in Magic.  It can be reinstated if necessary by
setting a flag in the cifoutput section of the techfile, but it is
likely that this will not be necessary unless there are other tools
that enforce the limit and will not read a GDS file that exceeds it.
2019-12-19 17:28:06 -05:00
Tim Edwards f15ea2a135 Modified "lef writeall" to only generate output for the set of subcells
that are direct children of the top level cell.  The "-all" option was
added to enable the previous behavior, although its usefulness is
doubtful.
2019-12-19 10:33:22 -05:00
Tim Edwards e526a179f7 "ocd_git_pure automatic update to repo" 2019-12-17 03:00:05 -05:00
Tim Edwards aadc69f722 Merge branch 'master' into magic-8.2 2019-12-17 03:00:05 -05:00
Tim Edwards d0f3aaeb59 Corrected ext2hier.c so that resistance output from extresist takes
the right argument type (float, not int).  Otherwise all resistances
from extresist come out zero when doing "ext2spice extresist on"
and "ext2spice hierarchy on".  Also changed the format of the resistance
in the SPICE output to type float, since values are in standard units of
ohms, and rounding to the nearest ohm seems excessively coarse-grained.
2019-12-16 09:55:11 -05:00
Tim Edwards 7d65d6d4c2 "ocd_git_pure automatic update to repo" 2019-12-15 03:00:06 -05:00
Tim Edwards 81d7801223 Merge branch 'master' into magic-8.2 2019-12-15 03:00:06 -05:00
Tim Edwards be38dac9fb Corrected .mag file read-in so that it will not complain about
a layout being redefined if one records the full path name and
the other records the home directory tilde expression.
2019-12-14 18:30:48 -05:00
Tim Edwards 2a56630394 "ocd_git_pure automatic update to repo" 2019-12-09 03:00:06 -05:00
Tim Edwards 76dc836dca Merge branch 'master' into magic-8.2 2019-12-09 03:00:06 -05:00