Commit Graph

  • 63139bdfb7
    Merge 790f0196d4 into 3b1de8ff40 Gonsolo 2026-02-08 06:56:31 +0100
  • 509b92a8ef
    Merge f0c2d88b6f into 3b1de8ff40 Gonsolo 2026-02-08 06:55:02 +0100
  • efeb7b44d2
    Merge de6067ee53 into 3b1de8ff40 Jean-Paul Chaput 2026-02-07 19:22:41 -0500
  • 3b1de8ff40 Corrected an egregious error made when converting "extresist" from reading the .sim file format to reading the .ext file format, which is that .sim files use capacitance values of fF while .ext files use capacitance values of (nominally) aF. So there was a conversion factor of 1000 left over from the .sim file reading code that needed to be removed, or else parasitic values come out to be 1000 times too high. master 8.3.603 magic-8.3 R. Timothy Edwards 2026-02-06 10:50:29 -0500
  • 10a6c8635f Corrected an error with the new "extresist" code which fails to set the location of a node which was previously read as a port. But the port location was not set when reading the port, only the drivepoint, so the location is undefined and can cause a program crash. 8.3.602 R. Timothy Edwards 2026-02-05 17:57:43 -0500
  • e2292f5d70 Modified additional code in ext2spice in the subcircuit instance output which matches the code for the subcircuit definition output, so that the pin order matches between the two. The previous fix prevented pins from going missing in the subcircuit definition, but didn't match that change in the instances. This should resolve github issue #488. R. Timothy Edwards 2026-02-05 17:17:25 -0500
  • 736c507fe8 Preparing to merge another round of development work on extresist; this work is incomplete but cleans up the code a lot and removes unused code and improves misleading variable and subroutine names, as well as correcting an issue with "extresist" not recognizing the "extract path" setting. There are no known impacts to the operation of extresist itself. 8.3.601 R. Timothy Edwards 2026-02-04 07:54:43 -0500
  • c20a267a2b Updates to the README file for development work in progress. R. Timothy Edwards 2026-02-03 21:09:05 -0500
  • bad0b67ce8 Additional work to clean up the code and make some things less confusing. Saving work here while rebasing to changes in master. R. Timothy Edwards 2026-02-03 17:30:19 -0500
  • 727649b308 Saving work so I can rebase on changes made to the magic extract code which are relevant and need to be included. Current state is that hierarchical extresist "basically works" but entry and exit points through the hierarchy are not being examined, so results are currently based on port positions and not actual connections. Also, proper distribution of coupling caps has not yet been worked on. R. Timothy Edwards 2026-01-30 16:55:08 -0500
  • 4dde62b206 Start of project. Only some comments in a README file so far. R. Timothy Edwards 2026-01-28 17:20:29 -0500
  • 94edc2a23d Corrected an issue where "extresist" crashes magic if the .ext file it needs to read doesn't exist. 8.3.600 R. Timothy Edwards 2026-02-03 20:59:28 -0500
  • b248f186ec Identified a potential issue where the terminal area and perimeter calculation could result in the wrong count of shared terminals if the device consists of more than one tile, and corrected it. R. Timothy Edwards 2026-02-03 17:27:57 -0500
  • 1656866f41 Accidentally reduced by one the count of devices sharing a terminal area in a recent commit; fixed this. R. Timothy Edwards 2026-02-03 16:14:08 -0500
  • 99297e33ec Modified the way that ext2spice determines which nodes are port nodes; this should fix issues with ports not appearing in a subcircuit's port list. R. Timothy Edwards 2026-02-03 11:45:20 -0500
  • 727833fcd3 Made another update to go along with the previous commit, that changes the EFHNIsGlob() function to treat only names listed in the Tcl array variable "globals" as global, and ignore names that simply end in "!". 8.3.599 R. Timothy Edwards 2026-01-31 13:02:35 -0500
  • 47ad7682fb
    Merge d825f6cafe into 4b120eb417 Torleif Skår 2026-01-31 12:07:39 -0500
  • feb5d61294 Removed two lines of code in the EFHNBest() routine that prefer a name with a trailing exclamation point over any other name. The handling of global names might be properly implementable, but this is not it, as it will favor a non-port default name or a subcircuit name over a port. R. Timothy Edwards 2026-01-31 10:40:29 -0500
  • 4c5bc74dbc
    Merge 8a47a8ac58 into 4b120eb417 anirban 2026-01-31 16:35:38 +0530
  • 4b120eb417 Corrected two errors related to extraction: (1) All parasitic extraction: The "defaultperimeter" and the "defaultsideoverlap" commands were failing to exempt types other than space from the list of edges from which fringing capacitance is evaluated. This led to incorrectly considering the boundary between types such as poly and nfet, or between metal1 and rm1, to be sidewall areas. The "default" statements are supposed to consider the most common usage, so the code has been changed to make sure that only edges from material to space are considered. In the rare case that a material-to-material edge in the same plane should be considered a sidewall, the non-default statements can be used instead. (2) Hierarchical parasitic extraction: Magic was incorrectly adding capacitances for subcells which had been output already when handling subcircuit connections during "ext2spice". This duplicate counting has been eliminated. 8.3.598 R. Timothy Edwards 2026-01-30 16:47:36 -0500
  • 790f0196d4 Fix termio. Gon Solo 2026-01-23 16:18:10 +0100
  • 55eadcfb90 Updated some of the HTML command reference documentation to reflect changes just made in the "extract" and "extresist" commands. 8.3.597 R. Timothy Edwards 2026-01-28 17:05:00 -0500
  • b4f62abb40 Removing my file of notes during development of the extresist code; the file exists in git history but shouldn't be kept in the current master branch. R. Timothy Edwards 2026-01-28 15:59:08 -0500
  • deefe0e3a3 Updated the version after merging the new extresist code changes. R. Timothy Edwards 2026-01-28 14:35:45 -0500
  • 57c33c48c7 Final work on the first stage of the extresist overhaul. The "extresist" command continues to work as before. However, the method now reads from .ext files instead of .sim files, so generating ".sim" and ".nodes" files is no longer necessary. In addition, the core code of "extresist" was put directly into ExtCell.c so that full R-C extraction can be run using "extract do resistance" followed by "extract all", without needing to run "extresist" at all other than to set parameters (e.g., "extresist tolerance 10"). R. Timothy Edwards 2026-01-28 14:31:38 -0500
  • 76f97c90e5 Slowly working through things needed for removing the ".sim" file dependency of "extresist". Stopping and committing work in order to rebase from the master branch. R. Timothy Edwards 2026-01-27 11:56:47 -0500
  • 297a05c4ed More notes in the README file. R. Timothy Edwards 2026-01-22 12:34:58 -0500
  • b768fcc3f9 Beginning to tear apart the extresist code; work in progress and a lot of construction mess. R. Timothy Edwards 2026-01-22 12:38:10 -0500
  • 4943da5ce4 Starting new project; only a README so far. R. Timothy Edwards 2026-01-20 16:02:15 -0500
  • 512400e39f Added a feature to the wiring tool so that "Control_Button1" (Ctrl key + left mouse button) will start a wire at the current cursor position with the wire values set by "wire type" and reported by "wire values". So "wire type metal1 0.28um" will always start a 0.28um wide wire of metal1 regardless of what is present at the cursor location. 8.3.596 R. Timothy Edwards 2026-01-27 11:49:33 -0500
  • 0cbed6078a 2nd part of last commit's work: Implement a simple math solving parser that allows simple expressions to be entered for dimensions, such as "2um + 2um" or even mixtures of units like "3um + 200i". This feature is currently experimental. 8.3.595 R. Timothy Edwards 2026-01-24 21:02:00 -0500
  • 9760ef6d1d Made some changes to the "snap" HTML document to reflect the way that "units" now affects its behavior. R. Timothy Edwards 2026-01-24 16:55:14 -0500
  • bd13febb72 Added HTML documentation for the new "units" command. R. Timothy Edwards 2026-01-24 16:50:16 -0500
  • 81436b75ed Reworked the way that magic displays measurement values (both linear and area) so that they are consistent across commands. The default behavior remains the same, for backwards compatibility. However, a new "units" command has been added, so that "units microns" results in measurements always being displayed in microns, with choice of that or "internal", "lambda", or "grid". The units themselves may be printed (for interactive use) or not (for scripted use). The use of "units" is independent of "snap", after overriding the default behavior, so that units parsed on the command line are interpreted according to "units", not to "snap". R. Timothy Edwards 2026-01-24 16:19:12 -0500
  • f0c2d88b6f Fix K%R in DBbound.c. Gon Solo 2026-01-23 17:48:18 +0100
  • 488f86ffb0 Fix termio. Gon Solo 2026-01-23 16:18:10 +0100
  • 6a07bc172b Fix buf size. Gon Solo 2026-01-23 11:01:23 +0100
  • 8822f8dce2 Added additional code to make the last pull request merge work, which is to not force a setting for the command entry window when creating a new window if the option variable already exists. 8.3.594 R. Timothy Edwards 2026-01-22 11:55:36 -0500
  • f03003b79f Just added a comment to the command entry enablement in the wrapper.tcl script. R. Timothy Edwards 2026-01-22 11:42:45 -0500
  • 802c31d16a wrapper.tcl: allow cmdentry to be enabled (by default) Daniel Hwang 2024-05-24 11:34:51 -0700
  • 582b05a201
    Merge f6b4671d96 into 4d9c7fd7d7 Dan Moore 2026-01-22 16:24:09 +0000
  • 308224109f Multiple fixes and updates: (1) Fixed an error that was introduced in version 8.3.590 with a patch that should have been applied only for the case of BJT devices, and not for MOSFETs. The patch will cause devices generated by "device mosfet" or "device asymmetric" to be read incorrectly from a .ext file during "ext2spice". (2) Fixed an error in the tech file reading, where using CDL parameters on a capacitor device would cause the tech file loader to print an error message. The parsing was correct and only the message should not have been printed. (3) Added a new feature with the new command option "extract do unique". This replaces the "extract unique" command by running the same code within the extraction, but has the additional effect of reverting the label changes afterward. This prevents the user from inadvertently writing the altered labels back to the database file. R. Timothy Edwards 2026-01-22 11:20:20 -0500
  • bc67ee96bc
    Merge fb85e97b92 into a55ec49434 Oran C 2026-01-21 23:36:20 +0000
  • 2e2450ba62
    Merge ff6bcecd9f into a55ec49434 Darryl Miles 2026-01-21 23:18:05 +0000
  • 53aa688c61
    Merge 402080049b into a55ec49434 Darryl Miles 2026-01-21 22:02:22 +0000
  • 4d9c7fd7d7 Corrected an inadvertent error in ResMakeRes.c introduced in a recent commit, and fixed a more long-standing error in ext2spice.c where a nodeClient structure was initialized to the wrong type. 8.3.593 R. Timothy Edwards 2026-01-21 14:26:15 -0500
  • a55ec49434 Corrected a callback function call in the router code which was made outside of a search routine and so needed to have a "dinfo" argument added. 8.3.592 R. Timothy Edwards 2026-01-20 15:56:50 -0500
  • c0dbb2067b Corrected an error in "extresist" that can cause a segfault which is unrelated to recent code changes, and also corrected a bunch of code to (somewhat) more properly handle non-Manhattan geometry. R. Timothy Edwards 2026-01-20 12:59:36 -0500
  • b59708e27a Updating the version number after merging in work done in a separate branch. This completes the work preventing magic from altering tile record contents during a basic search, but also corrects W and L calculations for non-Manhattan geometry, and a number of other corrections detailed in the branch's commit messages. 8.3.591 R. Timothy Edwards 2026-01-19 17:41:22 -0500
  • c0c5e1b5bf Last set of changes to get non-Manhattan area and perimeter device extraction working, and also resolved an unrelated error in "getnode" and another unrelated error reading "resist" values from the tech file "extract" section. R. Timothy Edwards 2026-01-19 17:18:10 -0500
  • 3de9ed9cbf More updates. . . Got it to the point were gpio_ovtv2 is LVS clean, which has never happened before. R. Timothy Edwards 2026-01-17 20:49:52 -0500
  • 846c8e0f65 Additional changes; fixed some of the most problematic issues involving searches on split tile areas, including one very important check for interaction between split tiles during hierarchical extraction. There is still something wrong in the hierarchical extraction, but it could be the last remaining issue. R. Timothy Edwards 2026-01-15 21:35:46 -0500
  • de6067ee53 Add backward compatiblity code for <termio.h>. Jean-Paul Chaput 2026-01-14 23:39:02 +0100
  • 8bd01f5597 Additional work to incorporate handling of split tiles throughout the extraction, especially for routines like ExtFindNeighbors where it was previously not handled at all. A new method was introduced in which split tiles with neither side TT_SPACE will get an extra allocated structure that contains pointers to two regions representing the nodes on the tile's left and right sides, independently. The fix (as yet not fully tested) should resolve problems with extracting the sky130 I/O cells, which contain a FET with 45 degree angles on the gate, where a split tile is divided between the gate and the source or drain, and therefore represents two different nodes. Also, there were extraction errors related to incorrect handling of split tiles having only one node, where a split tile became connected to the wrong node. R. Timothy Edwards 2026-01-09 11:58:35 -0500
  • 1cb58e973a Committing changes to date, which includes a number of fixes, especially around the extraction code. Extraction is now more or less working, although the original known issues around areas where split tiles contain two regions has not yet been addressed. R. Timothy Edwards 2026-01-05 16:57:21 -0500
  • 516c9d7635 First cut of pulling the TT_SIDE bit out of the tile database and forcing it to be passed as an argument to all the callback functions for the search routines that require it. Magic now compiles and runs with the new code, but there are a number of known issues that need to be fixed up. Committing now so that I can rebase on the last update to the master branch. R. Timothy Edwards 2026-01-02 20:12:37 -0500
  • d24d52e403 Corrected an error in EFbuild.c in routine efBuildDevice(), which had one error and one missing method. The error was an incorrect argument count for regular (not subcircuit) FETs and BJTs. The missing method was to handle parameters w0, w1, w2, etc., like l0, l1, l2, . . . Those had been defined for output in ExtBasic.c but were not being handled on input from the .ext file. This fix corresponds more or less to PR #480 on github, although that PR incorrectly addressed the argument numbering problem, so I have redone the code changes by hand. 8.3.590 R. Timothy Edwards 2026-01-09 11:51:11 -0500
  • 4ae6467874
    Changed bjt device parameter processing to match *subckt devices. Mitch Bailey 2026-01-09 14:48:43 +0900
  • a93d248a5a Removed some diagnostic print lines that had been used for debugging the problem that was corrected in the December 29 commit, and which had inadvertently been left in the code. 8.3.589 R. Timothy Edwards 2026-01-05 16:56:05 -0500
  • 4ccd5a78d1 Corrected a couple of lines in the paint code that had been improperly messed with during a commit back in August. At the time I was unsure of what to do with those lines, but now I'm quite sure they were correct to have been commented out. I have now removed them so that they should not cause trouble in the future. Quick explanation: After a non-Manhattan tile 4-way split, merging should be done to the left conditionally on the merge flags (the latter part of that being the August 1 fix), but merging should never be done to the right because the right side is still fractured and has yet to be visited. The merging will eventually get handled. Whether the merge flag has been set or not does not matter. 8.3.588 R. Timothy Edwards 2026-01-02 19:54:08 -0500
  • f998f8ee6f Corrected an error that has been known for a while but which had not previously been tracked down. Behavior was that GDS additions to correct hierarchical interactions would miss areas, especially on large chip designs. This was found to be caused by a nested use of DBSrCellPlaneArea(); the inner use was changing the outer use's search area and causing it to exit early. Corrected by removing the nested use of the subroutines. Also, created a proper client data structure to pass information to and from the subroutine, eliminating the ugly global variables that had been used for that purpose. 8.3.587 R. Timothy Edwards 2025-12-30 12:15:15 -0500
  • 662e21a2d1 Corrected an error that had been introduced when creating the parameter types "l1", "l2", etc., for terminal lengths. There was a string comparison against an unterminated character array which was causing intermittant errors. This problem was masking the incorrect handling of "l1", "l2", etc., parameters. The parameter types had been introduced to cover a specific type of drain-unsalicided FET in GF180MCU, which is used as an ESD device in the foundry I/O cells, so the impact had been relatively limited, although typically showed up as unexpected property errors on the ESD devices when running LVS on a chip top level. Both discovered errors have been fixed. 8.3.586 R. Timothy Edwards 2025-12-29 10:52:08 -0500
  • 949ec7672c Reworked the code from the previous commit in a completely different way. The code as previously written was undermining other code written to avoid long run-times on ext2spice, and didn't solve at least one issue with unnecessary resistor shorts being added to the netlist output. The current solution fixes one underlying problem where a wrongly-placed parenthesis caused the "preferred net name" routine EFHNBest() not to be run, which prevented original node names from being preferred over their suffixed versions created by "extract unique". However, I also added code to EFbuild.c to merge unique nodes when the nodes are not really unique. The problem is caused by "extract unique" operating only on one level of hierarchy and being unable to see where nets may connect through subcircuits. That can be determined from the "merge" statements in the .ext file, and now the EFbuild routines will merge these "false unique" names back into the original net. 8.3.585 R. Timothy Edwards 2025-12-24 16:00:08 -0500
  • bd417aa54b Updating the version number to go along with the merge of pull request #478 from Mitch Bailey. Also edited the code from the PR for programming style. R. Timothy Edwards 2025-12-24 11:31:43 -0500
  • 73e08e0c88 Prefer original ports over duplicate ports in extracted spice netlist. Mitch Bailey 2025-12-24 13:32:26 +0900
  • 76032503ff
    Prefer original ports over duplicate ports in extracted spice netlist. Mitch Bailey 2025-12-24 13:32:26 +0900
  • 893a36cae7 Updated the version to go along with the merge of pull requests 475, 476, and 477 (first ones for mac OS and arch Linux support on github; the last to modify recent code changes to work with the last code merge for eliminating the one-off freeMagic(). 8.3.584 R. Timothy Edwards 2025-12-22 09:57:56 -0500
  • 3b4d66e7d7 freeMagic1() additions Darryl L. Miles 2025-12-20 18:46:13 +0000
  • 5e8a3f038a CalmaWrite: fix: introduced memory leak, missed free Darryl L. Miles 2025-12-20 18:43:09 +0000
  • 9850c5586e GHA: main-aarch64.yml: insert apt-get update Darryl L. Miles 2025-12-20 19:30:38 +0000
  • 27df5f9c5f GHA: Migrate macos-13 => macos-15-intel Darryl L. Miles 2025-12-20 19:18:12 +0000
  • ca0e8b9435 GHA: main-aarch64.yml: insert apt-get update Darryl L. Miles 2025-12-20 19:30:38 +0000
  • 3f951c54e5 GHA: Migrate macos-13 => macos-15-intel Darryl L. Miles 2025-12-20 19:18:12 +0000
  • 64c3b65a05 freeMagic1() additions Darryl L. Miles 2025-12-20 18:46:13 +0000
  • f6875f28cf CalmaWrite: fix: introduced memory leak, missed free Darryl L. Miles 2025-12-20 18:43:09 +0000
  • e9202c1d29 malloc: remove #pragma weak as MacOS does not like 8.3.583 Darryl L. Miles 2025-10-29 23:34:33 +0000
  • ea1a89b19c EFbuild.c: efConnectionFreeLinkedList() remove delay-by-one assumption Darryl L. Miles 2025-02-26 13:21:46 +0000
  • 9489b23985 freeMagic1() idiom insertion at all sites reported by static code analysis Darryl L. Miles 2025-02-13 08:11:16 +0000
  • c74215ad55 scripts/defs.mak.in: FEATURE_FLAGS -DSUPPORT_DIRECT_MALLOC -DSUPPORT_REMOVE_MALLOC_LEGACY Darryl L. Miles 2025-02-13 08:19:42 +0000
  • 4201f56048 callocMagic has same API argument convention as calloc() Darryl L. Miles 2025-02-13 08:09:55 +0000
  • 26372f5d50 gtTkCommon.c: SUPPORT_DIRECT_MALLOC around function pointer use of legacy malloc Darryl L. Miles 2025-02-13 08:19:19 +0000
  • ef419258ab SUPPORT_DIRECT_MALLOC and SUPPORT_REMOVE_MALLOC_LEGACY Darryl L. Miles 2025-02-13 08:16:39 +0000
  • 97134848ab A few minor changes to message reporting, plus some additional support for compressed formats, specifically when given on the command line (which is handled in a Tcl script, not in the C code). R. Timothy Edwards 2025-12-19 09:30:35 -0500
  • 00c692b140 Added better support for compressed .mag files. While magic doesn't generate compressed .mag files itself, it is often very useful to compress a massive layout file to save disk space or to hit a github size target. The code change looks for files with either ".mag" (default) or ".mag.gz" extensions. No check is made to see if both files might exist at the same time and have incompatible content; it is up to the end user to manage the file compression. 8.3.582 R. Timothy Edwards 2025-12-11 09:55:28 -0500
  • 203ece1a16 Fixed the "interacting" GDS output operator (which includes "noninteracting", "overlapping", and "nonoverlapping") which were incorrectly ignoring tiles outside the search area. Otherwise they will miss areas that pass outside of the the search area and return back inside somewhere else. 8.3.581 R. Timothy Edwards 2025-12-01 15:16:14 -0500
  • 22a230edc9 Found a mistake in the original edit for time stamps from two commits back, and fixed it. Also found that the version was changed between today's first two commits, which it should not have been, so dialed it back. 8.3.580 R. Timothy Edwards 2025-11-29 15:49:17 -0500
  • 7f1217596e Missed one additional place in the last commit where timestamps need to be predecated on the read/write status of cells. R. Timothy Edwards 2025-11-29 15:01:21 -0500
  • ff718c3ecf Got rid of one problem with timestamps, which was the requirement to force an update on a child cell to match the timestamp of the parent. This is no longer done on read-only cells, although it probably ought to be applied to all cells. A timestamp should change when a cell has been modified, but a parent cell should never force a child cell to update its timestamp if the child cell has not been modified. The main problem is that "drc check" runs checks on all child cells, and they then are marked as modified without consideration of whether the child's DRC status changed. A better solution would be to avoid unnecessary updates by detecting a change in DRC results, but for now, just disabling updates on read-only cells (which can't be updated anyway) should suffice. R. Timothy Edwards 2025-11-29 13:24:23 -0500
  • 98aa2f760a Corrected an error from a recent commit: An attempt to add array checks when checking for exactly overlapping instances of the same cell def was faulty and resulted in magic no longer detecting when unarrayed instances exactly overlap. Now both conditions (arrayed and not arrayed) should be handled correctly. 8.3.579 R. Timothy Edwards 2025-11-25 12:57:46 -0500
  • 441d933148 Updated version to go along with the merge of pull request #473 from Sylvain Munaut. 8.3.578 R. Timothy Edwards 2025-11-23 17:06:56 -0500
  • 9d3fb61cf3 defRead: Accept usename longer than 511 char Sylvain Munaut 2025-11-23 20:14:21 +0100
  • 8a47a8ac58 docs: add Debian/Ubuntu quick install instructions anirban 2025-11-23 11:12:40 +0530
  • a1fb779314 Added a LEF section to nmos.tech, provided by Dave in fossi-chat.org. 8.3.577 R. Timothy Edwards 2025-11-19 17:49:43 -0500
  • abd3975997 Corrected the (very old) "nmos.tech" file, which had GDS layer assignments for output but not for input. Also, one layer was given two different GDS numbers for GDS output, which was incorrect. R. Timothy Edwards 2025-11-19 17:42:40 -0500
  • 227f264838 Fixed the error that causes problems with the tile allocation. The error was in selStretchEraseFunc2() which was calling DBErase(). But DBErase() can call DBSrPaintArea() and thereby start another search of the same plane while the plane is already in a search. This is absolutely invalid. However, it is simple just to use selStretchEraseFunc2() to collect a mask of the types that need to be erased and pass that back to the caller, and apply DBErase() to each type in the mask, outside of the DBSrPaintArea() search. With this fix, the tile allocation is no longer causing problems, and the code to add tiles deallocated by TiJoinX and TiJoinY to the free tile list has been uncommented again. 8.3.576 R. Timothy Edwards 2025-11-09 12:52:03 -0500
  • c87e5baff4 Rolling back part of the last commit; the correction to the tile allocation fixes the issue with memory being grabbed constantly and never released, but re-surfaces an error with tiles being used after being freed. This is assumed to be a long-standing bug that has not been found yet. Meanwhile, the error that uses up excess memory is better than the error that causes layouts to get completely screwed up. 8.3.575 R. Timothy Edwards 2025-11-08 17:24:09 -0500
  • 957d7edd64 A number of things in one commit: 1) Added a "*showmem" "wizard" command to get a dump of all memory being used by tiles in the database. 2) Made a slight correction to the way magic detects exact overlap of instances of the same cell. This probably does not make any actual difference in practice. 3) Corrected an uninitialized variable in dbReComputeBboxFunc(). 4) Changes DBSrCellPlaneArea() to use a static BPEnum variable, so that it does not waste time allocating and freeing memory for the same thing over and over again. 5) Corrected a memory leak in the tech file "extract" section that loses memory every time the extraction style is changed. 6) Corrected the tile join routines to fix a bad memory leak in the tile allocation and recovery---a fix which was mentioned in issue #414 but which had not yet been implemented. This has now been tested and confirmed to work. 8.3.574 R. Timothy Edwards 2025-11-07 11:00:22 -0500
  • 969137d1e2 Corrected an unfortunate error from the previous commit due to missing copying one line with a conditional. The error results in "bloat-all" DRC checks reporting false positive errors. This commit fixes that error. 8.3.573 R. Timothy Edwards 2025-11-03 15:06:54 -0500
  • f3adea8c65 Made a few corrections to recent code additions. Also added more points to accept interrupts during DRC checks, and modified the tech file parser to allow the full syntax for magic layers that is allowed elsewhere (e.g., "(*ndiff,poly)/a") (this applies to magic layers, not GDS layers). Fixed a clipping error in the bloat-all function which was causing non-manhattan geometry to produce bad results, which would cause false-positive DRC errors when used in a CIF-DRC rule. 8.3.572 R. Timothy Edwards 2025-10-31 17:37:02 -0400
  • 246c0ea7a4 Extended the "maxwidth" DRC rule to take an optional set of layers that exclude the maxwidth rule from taking effect. This is especially useful for implementing a maxwidth rule on top metal that does not apply to pads, using the passivation cut layer to prevent the maxwidth rule from being applied. 8.3.571 R. Timothy Edwards 2025-10-30 16:39:54 -0400