One fix to the last commit, to correct the order of arguments in the "device" line in the magic tech file for the new special nfet and pfet devices. All parameter limit checks must appear before the parameter declaration (because they are parsed backwards). Probably magic should be modified to make the argument order arbitrary.
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech index e784bc3..5fd5a94 100644 --- a/sky130/magic/sky130.tech +++ b/sky130/magic/sky130.tech
@@ -6453,18 +6453,18 @@ *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w \ a1=as p1=ps a2=ad p2=pd device msubcircuit sky130_fd_pr__pfet_01v8_hvt pfethvt,scpfethvt \ - *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w \ - w>=0.42 a1=as p1=ps a2=ad p2=pd + *pdiff,pdiffres *pdiff,pdiffres nwell error w>=0.42 l=l \ + w=w a1=as p1=ps a2=ad p2=pd device msubcircuit sky130_fd_pr__special_pfet_01v8_hvt scpfethvt \ - *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w \ - w<0.42 a1=as p1=ps a2=ad p2=pd + *pdiff,pdiffres *pdiff,pdiffres nwell error w<0.42 l=l \ + w=w a1=as p1=ps a2=ad p2=pd device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet \ - *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w \ - w>=0.42 a1=as p1=ps a2=ad p2=pd + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error \ + w>=0.42 l=l w=w a1=as p1=ps a2=ad p2=pd device msubcircuit sky130_fd_pr__special_nfet_01v8 scnfet \ - *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w \ - w<0.42 a1=as p1=ps a2=ad p2=pd + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error \ + w<0.42 l=l w=w a1=as p1=ps a2=ad p2=pd device msubcircuit sky130_fd_pr__special_nfet_latch npd \ *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w \ a1=as p1=ps a2=ad p2=pd