| puts stdout "Sourcing design .magicrc for technology EFS8A ..." |
| |
| # 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 |
| } |
| |
| # drc off |
| drc euclidean on |
| |
| #set PDKPATH "~/projects/efabless/tech/SkyWater/EFS8A" |
| |
| # loading technology |
| #tech load $PDKPATH/libs.tech/magic/EFS8A.tech |
| tech load ../../char/techfiles/sky130A.tech |
| |
| # load device generator |
| #source $PDKPATH/libs.tech/magic/EFS8A.tcl |
| |
| # load bind keys (optional) |
| # source $PDKPATH/libs.tech/magic/EFS8A-BindKeys |
| |
| # set units to lambda grid |
| snap internal |
| |
| # add path to reference cells |
| #set MAGPATH "${PDKPATH}/libs.ref/mag" |
| #addpath ${MAGPATH}/primdev |
| #addpath ${MAGPATH}/s8fmlt |
| #addpath ${MAGPATH}/s8iom0 |
| #addpath ${MAGPATH}/scs8hd |
| #addpath ${MAGPATH}/scs8hdll |
| #addpath ${MAGPATH}/scs8hvl |
| #addpath ${MAGPATH}/scs8hs |
| #addpath ${MAGPATH}/scs8ms |
| #addpath ${MAGPATH}/scs8ls |
| #addpath ${MAGPATH}/scs8lp |
| |
| # add path to GDS cells |
| |
| # 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} |
| |
| macro Shift_G "grid 74" |
| macro XK_Left "scroll l .1 w" |
| macro Shift_XK_Left "scroll l 1 w" |
| macro Control_XK_Left "box grow w 1" |
| macro Control_Shift_XK_Left "box shrink e 1" |
| macro XK_Right "scroll r .1 w" |
| macro Shift_XK_Right "scroll r 1 w" |
| macro Control_XK_Right "box grow e 1" |
| macro Control_Shift_XK_Right "box shrink w 1" |
| macro XK_Up "scroll u .1 w" |
| macro Shift_XK_Up "scroll u 1 w" |
| macro Control_XK_Up "box grow n 1" |
| macro Control_Shift_XK_Up "box shrink s 1" |
| macro XK_Down "scroll d .1 w" |
| macro Shift_XK_Down "scroll d 1 w" |
| macro Control_XK_Down "box grow s 1" |
| macro Control_Shift_XK_Down "box shrink n 1" |
| |
| macro XK_Pointer_Button4 "scroll u .05 w" |
| macro XK_Pointer_Button5 "scroll d .05 w" |
| macro . "history redo -1" |
| |
| macro XK_L "select less area {ndif pdif nwell poly}" |
| macro XK_K "select less area nwell" |
| macro XK_J "select less area {m1 lic}" |
| macro XK_H "select less area li1" |
| macro Control_Shift_XK_X "rotate" |
| macro Shift_XK_Pointer_Button4 "stretch N 74" |
| macro Shift_XK_Pointer_Button5 "stretch S 74" |
| macro Control_XK_Pointer_Button4 "stretch N 34" |
| macro Control_XK_Pointer_Button5 "stretch S 34" |
| macro Control_Shift_XK_Q "stretch W 88" |
| macro Control_Shift_XK_R "stretch E 88" |
| macro Control_Shift_XK_W "stretch N 28" |
| macro Control_Shift_XK_E "stretch N 4" |
| macro XK_Y "stretch N 6" |
| #macro Control_Shift_XK_W "stretch S 6" |
| #macro Control_Shift_XK_E "stretch S 8" |
| |
| macro Control_Shift_XK_Pointer_Button4 "stretch N 17" |
| macro Control_Shift_XK_Pointer_Button5 "stretch S 17" |
| macro Control_Shift_XK_G "select area {m1 lic}" |
| macro Control_Shift_XK_F "select area {poly polycont}" |
| macro Control_Shift_XK_D "select area {ndc li1}" |
| macro Control_Shift_XK_S "select area ntrans" |
| |
| macro Shift_D "select clear; move S 10; paint m1c" |
| macro Shift_F "select clear; move N 10; paint m1c" |
| |
| |
| macro Shift_B "box height 1.0um; move S 1.655um; select area; erase; select clear; move N 1um; select area; move S 1um; select clear; box height 0.26um; move S 4.35um; select area; erase; select clear; move S 0.655um; box height 0.655um; select area; move N 0.26um; select clear; box height 20um; select area; move S 0.26um" |
| |
| |
| macro Shift_N "box height 1.74um; move S 2.395um; select area; erase; select clear; move N 1.74um; select area; move S 1.74um; select clear; box height 0.48um; move S 3.61um; select area; erase; select clear; move S 0.655um; box height 0.655um; select area; move N 0.48um; select clear; box height 20um; select area; move S 0.48um" |
| |
| |
| macro Shift_M "box height 1.02um; move S 2.015um; select area; erase; select clear; move N 1.02um; box height 1.20um; select area; move S 1.02um; select clear; box height 0.12um; move S 0.56um; select area; erase; select clear; box height 5.00um; select area; move S 0.12um; select clear; move N 0.12um; box height 0.21um; move S 2.98um; select area;erase; select clear; box height 1.105um; move S 1.105um; select area; move N 0.21um; select clear; box height 0.17um; move N 0.825um; select area; erase; move S 0.825um; box height 0.825um; select area; move N 0.17um" |