Magic Code Revision History
Table of Contents
Magic 8.3 Revisions
Magic 8.2 Revisions
Magic 8.1 Revisions
Magic 8.0 Revisions
Magic 7.5 Revisions
Magic 7.4 Revisions
Magic 7.3 Revisions
Magic 7.2 Revisions
-
posted:
August 8, 2026 at 2:00am
version:
8.3
revision:
681
Added help text for option "instance [list] celldef [name]", which was missing from the HTML documentation for the "instance" command.
-
posted:
August 6, 2026 at 2:00am
version:
8.3
revision:
680
Updated the documentation for the "property" command to include the new "plane" property type (which apparently was not previously documented when implemented, an oversight), and also (added by request) to add a reminder that the "MASKHINTS" property only works in conjunction with corresponding "mask-hints" records in the tech file.
-
posted:
August 3, 2026 at 2:00am
version:
8.3
revision:
679
Multiple changes: (1) Corrections to the R-C extraction code to better handle nodes which have the recorded position at the corner of a split tile. (2) Corrected "select area label" to prevent accidentally selecting unexpanded instances in the area. Also corrects an issue with not being able to select labels that are attached to "space". (3) Changed the way that magic interprets the "sidewall" coefficient so that it is entered into the tech file as the actual sidewall coefficient instead of being half the value to correct for magic's double counting of edges. The correction is instead done when parsing the tech file. This measure was taken because the open PDK values generated by "capiche" were not halving the value, so I either change magic or I change all the tech files.
Additional changes: Moved the halving of the sidewall capacitance coefficient from the calculation to the tech file parser (done once instead of done many times), and corrected the included (old) SCMOS tech files to use the new "standard" coefficient values.
Also: Corrected a crash condition report in issue #548 where somehow the tech file setup results in a residue mask for a contact that includes the contact type itself. Therefore in ResMain.c, FindStartTile() ends up calling itself with the same arguments, ensuring an infinite loop. It is easy enough to reject the recursive call if the residue type equals the original type. The question of how a contact residue mask ended up with the contact type as part of it is not addressed by this fix, and may not have any other consequences.
Also: Added a hack to prevent a port from being added to the node kill list in "extresist". This was previously done when a device terminal could not be found and defaults to its original node name, but apparently the port itself can get disconnected from the rest of the net, which needs to be thoroughly investigated. See the issue that was posted in the netgen issue tracker (issue #108) by Simon Dorrer.
-
posted:
July 27, 2026 at 2:00am
version:
8.3
revision:
678
tcltk: don't discard piped stdin buffered before the stdin-channel swap
configure: locate scripts/ relative to the wrapper, not the CWD
Also: build: make configure relocatable (out-of-tree)
Also: build: VPATH-enable shared make machinery (out-of-tree)
Also: build: top Makefile.in + build-dir orchestration (out-of-tree)