Commit Graph

  • 2006d086e3 txMain.c: MAGIC_WRAPPER constify fix Darryl L. Miles 2025-08-25 11:25:27 +0100
  • 673fd4e087 database: DBTypeLongNameTbl() constify data (const char*) Darryl L. Miles 2025-08-25 11:19:15 +0100
  • 4de269763f database: DBTechAddPlane() constify API (const char*) Darryl L. Miles 2025-08-25 11:16:55 +0100
  • e543075e50 database: DBTechInitPlane() consumer (DBPlaneLongNameTbl constify) Darryl L. Miles 2025-08-25 11:13:38 +0100
  • eb72a3e6d2 database: DBPlaneShortName() return const char * Darryl L. Miles 2025-08-25 11:08:26 +0100
  • 4d0f49d2a2 database: DBTypeShortName() return const char * Darryl L. Miles 2025-08-25 11:01:41 +0100
  • b5d7fb080b EFread.c: ANSI prototype efReadDef() Darryl L. Miles 2025-10-03 23:12:39 +0100
  • 18e3bcfbe8 EFbuild.c: ANSI prototype efBuildDevNode() Darryl L. Miles 2025-10-03 23:11:45 +0100
  • dd8b5af5ad SimSelect.c: fix theoretical potential to write to .rodata string Darryl L. Miles 2025-10-03 23:08:39 +0100
  • 4d58789c69 extflat: ANSI prototype efBuildDevice() and constify (const Rect*) Darryl L. Miles 2025-10-03 22:33:46 +0100
  • 7e586753df CmdRS.c: SimGetNodeCommand() returns (const char *) now Darryl L. Miles 2025-10-03 22:33:11 +0100
  • 15be834bb1 CmdFindLabel: fix off-by-one error with: findlabel -glob name Darryl L. Miles 2025-10-03 22:32:18 +0100
  • 593468e13e commands: Various fixes for TxPrintf() with !MAGIC_WRAPPER Darryl L. Miles 2025-10-03 22:10:25 +0100
  • 00a9da2ba7 plow: add ANSI prototypes plowMergeBottom() plowMergeTop() Darryl L. Miles 2025-10-03 22:08:37 +0100
  • 0f012f3194 plotRutils.c: use #include <math.h> Darryl L. Miles 2025-10-03 22:07:14 +0100
  • 09668bc462 SimSelect.c: constify (const char*) TLE.tl_nodeName TLE.tl_simLabel Darryl L. Miles 2025-10-03 22:06:56 +0100
  • b30a5ccf4b magic.h: DLONG_PREFIX add other Linux 64bit ifdefs Darryl L. Miles 2025-10-03 22:05:39 +0100
  • 0df4c5eabf GHA: .github/workflows/main-aarch64.yml Darryl L. Miles 2025-10-03 21:05:33 +0100
  • bb131f14d0 One additional modification to output the message about duplicate cells as a "note" if "gds noduplicates" has been set, and a "warning" otherwise. This makes error handling of magic's output a bit easier. 8.3.555 R. Timothy Edwards 2025-10-01 15:38:41 -0400
  • 78f7d22796 A number of changes: 1) Corrected spurious error messages about cells already existing in GDS when using "flatten" or "flatglob". 2) Fixed handling of resistance as a subcircuit parameter 3) Added area and perimeter resistance for a device; this is done through the "devresist" statement in the tech file, which is an extension of the original "fetresist" statement. Where "fetresist" only supported type "linear", "devresist" supports types "area" and "perimeter". 4) Support for CDL syntax, including generating subcircuit-like parameters for components starting with SPICE-standard prefixes like M, R, C, etc., adding "/" between pins and subcircuit name, and saving the file as ".cdl" instead of ".spice". 5) Estimated L and W for devices whose geometry is complex and do not reduce to a simple rectangle. L and W are estimated as the square root of the area. 6) Changed the method of extracting L and W for diodes to use the same method as capacitors. Note that diodes are not usually specified by L and W, but if they are, this will produce the right result. 7) Corrected the reported filename and line number when printing error messages related to errors inside a technology file, when the technology file uses "include" to combine multiple files. R. Timothy Edwards 2025-10-01 15:17:49 -0400
  • b1c7b52ed2 Modified "gds flatglob" to have the value "*_CDNS_*" by default, since this is a common artifact of foundry cells and almost always incompatible with magic. Modified the "port" command to allow "port make <index>" on a label where other labels of the same text already have the same index. Removed deprecated documentation and added some missing documentation, such as an explanation of the "ext2spice subcircuit auto" option. 8.3.554 R. Timothy Edwards 2025-09-26 09:18:43 -0400
  • 5de118b762 Corrected the greatest common factor routine that is run when doing "save", which was missing checks on properties representing coordinates (e.g., FIXED_BBOX) resulting in those values potentially getting truncated by scaling the output to an incompatible common factor. Thanks to Sylvain Munaut for finding the issue! 8.3.552 R. Timothy Edwards 2025-09-17 12:20:13 -0400
  • 00e3bbd12a Corrected the tech loader, which was failing to set the file prefix when doing a reentrant load, causing include files to not be found. Fixed a divide-by-zero issue that occurs when some tech file sections are not loaded to the abovementioned error. 8.3.551 R. Timothy Edwards 2025-09-11 10:51:14 -0400
  • 0022c502c8 Correction to dbReComputeBboxFunc() to fix a potential issue with an uninitialized bounding box value. 8.3.550 R. Timothy Edwards 2025-09-10 16:54:25 -0400
  • 741216d6f3 Added a new command "archive" that works roughly like the "crash" command, but with some critical differences, since the "crash" command is designed for crash backups. "crash" will save in a temp file and removes the file after a successful recovery. "archive" can be used at any time to make a complete snapshot of a layout in a single file, or to read back that snapshot. There is a "writeall" option that will make a snapshot including layout of all read-only (PDK) cells. R. Timothy Edwards 2025-09-10 12:40:40 -0400
  • 6195c20d3d Fixed an egregious error introduced by the "save <file>.tcl" command handling in the previous commit, that can cause a crash whenever "writeall" is called while a cell's filename is still NULL. Thanks to Daniel Estevez for reporting the error. 8.3.549 R. Timothy Edwards 2025-09-08 09:22:14 -0400
  • 59a1953f3c Modified the GDS read routine to give location information when a self-intersecting or reversing path is seen in the input. Added a new feature in which "save <cell>.tcl" will create a file of magic commands that will re-create the cell when sourced as a command file. 8.3.548 R. Timothy Edwards 2025-09-05 17:51:46 -0400
  • d84637636a
    Another attempt (hopefully the last) at sed cross platform compatibility Mitch Bailey 2025-09-01 07:03:44 +0900
  • 38c8451c47
    Another attempt at sed cross platform compatibility Mitch Bailey 2025-09-01 06:59:19 +0900
  • 9981faea0b
    Changed sed -i option order for GNU compatibility Mitch Bailey 2025-09-01 06:51:54 +0900
  • 12cb47d41a
    Set sed backup file to null for BSD compatibility Mitch Bailey 2025-09-01 06:44:05 +0900
  • b1095b323c Added a command option for "select move" without specifying the X and Y values, in which case the selection is moved to the current pointer position. This allows a different implementation of the "copy" command as "select move; select keep", which avoids the problem that "copy" has of modifying the selection with layer interactions with the existing layout. 8.3.547 R. Timothy Edwards 2025-08-27 09:57:22 -0400
  • e9f2628f41 Reworked the "def read" command such that it creates a new CellDef for the DEF file contents, and loads the cell into the layout window when done. That makes it consistent with other similar functions such as "gds read". Existing scripts which create (by loading) a new cell before reading the DEF should not be affected by the change. 8.3.546 R. Timothy Edwards 2025-08-26 14:48:27 -0400
  • e04307c085 Corrected an issue in computing the extended (includes area of label text) vs. non-extended bounding box of a cell when doing "getcell" (and probably a number of other commands/functions, as well). A function was always computing the extended bounding box and then setting both the normal and extended bounding boxes of the cell to this value, resulting in incorrect cell selections. R. Timothy Edwards 2025-08-26 11:00:20 -0400
  • ce25a55d06
    Merge 309d865318 into d2acdac901 Daniel Hwang 2025-08-24 23:51:52 +0000
  • 26dff56185
    Merge fb85e97b92 into d2acdac901 Oran C 2025-08-24 23:51:44 +0000
  • d2acdac901 Corrected an error accidentally introduced a few commits ago in (commit 4084a6a246) in which a misplaced close-brace altered the way that "getcell" handles some orientation cases. Thanks to Sylvain Munaut for discovering the error. 8.3.545 R. Timothy Edwards 2025-08-21 10:44:24 -0400
  • 8d762b4f59 Corrected an error that accidentally misses an input line from a LEF macro if the FOREIGN statement ends without the optional coordinates. 8.3.544 R. Timothy Edwards 2025-08-20 15:01:57 -0400
  • 0301bdec9e Made a simple change to "extresist" to set the REDUNDANT flag on nodes which are created due to having multiple ports with different names on the same wire (electrically connected pins). This prevents "extresist" from double-counting the wire. 8.3.543 R. Timothy Edwards 2025-08-19 10:00:05 -0400
  • 4084a6a246 Modified the syntax of the "getcell" command to make the arguments unambiguous, and to allow coordinates to be given in any units. To do this, the (seldom if ever used) passing of a label as a reference point was changed to require the "label" keyword before the label name, avoiding the code having to disambiguate arguments from label text. This now makes it possible to specify the coordinates in microns, lambda, etc., units. 8.3.542 R. Timothy Edwards 2025-08-15 10:24:31 -0400
  • 117ca41b8a Corrected an error in the substrate generation for extraction, where non-manhattan geometry was not being transformed into the parent orientation. This went unnoticed for some time due to testing on PDKs where substrate and well were not allowed to have non-orthogonal edges. 8.3.541 R. Timothy Edwards 2025-08-14 08:51:36 -0400
  • 0fb19e568c Extended the "spacing" and "edge"/"edge4way" rules to take an option "manhattan_dist" that causes corner checks to assume a manhattan distance measure. This is useful for checking distances involving generated edges that are created by a CIF "grow" operator. For "spacing", "manhattan_dist" is equivalent to "touching_illegal", as a use-case for forcing manhattan distance measurements in corners has not been found for other "spacing" options. 8.3.540 R. Timothy Edwards 2025-08-13 11:34:29 -0400
  • 5791ae3701 Made a small change to the "cifmaxwidth" rule check implementation to ignore non-Manhattan (split) tiles. This avoids creating false- positive DRC results on split tiles which are larger in X and Y than the max-width distance. False negatives are possible but correctly implementing a "maxwidth" rule for non-orthogonal areas requires a completely different algorithm. 8.3.539 R. Timothy Edwards 2025-08-11 12:10:09 -0400
  • b4912fd550 Updated the version to go along with the merge of pull request version 8.3.521 that, due to an argument size mismatch, causes device parameters in netlist output to be printed as zero. Also added a small extension to the list of extraction types to include "device veriloga", which has the same syntax as "device subcircuit" but generates a component type "N" (Verilog-A component) in the netlist output. 8.3.538 R. Timothy Edwards 2025-08-07 11:54:49 -0400
  • 56598ca0f4 ext2spice.c: bugfix esOutputResistor() uses name without initialization Darryl L. Miles 2025-07-24 14:36:22 +0100
  • c6fe62f64a ext2spice.c: cleanup unused localvars -Wunused-variable -Wunused-but-set-variable Darryl L. Miles 2025-07-24 14:36:22 +0100
  • ad5383c307 ext2spice.c: cleanup -Wunused-local-typedefs yesnoType Darryl L. Miles 2025-07-24 14:36:22 +0100
  • ab24761d88 ext2hier.c: cleanup unused localvars -Wunused-variable -Wunused-but-set-variable Darryl L. Miles 2025-07-24 14:36:22 +0100
  • 66f281c5e1 extflat/EFhier.c: workaround K&R cb_extflat_hiervisitresists_t Darryl L. Miles 2025-08-06 22:58:30 +0100
  • 5bdff336e9 EFhier.c: constify local vars efHierVisitSingleResist() Darryl L. Miles 2025-08-06 22:58:30 +0100
  • d4e4930de3 EFhier.c: convert to ANSI efHierVisitSingleResist() Darryl L. Miles 2025-08-06 22:58:30 +0100
  • e6f04ebb46 EFhier.c: convert to ANSI efHierVisitResists() Darryl L. Miles 2025-08-06 22:58:30 +0100
  • 8c61014677 extflat/EFvisit.c: workaround K&R cb_extflat_visitresists_t Darryl L. Miles 2025-08-06 22:58:30 +0100
  • 7a122c8619 extflat: implement cb_extflat_hiersrarray_t for efHierSrArray() efVisitSingleResist() Darryl L. Miles 2025-07-19 02:58:12 +0100
  • 420a24ef33 extflat: integrate cb_extflat_hiervisitresists_t for EFHierVisitResists() Darryl L. Miles 2025-07-20 16:29:20 +0100
  • 0141a99af5 extflat: integrate cb_extflat_visitresists_t for EFVisitResists() Darryl L. Miles 2025-07-20 16:09:08 +0100
  • 0bb29ae5f8 extflat/EFhier.c: workaround K&R ca_hiervisitdevs_proc Darryl L. Miles 2025-08-06 22:45:15 +0100
  • d59a87bafa extflat/EFvisit.c: workaround K&R cb_extflat_visitdevs_t Darryl L. Miles 2025-08-06 22:48:11 +0100
  • 6bbcd65c5f extflat: integrate cb_extflat_hiervisitdevs_t for EFHierVisitDevs() Darryl L. Miles 2025-07-20 12:52:23 +0100
  • e1be3fe7d2 extflat: integrate cb_extflat_visitdevs_t for EFVisitDevs() Darryl L. Miles 2025-07-20 00:03:14 +0100
  • 6876c007f5 extflat.h: include EFint.h (need to provide types ready for ANSI prototypes) Darryl L. Miles 2025-08-06 22:58:30 +0100
  • 301a5329db extflat: nodeSpiceHierName() constify API Darryl L. Miles 2025-07-21 22:49:52 +0100
  • 6df8257505 extflat: nodeSpiceName() constify API Darryl L. Miles 2025-07-21 22:46:03 +0100
  • e3bd60eba6 extflat: DevParam.(const char*)param_name consumer, nodeSpiceName() Darryl L. Miles 2025-07-23 20:58:41 +0100
  • d78d7eddfd extflat: nodeSpiceName() consumer Darryl L. Miles 2025-07-23 21:06:12 +0100
  • aa0b033053 extflat: spcdevOutNode() constify API Darryl L. Miles 2025-07-23 20:10:03 +0100
  • 22b96d5112 EFantenna.c: antennacheckVisit cb_extflat_visitdevs_t Darryl L. Miles 2025-07-19 15:20:09 +0100
  • a00a5eb1b2 EFantenna.c: convert to ANSI antennacheckVisit() Darryl L. Miles 2025-08-06 22:58:30 +0100
  • fddb458339 extflat: forward declaration arguments added Darryl L. Miles 2025-07-19 02:08:18 +0100
  • 05876c63d2 EFtypes.h: new header file to provide types for extraction subsystem Darryl L. Miles 2025-07-18 22:55:21 +0100
  • f031d16f50 database.h: refactor struct ArrayInfo defn into it arrayinfo.h Darryl L. Miles 2025-07-18 22:50:28 +0100
  • 66d6931120 EFint.h: remove nonexistent function decl EFRootDef() Darryl L. Miles 2025-07-18 22:14:11 +0100
  • a31018f721 ext2spice: use strict callback prototypes Darryl L. Miles 2025-07-18 22:02:48 +0100
  • ddc0adcb41 extcheck: use strict callback prototypes Darryl L. Miles 2025-07-18 22:00:55 +0100
  • 22ffeee2a4 extcheck: forward declaration arguments added Darryl L. Miles 2025-07-18 18:41:04 +0100
  • d7fa508067 extcheck: use 'const' with 'rcsid' Darryl L. Miles 2025-07-18 18:38:13 +0100
  • 05c242a28f K&R extcheck/*.c: bulk function implementation conversion Darryl L. Miles 2025-07-18 18:37:44 +0100
  • b8170ea851 appimage: README.md update (add example on how to run inside docker) 8.3.537 Darryl L. Miles 2025-08-05 18:59:59 +0100
  • a9a9efca57 appimage: AppRun minor change for more seamless docker use Darryl L. Miles 2025-08-05 18:57:55 +0100
  • 2e4a9fd2d2 GHA: appimage: bring back tag --list -n message in release info Darryl L. Miles 2025-08-05 18:54:53 +0100
  • 48dccc68c6 tile.c: fix TiFree() non-inline symbol should always be emitted Darryl L. Miles 2025-08-05 18:44:47 +0100
  • b577619395 ext2spice: parallelDevs constify API (const devMerge*) Darryl L. Miles 2025-07-24 14:36:22 +0100
  • 7ab4911514 Revert "Added a type cast in ext2spice/ext2hier.c to avoid having the" Darryl L. Miles 2025-08-05 19:28:57 +0100
  • 3472474617 Re-implemented parts of the DRC angle check to make it consider that all layer types passed to a single "angles" statement in the tech file are mutually non-interacting. That is, "angles allm1 45" will check angles on edges between metal1 and space, but not edges between metal1 and via (which makes sense, given that a via is an area into which to place contact cuts, and its edge is not a physical boundary). R. Timothy Edwards 2025-08-06 09:22:12 -0400
  • 0f6e4ce101 appimage: README.md update (add example on how to run inside docker) Darryl L. Miles 2025-08-05 18:59:59 +0100
  • 4d1bc6f844 appimage: AppRun minor change for more seamless docker use Darryl L. Miles 2025-08-05 18:57:55 +0100
  • 63d4218082 GHA: appimage: bring back tag --list -n message in release info Darryl L. Miles 2025-08-05 18:54:53 +0100
  • 8e8c30c718 ext2spice: parallelDevs constify API (const devMerge*) Darryl L. Miles 2025-07-24 14:36:22 +0100
  • b905d71b64 Revert "Added a type cast in ext2spice/ext2hier.c to avoid having the" Darryl L. Miles 2025-08-05 19:28:57 +0100
  • 139057127f tile.c: fix TiFree() non-inline symbol should always be emitted Darryl L. Miles 2025-08-05 18:44:47 +0100
  • a3d02d92cc Added a type cast in ext2spice/ext2hier.c to avoid having the compiler complain about a "const" variable passed to a routine not declaring "const". 8.3.536 R. Timothy Edwards 2025-08-04 16:38:41 -0400
  • 1653b982af CodeQL FileMayNotBeClosed.ql flock.c may also leak 'fd' in error paths Darryl L. Miles 2025-02-13 08:23:07 +0000
  • 0dac3fd19c path.c: CodeQL File{MayNot,Never}BeClosed.ql file-handle resource leaks Darryl L. Miles 2025-02-13 08:22:28 +0000
  • 63ad80b8bc Added the keyword "COVER" to the list of keywords expected for a PIN entry in a DEF file when read by "def read". Previously, "PLACED" and "FIXED" were handled, but "COVER" was missed. Magic treats all three the same way. R. Timothy Edwards 2025-08-04 16:13:36 -0400
  • 2630ebcde1 Reverted a change made to "select area" earlier in the year, which changed the behavior from selecting subcells if they are unexpanded to selecting subcells regardless of the expansion state. The change was short-sighted and the implementation hard to use. There is a need, I think, for a selection method that effectively unexpands instances, selects everything, and re-expands afterward. But it's not clear if it is better to select all touching instances or instances inside the box area; maybe only interacting instances (instances with non-space content inside the box). Regardless, it needs more thought, and meanwhile, the original behavior works better. R. Timothy Edwards 2025-08-04 14:39:10 -0400
  • 4e08d178dc appimage: allow git tags with annotation to match expected SHA for ChangeLog 8.3.535 Darryl L. Miles 2025-07-24 15:10:40 +0100
  • 3e5502b936 readline/Makefile: clean fix to unwanted error message Darryl L. Miles 2025-07-24 15:10:40 +0100
  • 8ed7394431 Corrected some basic paint code related to drawing over top non- Manhattan tiles. After splitting a non-Manhattan tile crossing a search area to paint, the routine was automatically merging tiles to the right. This is incorrect for tiles inside the search area, as it can cause the search algorithm to miss unvisited tiles whose origins are to the left of the split tile, resulting in part of the area not getting painted. R. Timothy Edwards 2025-08-01 10:47:01 -0400
  • 1a139e77c7 CodeQL FileMayNotBeClosed.ql flock.c may also leak 'fd' in error paths Darryl L. Miles 2025-02-13 08:23:07 +0000
  • d5c2b0ef9d path.c: CodeQL File{MayNot,Never}BeClosed.ql file-handle resource leaks Darryl L. Miles 2025-02-13 08:22:28 +0000