| #--------------------------------------------------------------------- | 
 | # 1) must set the variable PDK_ROOT | 
 | #--------------------------------------------------------------------- | 
 |  | 
 | puts stdout "Sourcing design .magicrc for technology sky130A ..." | 
 |  | 
 | #--------------------------------------------------------------------- | 
 |  | 
 | # Put grid on 0.005 pitch.  This is important, as some commands don't | 
 | # rescale the grid automatically (such as lef read?). | 
 |  | 
 | set scalefac [tech lambda] | 
 | if {[lindex $scalefac 1] < 2} { | 
 |     scalegrid 1 2 | 
 | } | 
 | #--------------------------------------------------------------------- | 
 | # | 
 | # Allow override of DRC on/off from environment variable DRC | 
 | # | 
 | #--------------------------------------------------------------------- | 
 | if {[catch {set DRC $env(DRC)}]} { | 
 |     # default value | 
 |     	drc  off | 
 | } else { | 
 | 	drc style drc(full) | 
 | 	drc euclidean on | 
 | 	sdrc $DRC | 
 | } | 
 | # | 
 | #--------------------------------------------------------------------- | 
 | # Allow override of PDK path from environment variable PDKPATH | 
 | # | 
 | if {[catch {set PDKPATH $env(PDKPATH)}]} { | 
 |     set PDKPATH "$::env(PDK_ROOT)/sky130A" | 
 | } | 
 | #--------------------------------------------------------------------- | 
 | # loading technology | 
 | tech load $PDKPATH/libs.tech/magic/current/sky130A.tech | 
 |  | 
 | #--------------------------------------------------------------------- | 
 | # load device generator | 
 | source $PDKPATH/libs.tech/magic/current/sky130A.tcl | 
 |  | 
 | #--------------------------------------------------------------------- | 
 | # load bind keys (optional) | 
 | # source $PDKPATH/libs.tech/magic/current/sky130A-BindKeys | 
 |  | 
 | #--------------------------------------------------------------------- | 
 | # set units to lambda grid  | 
 | snap lambda | 
 |  | 
 | #--------------------------------------------------------------------- | 
 |  | 
 | # set sky130 standard power, ground, and substrate names | 
 | set VDD VPWR | 
 | set GND VGND | 
 | set SUB VSUBS | 
 |  | 
 | #--------------------------------------------------------------------- | 
 |  | 
 | # Allow override of type of magic library views used, "mag" or "maglef", | 
 | # from environment variable MAGTYPE. Deafault value is MAGTYPE=maglef | 
 |  | 
 | if {[catch {set MAGTYPE $env(MAGTYPE)}]} { | 
 |    set MAGTYPE maglef | 
 | } | 
 |  | 
 | path search [concat "../$MAGTYPE" [path search]] | 
 |  | 
 | #--------------------------------------------------------------------- | 
 |  | 
 | # add path to reference cells | 
 | if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} { | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms | 
 |     addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc | 
 | } else { | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE} | 
 |     addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE} | 
 | } | 
 |  | 
 | # add path to GDS cells | 
 |  | 
 |     addpath ../gds | 
 |  | 
 | # add path to IP from catalog.  This procedure defined in the PDK script. | 
 | catch {magic::query_mylib_ip} | 
 | # add path to local IP from user design space.  Defined in the PDK script. | 
 | catch {magic::query_my_projects} |