Commit Graph

  • d08593997a Cleaned up an inconsistency with GDS read-in that generates informational output that references a (non-existing) CIF file. Tim Edwards 2019-07-23 08:45:42 -04:00
  • c229139150 Changed two output lines in the LEF read subroutine to conform to the standard message/warning/error method. Tim Edwards 2019-07-23 08:06:41 -04:00
  • e00813e599 "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-20 03:00:05 -04:00
  • d3e601c071 Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-20 03:00:05 -04:00
  • 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. Tim Edwards 2019-07-19 22:58:45 -04:00
  • 67ebfbde44 "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-18 03:00:06 -04:00
  • 52ee7e962d Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-18 03:00:05 -04:00
  • 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. Tim Edwards 2019-07-17 10:20:52 -04:00
  • 2b412ed197 "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-17 03:00:05 -04:00
  • fa0dc58462 Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-17 03:00:05 -04:00
  • cd32e39d58 Modified the GDS read routine to account for use of WIDTH in a text record without a MAG in the PRESENTATION record to override it. Tim Edwards 2019-07-16 16:26:56 -04:00
  • 70927709c7 Added the capability to read a value from a WIDTH entry for text. Still not sure how it is supposed to be used, exactly. Used it to set a default text size in case a MAG value is missing. Tim Edwards 2019-07-16 11:45:10 -04:00
  • feac3d94dd Added missing handling of text in GDS input with PRESENTATION followed by WIDTH (previously it assumed that PRESENTATION and WIDTH were mutually exclusive). Tim Edwards 2019-07-16 10:32:36 -04:00
  • 58fd733ef7 "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-15 03:00:05 -04:00
  • 75f8ec66dd Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-15 03:00:04 -04:00
  • c31b305848 Corrected the dependency list in the Makefile for "modules", which should depend on database/database.h; otherwise running distributed make can start compiling modules before the database.h file is created. Tim Edwards 2019-07-14 12:07:38 -04:00
  • 968db62a88 "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-09 03:00:04 -04:00
  • 895f551c75 Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-09 03:00:04 -04:00
  • d95d8ba2ef Corrected the generation of bounding box positions from a GDS boundary layer, which was being saved in GDS coordinates, not magic database coordinates. Tim Edwards 2019-07-08 20:36:48 -04:00
  • 31bd6c295e "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-05 03:00:05 -04:00
  • 6d7da2a3da Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-05 03:00:05 -04:00
  • d839cc26e2 One last problem fixed, as RECT entries in nets are relative, not absolute. Tim Edwards 2019-07-03 15:36:21 -04:00
  • 0141ca8c95 Corrected error in generated vias (set top layer type on bottom, so bottom layer went missing). Tim Edwards 2019-07-03 14:52:22 -04:00
  • 5ba84b068a Was missing needed expansion of via cut sizes to match magic's internal definition of via areas, when reading parameterized vias from a DEF file. Tim Edwards 2019-07-03 14:24:52 -04:00
  • 38fa141db5 One minor correction to the creation of generated vias in defRead.c. Tim Edwards 2019-07-03 14:05:01 -04:00
  • 49d98115bb Added a number of enhancements to the DEF reading to handle various forms of syntax found in the LEF/DEF spec up to version 5.8. Handles vias formed by parameter and a number of syntax variations that mess up the usual parsing. Corrected an error in the calculation of wire extensions when wires are given with three coordinates. Tim Edwards 2019-07-03 13:58:13 -04:00
  • 9cb0f37a0b "ocd_git_pure automatic update to repo" Tim Edwards 2019-07-03 03:00:04 -04:00
  • ff8fcbd8cd Merge branch 'master' into magic-8.2 Tim Edwards 2019-07-03 03:00:04 -04:00
  • 95ca3d93cc Added the handling of SHAPE statements in NET records in the DEF file read routine. Tim Edwards 2019-07-02 10:48:34 -04:00
  • 5bd3fb91c9 Corrected the argument passing from the top-level wrapper for configure script to the actual configure script. Tim Edwards 2019-06-15 12:50:32 -04:00
  • 7395f965a2 "ocd_git_pure automatic update to repo" Tim Edwards 2019-06-08 03:00:04 -04:00
  • 2ab7f842bd Merge branch 'master' into magic-8.2 Tim Edwards 2019-06-08 03:00:04 -04:00
  • e296246c92 One last correction, as I accidentally dropped two calls to getCurDevMult() inside spcHierWriteParams(), where it was being passed as an argument, therefore making a redundant call and wasting compute cycles. Tim Edwards 2019-06-07 21:39:37 -04:00
  • 6d5d370e8c Corrected a few additional uninitialized variable situations that had been shadowed by the previous set of fixes. Tim Edwards 2019-06-07 15:00:39 -04:00
  • 547f0448d9 Cleanup of a number of uninitialized variable issues flagged by the compiler. Some are obscure functions (plot verstatec hasn't been used in years) but others (like SPICE distributed junctions) are potentially significant sources of unexpected crashes on systems that don't zero uninitialized memory. Tim Edwards 2019-06-07 14:13:50 -04:00
  • c89410038f "ocd_git_pure automatic update to repo" Tim Edwards 2019-06-07 03:00:04 -04:00
  • d1ae6b55a1 Merge branch 'master' into magic-8.2 Tim Edwards 2019-06-07 03:00:04 -04:00
  • 53078588ae Changed the size of argv[] in efReadLine() to be 128 instead of 64 because I overran the 64 array with too many resistclasses in a techfile. This really should be dynamically allocated; this requires parsing the line to count tokens and reallocating as needed (to be done). Tim Edwards 2019-06-06 14:53:07 -04:00
  • 51b70f6577 Corrected an error in the LEF/DEF geometry reading, because I discovered that not all LEF/DEF rectangle coordinates are in canonical order. Took the opportunity to update the LefError() routine with an additional argument so that it can separate errors, warnings, and informational messages, and will correctly state whether the output is for a LEF or DEF read operation. Tim Edwards 2019-06-06 09:59:56 -04:00
  • e37d5de07b "ocd_git_pure automatic update to repo" Tim Edwards 2019-06-06 03:00:03 -04:00
  • 51d61c1d05 Merge branch 'master' into magic-8.2 Tim Edwards 2019-06-06 03:00:03 -04:00
  • 87c07451d1 Corrected the LEF read routine so that when LEF is read to annotate an existing GDS file, the "LEFview" property is not set (i.e., it should not be marked as an abstract view because it is still a GDS view). Tim Edwards 2019-06-05 17:02:20 -04:00
  • 0cd45ae6f7 Modified the cell clear routine so that it removes properties in addition to subcells, paint, and labels. Otherwise problems arise if a cell is read from LEF followed by GDS; the GDS view overwrites the LEF but the property "LEFview" remains and causes problems when writing GDS output subsequently. Tim Edwards 2019-06-05 16:48:45 -04:00
  • bbf6008363 Enhancements to cifinput and cifoutput in the tech file: Added option "labels ... cellid" to handle some vendor files where apparently to get around the 30-character cell name limit, the actual cellname is encoded on a text layer. Added new cifop "boundary" (no arguments) for cases where a cell abutment box is encoded on a GDS layer; this now translates the bounding box to the FIXED_BBOX property, as is done with the LEF bounding box. Also corrected the property set function to free existing property value allocated memory when overwriting a property with a new value. Tim Edwards 2019-06-05 15:03:51 -04:00
  • bb61eb8f67 "ocd_git_pure automatic update to repo" Tim Edwards 2019-06-05 03:00:04 -04:00
  • 797244cff9 Merge branch 'master' into magic-8.2 Tim Edwards 2019-06-05 03:00:04 -04:00
  • 8f7db3942c Fixed the "writeall force" command, which was behaving exactly the same as "writeall", meaning that "force" was not being honored and only cells that were modified were being written, in either case. Tim Edwards 2019-06-04 16:17:17 -04:00
  • 8170dbe01f Additional corrections to the wiring for some code changes that were made where contacts are placed when shifting up on metal layer but not made for the reverse case. Also corrected one inconsistency with non-minimum width wires. Tim Edwards 2019-06-04 12:13:47 -04:00
  • e4bfe864ba Modified the techfile "wiring" section to allow a scalefactor with the same interpretation as the scalefactor for the DRC section: Values in the section are interpreted as lambda divided by the scalefactor. That allows the wiring values to be real units such as nanometers and avoid problems with fractional lambda values. Tim Edwards 2019-06-04 09:15:56 -04:00
  • 4d9f7715ce "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-29 03:00:04 -04:00
  • fa8cbae14d Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-29 03:00:03 -04:00
  • b098fbbfbb Modified the "def write" routine to strip any path component off of a cell name (although cell names are not supposed to have path components, so need to find out where they came from. . .). Tim Edwards 2019-05-28 17:14:24 -04:00
  • 57a96c7fdb "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-23 03:00:05 -04:00
  • 1c144398b2 Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-23 03:00:04 -04:00
  • a56309fdb6 Additional change to CalmaWrite: when handling cellnames with lengths exceeding the maximum GDS name length (32 characters), truncate by removing all but the last 32 characters, instead of the previous behavior which was to remove all but the first 32 characters. The last 32 characters are far more likely to be unique than the first 32, given that the usual reason for extra- long names is the concatentation of hierarchical names. Tim Edwards 2019-05-22 17:03:52 -04:00
  • 30a2226dbb Corrected a problem in CalmaWrite where a cell that was defined redundantly was flagged, and output anyway, but the cellname was not being written to the output, resulting in a bad GDS file. Tim Edwards 2019-05-22 16:52:34 -04:00
  • 243e9652e5 Added information to the GDS read routine error output to indicate the byte position of the error. Tim Edwards 2019-05-22 16:12:13 -04:00
  • ec8ffe7333 Corrected an error in the GDS read routine which attempts to kill a hash table that was never initialized, if the GDS file input reader encounters an error in the GDS data. Tim Edwards 2019-05-22 14:24:44 -04:00
  • 24786b208a Corrected a badly-implemented search for electrical connectivity through labels with the same text (particularly necessary for abstract views, since the real connectivity may not be represented). The original implementation could generate very deep subroutine call stacks and lead to stack overflow. The new implementation performs the same check but without the deep nesting. Tim Edwards 2019-05-22 10:38:00 -04:00
  • 622d5374a1 "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-17 03:00:03 -04:00
  • 4ab54a1e6c Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-17 03:00:03 -04:00
  • 704f1dc69f Corrected an error that has been in the magic code forever, in which if a GDS (CIF) layer is dependent on, and only on, a templayer or layers that get hierarchically processed, it will not get added to the list of layers needing hierarchical processing, and therefore end up not being generated in the output. Tim Edwards 2019-05-16 17:41:42 -04:00
  • e2dd5f5157 Corrected the wiring command (adjustment to recent change for centering wires on grid lines when using a snap grid) so that the wire width is maintained when switching from one layer to another, when the wire width is larger than the minimum for the route layer. Tim Edwards 2019-05-16 09:52:59 -04:00
  • 49590fda3c "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-12 03:00:03 -04:00
  • 140fd5cf5a Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-12 03:00:03 -04:00
  • f7d57c913c Modified "def write" to prevent out-of-bounds array access when writing vias. However, the underlying problem, which is that stacked vias are not decomposed into their constituent parts, has not been addressed. A "-units" option was added to the "def write" command to force the units of the output file to be different than the default of 1000 (nanometers). No checks are made for whether values can be accurately represented at the specified scale. Tim Edwards 2019-05-11 15:09:01 -04:00
  • ae04ff6d3e "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-07 03:00:03 -04:00
  • b1899186ab Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-07 03:00:03 -04:00
  • 770a6f4a17 Updated the handling of fixed bounding boxes for abstract views (once corrected in an experimental branch but never merged). This avoids changing the actual bounding box of the cell to match the LEF bounding box, but defines a property instead and uses that property for certain functions such as displaying the bounding box outline or selecting the cell. This avoids certain related errors such as the failure to extract connections to areas outside of the fixed bounding box. Tim Edwards 2019-05-06 16:30:29 -04:00
  • cbeb62d0e5 "ocd_git_pure automatic update to repo" Tim Edwards 2019-05-04 03:00:03 -04:00
  • 67875c1c8b Merge branch 'master' into magic-8.2 Tim Edwards 2019-05-04 03:00:03 -04:00
  • fc7249b04c Extended the "port" command to operate on labels in non-edit cells as long as the command is not attempting to modify the port. Attempts to modify ports in non-edit cells result in an error message that is more helpful than the previous "Exactly one label must be present..." text. Tim Edwards 2019-05-03 10:13:06 -04:00
  • b8bfaa5066 Corrected command option "select [more|less] cell <cellname>", which was not recognizing the more|less option and therefore failing to search for the instance <cellname>, rendering the command non-functional. Tim Edwards 2019-05-03 09:14:25 -04:00
  • 328923228d Merge branch 'master' into magic-8.2 Tim Edwards 2019-04-25 03:00:03 -04:00
  • 9ec23203fb Extended the wiring section definition to add wire extensions in addition to wire overlaps, and added a method when painting contacts to draw the necessary wire extension past the contact. Since the wiring method draws single contacts by default, this wiring method assumes a change in direction between layers. But the main point is to generate wire contacts without DRC errors. Tim Edwards 2019-04-24 10:48:45 -04:00
  • 8e471022db Merge branch 'master' into magic-8.2 Tim Edwards 2019-04-24 03:00:04 -04:00
  • 5e9f274f65 Modified the way magic does wiring so that when working on a grid, the wires stay centered on a centerline with respect to each other. Also corrected the long-standing minor issue that the outline drawing of the wire does not update when using the mouse scroll wheel, making it unclear that the wire size has changed until the wire position changes. Tim Edwards 2019-04-23 14:32:11 -04:00
  • 1c3a5b878e "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-11 03:00:03 -04:00
  • 2c3e7a5ce2 "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-10 03:00:03 -04:00
  • beb5ee890c "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-09 03:00:04 -04:00
  • 2a438a395d "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-08 03:00:02 -04:00
  • 79f71b28f3 "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-07 03:00:03 -04:00
  • 1882183cb0 "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-06 03:00:03 -04:00
  • 9d322165bd "ocd_git_pure automatic update to repo" Tim Edwards 2019-04-05 03:00:02 -04:00
  • c8ac63697b ocd_git_pure automatic update to repo Tim Edwards 2019-04-04 09:41:35 -04:00
  • 7e738576bc Corrected errors in LEF output syntax (missing semicolons at statement ends on properties imported from a LEF file). Never noticed before because writing LEF after reading LEF was unusual. Tim Edwards 2019-04-01 12:23:48 -04:00
  • f6d4da56ce Extended the "lef read" command when used to annotate existing cells so that PIN information including USE and CLASS are added to port labels (previously only the bounding box was annotated). Tim Edwards 2019-04-01 11:26:00 -04:00
  • 1d04f20f5d Moved new work on magic-8.4 (experimental merging of micromagic bplane structure into magic-8.2) into the newly-reorganized git repo as branch "bplane". Tim Edwards 2019-03-22 19:58:47 -04:00
  • 465a46c1c6 Merge branch 'master' into work 8.2.102 tomerge Tim Edwards 2019-03-20 10:09:07 -04:00
  • 9e364111fb Update at Wed Mar 20 10:09:07 EDT 2019 by tim Tim Edwards 2019-03-20 10:09:07 -04:00
  • 92bf587a46 Fixed an error in the previous commit handling pin labels in GDS input, which failed to update the "lastLabel" record of the cell in the case that the placeholder label being deleted was the last label, leading to labels being lost during GDS input. Tim Edwards 2019-03-20 10:07:25 -04:00
  • 5c36296acf Merge branch 'master' into work 8.2.101 Tim Edwards 2019-03-19 22:29:31 -04:00
  • b7884f7917 Update at Tue Mar 19 22:29:29 EDT 2019 by tim Tim Edwards 2019-03-19 22:29:29 -04:00
  • 1533424590 Corrected scaling of label rectangles in GDS (that is, GDS layer types that have been specified as being ports or text), since the labels are in the magic database and at a different scale. Added code to cope with the fact that the labels may come after the definition of the rectangle, so a rectangle identified as a port or text label will generate an empty placeholder label, and all new labels are checked against any empty labels in the database to see if they are bounded by them. If so, then the empty label is removed and the label point is replaced by the rectangle. This is a ridiculously round-about way to deal with an under-specified file format. . . Tim Edwards 2019-03-19 22:25:25 -04:00
  • ca408a8f22 Merge branch 'master' into work 8.2.100 Tim Edwards 2019-03-12 13:31:35 -04:00
  • e183a5bd5c Update at Tue Mar 12 13:31:32 EDT 2019 by tim Tim Edwards 2019-03-12 13:31:32 -04:00
  • 1f3a512909 Added a "plot svg" command that, when used in conjuction with the Cairo graphics package (magic -d XR), will map the display onto an SVG surface and save it to a file using the Cairo SVG backend. Due to the simplicity of the mapping, there are no options to this plot command; it just creates a file that is a (scalable!) replica of the layout window. Tim Edwards 2019-03-12 13:29:24 -04:00
  • c08ddd355f Merge branch 'master' into work 8.2.99 Tim Edwards 2019-02-18 10:02:00 -05:00
  • 6c69c67e17 Update at Mon Feb 18 10:01:58 EST 2019 by tim Tim Edwards 2019-02-18 10:01:58 -05:00
  • 677692e59f Corrected a potential problem with the substrate finding search, which can be given an invalid area for the search. Tim Edwards 2019-02-18 10:01:17 -05:00