Commit Graph

601 Commits

Author SHA1 Message Date
Tim Edwards 99ac84d590 Corrected bpDump to remove UnitsS2I(), replacing with scalefactor
determined by CIFGetOutputScale().
2020-04-08 12:11:32 -04:00
Tim Edwards 7e1fcc8ef6 Fixed lefWrite, which was not including drc.h and so was messing up
one of the arguments to the DRC technology query.  Also, drc/drc.h
itself did not export that particular function, so it was added.
2020-04-07 20:08:42 -04:00
Tim Edwards 937e848d03 Modified DBTreeCopyConnect() so that it can take an argument to
not copy labels;  not copying labels speeds up the antenna checks
(which don't need labels) greatly.  Also fixed several numerical
overflow problems in the antenna checks, which resulted in false
positive errors, as well as nonsensical results.
2020-04-03 16:22:56 -04:00
Tim Edwards 08fabeedd5 Merge branch 'master' into bplane
Merging fix to "lef write" to preserve SITE, from master branch.
2020-04-01 11:02:08 -04:00
Tim Edwards e98b768c45 Corrected "lef write" to add the SITE definition that it may have
been preserving in the cell properties (which was inadvertently
omitted).
2020-04-01 11:01:13 -04:00
Tim Edwards 706e342171 Merge branch 'master' into bplane
Conflicts:
	lef/lefWrite.c

Merged change to "lef write -hide" method from the master branch.
2020-04-01 10:46:06 -04:00
Tim Edwards d6cadeb0cd Decided that "lef write -hide" should always use widespacing rules,
because otherwise all pins will flag metal-to-obstruction spacing
within the cell if the cell is wide enough that the obstruction
layer satisfies the width requirement for the rule.  It is too
complicated to try to find specific places where the wide spacing
might not be needed.  Potentially this could be a problem for
technologies that define a number of graded wide-spacing rules,
as the largest-width rule is always used now by "lef write -hide",
and the largest-width rule could theoretically allow enough space
to route through, which would cause a short that cannot be
detected.  That would be a pathological case that may not show up
in practice.
2020-04-01 10:39:43 -04:00
Tim Edwards daf93e5bad Merge branch 'master' into bplane
Conflicts:
	VERSION

Merged from master correction that should prevent "lef write" from
creating pins with no geometry in them.
2020-04-01 09:01:33 -04:00
Tim Edwards e296fc5ba0 Corrected an error in lefWrite that should have avoided degenerate
labels by expanding a zero area label rectangle, but then if "select
chunk" returns nothing, it sets the area to the zero area label
rectangle instead of the expanded one that it just created.  This
is the reason that "lef write" is producing pins with no geometry
in the LEF file output.
2020-04-01 08:59:19 -04:00
Tim Edwards 195bb301ff Merge branch 'master' into bplane
Conflicts:
	VERSION

Changed mallocMagic() argument to size_t to match change in master
branch (essentially an ineffectual change).
2020-03-31 09:35:55 -04:00
Tim Edwards f689366553 Updated VERSION with commit. 2020-03-31 09:35:25 -04:00
Tim Edwards 688f07d302 Changed mallocMagic() argument to size_t. However, this is probably
not useful so long as Tcl_Alloc() has (unsigned int) for an argument.
The more important investigation is probably to determine if there is
a way to keep csa2_list from growing to absurdly large sizes on
connectivity checks.
2020-03-31 09:31:49 -04:00
Tim Edwards d742550edc Merge branch 'master' into bplane
Conflicts:
	VERSION

Merge from master (LEF read:  Read all tokens for LEF CLASS record)
2020-03-30 09:37:42 -04:00
Tim Edwards b5e06455c5 Corrected LEF read routine so as not to truncate LEF "CLASS" to a
single token (LEF CLASS records may have a subclass, such as "PAD
INPUT").
2020-03-30 09:36:24 -04:00
Tim Edwards 42917e80cc Merge branch 'master' into bplane
Conflicts:
	VERSION

Merged master (fix to dbcConnectFunc for integer size overflow in
call to mallocMagic()).
2020-03-28 20:15:17 -04:00
Tim Edwards 70613a3778 Modified line in DBconnect.c to cast csa2_size to type (size_t), as
magic crashed when the conSrArea array exceeded the size of a 32-bit
int during the antenna rule check.  Should be good for another four
orders of magnitude.
2020-03-28 20:11:22 -04:00
Tim Edwards d77cec8bf6 Merge branch 'master' into bplane
Conflicts:
	VERSION

Merged from master
2020-03-27 17:16:44 -04:00
Tim Edwards 2a7e2ab110 Updated version with the last fix. 2020-03-27 17:14:20 -04:00
Tim Edwards f28d2c5989 Merge branch 'master' into bplane
Merging correction to CalmaWrite.c for reference to property string
GDS_FILE that may not exist.
2020-03-27 16:52:21 -04:00
Tim Edwards d6b4b014d6 Corrected bad reference to GDS_FILE property when it may not exist. 2020-03-27 16:51:23 -04:00
Tim Edwards 4b2bf7b61d Merge branch 'master' into bplane
Merging master change to resis/ResBasic.c (correction for non-Manhattan
geometry).
2020-03-26 10:41:04 -04:00
Tim Edwards 74ea0a29b4 Corrected problem with ResSimple where extresist was not handling
non-manhattan geometry in device types.
2020-03-26 10:39:37 -04:00
Tim Edwards 7084ffe455 Merge branch 'master' into bplane
Merge master
2020-03-25 15:21:35 -04:00
Tim Edwards 521efeb929 Corrected uninitialized variable problem in lefWrite. 2020-03-25 15:21:05 -04:00
Tim Edwards aab318176b Corrected lefWrite, which was not initializing the count of items
written, so that a LEF output with no ports would fail to write
the OBS ... END around the obstruction geometry.
2020-03-25 15:19:28 -04:00
Tim Edwards 76411004b5 Merge branch 'master' into bplane
Merge quick fix from master
2020-03-25 12:07:33 -04:00
Tim Edwards 151f1fb470 Quick fix to last commit. 2020-03-25 12:07:14 -04:00
Tim Edwards 6a3c8c2fb6 Merge branch 'master' into bplane
Pulled change to GDS read from master branch.
2020-03-25 12:01:46 -04:00
Tim Edwards c433534f4c Modified GDS read to assign the same port index to incoming port
labels with the same text.
2020-03-25 12:01:06 -04:00
Tim Edwards 79ada35815 Merge branch 'master' into bplane
Conflicts:
	VERSION
	extract/ExtMain.c
	lef/lefWrite.c

Pulled master branch changes to lefWrite into the bplane branch.
2020-03-25 11:23:16 -04:00
Tim Edwards 195e096d64 Modified lefWrite to ensure maximum spacing per all widespacing rules
for any gap between a pin touching the cell boundary and the internal
obstruction layer.
2020-03-25 11:07:54 -04:00
Tim Edwards 6bae7c25c4 Enhanced the "lef write -hide" command option to check for metal
wide spacing rules; should result in LEF views that can import
back into magic without DRC errors.
2020-03-25 09:29:16 -04:00
Tim Edwards 007806521c Updated the "lef write -hide" to understand and use widespacing rules
(may still need additional enhancements, as it does not specifically
look for layer-to-obstruction rules).
2020-03-25 09:25:32 -04:00
Tim Edwards 5bf2a6ec69 Updated VERSION to revision 202. 2020-03-24 13:59:03 -04:00
Tim Edwards 00e1c01d8d Missed one instance of extFileOpen() in the implementation of the
"extract do local" command option.
2020-03-24 13:57:46 -04:00
Tim Edwards 54c6ccc8cd Corrected ExtMain() in the bplane branch (need to do this in master) 2020-03-24 13:55:44 -04:00
Tim Edwards 5df9ede961 Merge branch 'master' into bplane
Merged the change to run *bypass on the "crash save" command in tools.tcl.
2020-03-23 11:53:34 -04:00
Tim Edwards fe727cc6f2 Found that the "crash save" command in tools.tcl also disrupts
redirected command-line entry from the layout window;  fixed.
2020-03-23 11:52:31 -04:00
Tim Edwards 33a40d1986 Merge branch 'master' into bplane
Conflicts:
	VERSION
	tcltk/ext2sim.sh
	tcltk/ext2spice.sh

Merged corrections to "save"/"writeall" from master branch
2020-03-23 11:04:50 -04:00
Tim Edwards 7ec87864a6 Corrected the "save" ("writeall") command, which after the fixes of
the last couple of days, was left in a state where it keeps appending
".mag" to the filename if "save" or "writeall" is executed more than
once in the same edit session.  Also, added ext2sim.sh and ext2spice.sh
to the CLEANS list in tcltk, and added both to .gitignore so they are
not tracked.  Removed them from git to stop the current tracking.
2020-03-23 10:19:34 -04:00
Tim Edwards 4777ced813 Corrected the bplane branch implementation of DRCFindInteractions,
where the function drcFindOtherCells() was missing, which causes
interaction areas to be missed and messes up the DRC checks between
parent and child cells.
2020-03-22 17:08:21 -04:00
Tim Edwards ff0ba7f89d Merge branch 'master' into bplane
Conflicts:
	VERSION

Merged recent changes from master back into bplane, as the efficiency of
bplane for doing extraction on large layouts is unquestionably better.
Fixed the implementation of DBMoveCell() for bplane.  Corrected an error
in the bplane version of dbScaleCell() that enumerates cell uses but
does not free the list.
2020-03-22 14:07:25 -04:00
Tim Edwards c2bf9a8fb4 Added new command option "extract do local" to force all .ext files
to be written to the local directory instead of the directory where
the .mag file is located.
2020-03-21 20:57:11 -04:00
Tim Edwards ae6b627df7 One more change to add back the .mag extension when writing the
file from the contents of def->cd_file.
2020-03-21 15:34:41 -04:00
Tim Edwards 276bf1d78a Corrected a bad error from a few commits ago, probably 198, which
can deallocate the cell name and causes all sorts of unexpected and
unwanted behavior.
2020-03-21 12:40:35 -04:00
Tim Edwards fe8e229920 Corrected the DEF read routine's ROWCOL parsing. It was not treated
as an optional argument (which it is), and so defaults were not
applied, potentially leading to the wrong number of rows/columns in
a generated via if ROWCOL is not present in the DEF file.
2020-03-21 10:16:33 -04:00
Tim Edwards a1ee1720f1 Corrected the "lef write -hide" method to keep a list of the areas
of the pin port geometry and using those areas to create the
spacing between them and the obstruction layer.  Otherwise, the
existing method used different databases (source vs. flattened) to
find the pin area, and they did not always agree on the exact
dimensions, leading to spacing errors within the LEF view.
2020-03-20 21:29:29 -04:00
Tim Edwards ad13e48a07 Corrected ext2spice for the case where a port has been given more
than one name, because in that case one of the port records ends
up with a null pointer to a node, and causes a crash condition.
This can happen inadvertently, as when a connected node is not
specifically designated a port, but is forced to be a port
because of the connection.
2020-03-20 14:50:56 -04:00
Tim Edwards 4a0ad45627 Added a "move" command option "move origin" which will move the
coordinate system origin to the specified (current) location.
This is a much more efficient method than selecting everything in
a layout and moving it, especially for very large layouts where
selection and moving becomes prohibitive.
2020-03-20 13:40:16 -04:00
Tim Edwards 43506e62ae Updated revision. 2020-03-19 09:23:50 -04:00