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:
July 12, 2026 at 2:00am
version:
8.3
revision:
675
Corrected a subtle error in substrate extraction: In extHierSubstrate(), extFindNodes() is called to find just the substrate node, then ExtLabelRegions() is called to label the substrate node if such a label exists. The ExtLabelRegions() routine has a section at line 344 in which if it finds a label on the substrate plane that is over space, then it attaches the label to the default substrate region. However, if the label is inside an isolated substrate region, then it passes this check, which never actually detects whether or not the label is over space. Doing so is actually simple, since the preceding code detected connecting tiles under the label, and that fact just needed to be carried forward and checked. The upshot of the error was that if an isolated substrate region like a pwell inside deep nwell was *labeled*, then it would mysteriously get shorted to the global substrate, which is clearly wrong. Thanks to Mark Martin for providing the failing example (and apologies to Mark Martin for spending time trying to debug a very obscure problem).
-
posted:
July 11, 2026 at 2:00am
version:
8.3
revision:
674
Fixed the handling of printed units when "units grid" is used. The original implementation (which was added recently) used an inverted output scale and multiplied by it instead of dividing by it, resulting in incorrect units. However, it was not even getting to that point due to the use of uninitialized variable "crec", which should have been set from the window pointer but was missing.
-
posted:
July 10, 2026 at 2:00am
version:
8.3
revision:
673
git rm -rf oa/.deps/*
.gitignore: add .deps/
Also: oa: make it build (against stub)
Also: oa/fake_oa_stub (header file oaDB.h)
Also: oa: replace strcpy() with strcpy_s()
Also: magicOA.c: strcpy_s declaration (FIXME remove/move this)