Commit Graph

697 Commits

Author SHA1 Message Date
Tim Edwards 643c39a2d5 Corrected error where modification to allow use of brackets inside
a cell instance name not related to an array moved a variable that
was used later in the routine to the inside of an if block,
effectively making that variable undefined in most cases.
2019-09-03 14:02:27 -04:00
Tim Edwards d3fa72dce4 "ocd_git_pure automatic update to repo" 2019-08-25 03:00:04 -04:00
Tim Edwards a765279e5f Merge branch 'master' into magic-8.2 2019-08-25 03:00:04 -04:00
Tim Edwards 63829cbbaa Hopefully final correction to new extraction method. Now correctly
handles diodes or other devices with source/drain on planes other
than the plane of the device type.  This no longer requires that
the non-connecting type be in any given terminal position.  The
device type boundary is surveyed for all types, connecting or
overlapping, and at least one of each required type must be present.
2019-08-24 14:18:03 -04:00
Tim Edwards 75844adf8e "ocd_git_pure automatic update to repo" 2019-08-24 03:00:05 -04:00
Tim Edwards 4edfd1a501 Merge branch 'master' into magic-8.2 2019-08-24 03:00:04 -04:00
Tim Edwards 9f973fa9fc Minor correction to device extraction using the new device structure
format with multiple devices per magic tile type.  The code was left
incompatible with diodes defined with one terminal as substrate
(and therefore no source/drain-like types connecting to the device
type).  This has been fixed.
2019-08-23 14:01:28 -04:00
Tim Edwards 1d2686ef82 "ocd_git_pure automatic update to repo" 2019-08-21 03:00:05 -04:00
Tim Edwards f9f3bb3063 Merge branch 'master' into magic-8.2 2019-08-21 03:00:05 -04:00
Tim Edwards a75aec4d7c Finally realized the problem came from a quick addition of a TO-DO
item that was never properly validated.  Corrected the root of the
problem, which was an attempt to deallocate memory that had never
been allocated in the first place.
2019-08-20 15:10:45 -04:00
Tim Edwards d5b695fea0 Corrected one other instance of checking for NULL when it should
have checked for CLIENTDEFAULT.
2019-08-20 15:05:30 -04:00
Tim Edwards c360fb9d5a Corrected check on cd_client in CalmaRdcl; if not set for holding
GDS plane data, it is initialized to CLIENTDEFAULT, not NULL.
2019-08-20 14:44:20 -04:00
Tim Edwards aa4bb4b19c Since allowing brackets to be part of cell names in a previous
commit, found that DBTreeFindUse fails to find such uses because
it strips the array delimiters off the name.  Fixed the routine
although the routine really should be checking if the use is a
1- or 2- dimensional array and stripping off only the components
expected.  The current code will probably fail for cell uses
that have brackets in the name AND are arrayed.  Fortunately
this search routine does not appear to be used frequently or in
any critical database functions like netlisting.
2019-08-20 10:37:12 -04:00
Tim Edwards 942eaf8113 Revised the substrate extraction method: Instead of searching on
all types specified in the "substrate" statement, split such types
into those on the declared well plane, and everything else.  Any
types on the well plane are searched as before.  Types not on the
well plane (e.g., psd on active) are searched and added to the
substrate node *only* if overlapping nothing on the well plane.
This allows a type such as "psd" to be used on, e.g., both space
(substrate) and deep pwell, but only be extracted as part of the
substrate when found over space.  Note that if there is NO
implicit substrate, the substrate connections will always be
found through the usual connection rules.
2019-08-20 08:42:07 -04:00
Tim Edwards 50a2dfa40d "ocd_git_pure automatic update to repo" 2019-08-20 03:00:04 -04:00
Tim Edwards 5c614c3d64 Merge branch 'master' into magic-8.2 2019-08-20 03:00:04 -04:00
Tim Edwards 8c75f81cc4 Revised the method for multiple extraction models per device type
to be more robust and not depend on the ordering of the devices in
the techfile.  The extraction method now keeps a mask of which
properties of the device (source/drain types, substrate type,
identifier type) have been found, and will look only for device
records that match what is known about the device.  Added a device
identifier record which is the last record before parameters if the
record begins with "+".  This allows marker layers to be placed
over a device such that it will extract with a different type.
This helps reduce the complexity of the techfile and allows
certain specialized devices like RF or ESD to be identified without
a separate layer type for the device.
2019-08-19 14:11:02 -04:00
Tim Edwards 6274abf997 "ocd_git_pure automatic update to repo" 2019-08-10 03:00:05 -04:00
Tim Edwards ba53a7d897 Merge branch 'master' into magic-8.2 2019-08-10 03:00:05 -04:00
Tim Edwards f429e4eca4 Copied the text of the BSD copyright in the C source code into its
own file, to be consistent with most other software these days.
2019-08-09 16:52:20 -04:00
Tim Edwards a6d6e044a8 "ocd_git_pure automatic update to repo" 2019-08-04 03:00:04 -04:00
Tim Edwards ec28ac3c79 Merge branch 'master' into magic-8.2 2019-08-04 03:00:04 -04:00
Roman-Parise 1edccafb2c Removed files in .gitignore from repo 2019-08-03 12:19:38 -04:00
Roman-Parise 46e0ec7a24 Updated outdated files in utils/magsgtty.h 2019-08-03 12:19:38 -04:00
Roman-Parise d235e01b2d Edited configure scripts for FreeBSD installation 2019-08-03 12:19:38 -04:00
Roman-Parise 05c069783a Added FreeBSD detail to INSTALL 2019-08-03 12:19:38 -04:00
Tim Edwards 0b10203a44 "ocd_git_pure automatic update to repo" 2019-08-03 03:00:04 -04:00
Tim Edwards 528863f378 Merge branch 'master' into magic-8.2 2019-08-03 03:00:04 -04:00
Tim Edwards 381fc0cca4 Removed diagnostic print from last commit. 2019-08-02 14:53:22 -04:00
Tim Edwards 9635f10c5a Removed a badly implemented double-loop from the timestamp mismatch
code.
2019-08-02 14:50:32 -04:00
Tim Edwards 68b317d7a7 "ocd_git_pure automatic update to repo" 2019-07-30 03:00:04 -04:00
Tim Edwards 053322fa0f Merge branch 'master' into magic-8.2 2019-07-30 03:00:04 -04:00
Tim Edwards df77f7853c Corrected the handling of UNPLACED components in a DEF file, which
was previously (and erroneously) lumped with PLACED and FIXED which
take a position argument afterward.  Note that this fix allows the
DEF file to be read without error but does not have the (presumably
desired) behavior of parsing SITE information from the LEF file and
ROWS information from the DEF file and giving each unplaced component
an arbitrary but legal position.  That would require a significant
amount of additional coding work.
2019-07-29 09:51:48 -04:00
Tim Edwards 58b07c4bca "ocd_git_pure automatic update to repo" 2019-07-26 03:00:04 -04:00
Tim Edwards 8a01ea8a58 Merge branch 'master' into magic-8.2 2019-07-26 03:00:04 -04:00
Tim Edwards 8562812fff Corrected CalmaError() to CalmaReadError() in cif/CIFrdcl.c. Thanks
to Toby Schaffer for the bug report and patch!
2019-07-25 16:29:12 -04:00
Tim Edwards 982bb8aa63 Changed a recent commit which removed brackets from instance names
while reading DEF.  To preserve names as much as possible, such
names are now kept.  To avoid problems, EFbuild.c and ext2hier
behavior has been changed to only parse entries in a .ext file as
instance arrays if the array notation follows the specific syntax
of [ax:bx:cx][ay:by:cy], letting all other uses of brackets pass
through unaffected.
2019-07-25 10:20:24 -04:00
Tim Edwards 20df6ec4a5 "ocd_git_pure automatic update to repo" 2019-07-25 03:00:03 -04:00
Tim Edwards ce9d9c4532 Merge branch 'master' into magic-8.2 2019-07-25 03:00:03 -04:00
Tim Edwards 93d25e7cf7 Removed the rule for building database.h from rules.mak and
instead created a dependency on database.h for compiling any
source file.  This should (I hope) avoid conflicts when running
"make" with the "-j" option for parallel compilation.
2019-07-24 12:30:03 -04:00
Tim Edwards 65c2d50fb1 "ocd_git_pure automatic update to repo" 2019-07-24 03:00:04 -04:00
Tim Edwards c668b3dd03 Merge branch 'master' into magic-8.2 2019-07-24 03:00:04 -04:00
Tim Edwards d08593997a Cleaned up an inconsistency with GDS read-in that generates
informational output that references a (non-existing) CIF file.
2019-07-23 08:45:42 -04:00
Tim Edwards c229139150 Changed two output lines in the LEF read subroutine to conform to
the standard message/warning/error method.
2019-07-23 08:06:41 -04:00
Tim Edwards e00813e599 "ocd_git_pure automatic update to repo" 2019-07-20 03:00:05 -04:00
Tim Edwards d3e601c071 Merge branch 'master' into magic-8.2 2019-07-20 03:00:05 -04:00
Tim Edwards 9ec5e8e747 Modified DEF reads to avoid instance names with brackets. Not
sure if this is the best policy.  The brackets should be okay
but interfere with ext2spice when it reads them from the .ext
file and decides that they refer to arrays.  May be a better
way to handle this.
2019-07-19 22:58:45 -04:00
Tim Edwards 67ebfbde44 "ocd_git_pure automatic update to repo" 2019-07-18 03:00:06 -04:00
Tim Edwards 52ee7e962d Merge branch 'master' into magic-8.2 2019-07-18 03:00:05 -04:00
Tim Edwards 8183f72b00 Added a missing include for utils/utils.h which has the function
prototype for StrDup().  Otherwise, use of StrDup() in the LEF
read routine can cause an inscrutible crash.
2019-07-17 10:20:52 -04:00