blob: 601e378915a56b6e1bdbb3e70a99e8b766740472 [file] [log] [blame]
Tim Edwards55f4d0e2020-07-05 15:41:02 -04001###
2### Source file sky130.magicrc
3### Process this file with the m4 processor
4###
5puts stdout "Sourcing design .magicrc for technology TECHNAME ..."
6
7# Put grid on 0.005 pitch. This is important, as some commands don't
8# rescale the grid automatically (such as lef read?).
9
10set scalefac [tech lambda]
11if {[lindex $scalefac 1] < 2} {
12 scalegrid 1 2
13}
14
15# drc off
16drc euclidean on
17
18# Allow override of PDK path from environment variable PDKPATH
Tim Edwards022c39a2020-07-27 17:02:05 -040019if {[catch {set PDKPATH $env(PDKPATH)}]} {
Tim Edwards55f4d0e2020-07-05 15:41:02 -040020 set PDKPATH "STAGING_PATH/TECHNAME"
21}
22
23# loading technology
24#ifdef FULLTECH
25tech load $PDKPATH/MAGIC_CURRENT/TECHNAME-F.tech
26#else
27tech load $PDKPATH/MAGIC_CURRENT/TECHNAME.tech
28#endif
29
30# load device generator
31source $PDKPATH/MAGIC_CURRENT/TECHNAME.tcl
32
33# load bind keys (optional)
34# source $PDKPATH/MAGIC_CURRENT/TECHNAME-BindKeys
35
36# set units to lambda grid
37snap lambda
38
39# set sky130 standard power, ground, and substrate names
40set VDD VPWR
41set GND VGND
42set SUB VSUBS
43
44# Allow override of type of magic library views used, "mag" or "maglef",
45# from environment variable MAGTYPE
46
Tim Edwards022c39a2020-07-27 17:02:05 -040047if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
Tim Edwards94513d42020-11-15 22:07:34 -050048 set MAGTYPE mag
Tim Edwards55f4d0e2020-07-05 15:41:02 -040049}
50
51# add path to reference cells
52if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040053 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
Tim Edwards55f4d0e2020-07-05 15:41:02 -040054 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
55 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
56 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
57 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
58 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
59 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
60 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
61 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
Tim Edwardsd7289eb2020-09-10 21:48:31 -040062 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
Tristan Gingolda5854312020-10-15 18:28:16 +020063 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc_t18
Tim Edwards55f4d0e2020-07-05 15:41:02 -040064} else {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040065 addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
Tim Edwards55f4d0e2020-07-05 15:41:02 -040066 addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
67 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
68 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
69 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
70 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
71 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
72 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
73 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
Tim Edwardsd7289eb2020-09-10 21:48:31 -040074 addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
Tristan Gingolda5854312020-10-15 18:28:16 +020075 addpath ${PDKPATH}/libs.ref/sky130_osu_sc_t18/${MAGTYPE}
Tim Edwards55f4d0e2020-07-05 15:41:02 -040076}
77
78# add path to GDS cells
79#ifdef FULLTECH
Ahmed Ghazy32982b72020-07-27 14:46:07 +020080if {[file isdir ${PDKPATH}/libs.ref/gds]} {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040081 path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr
Tim Edwards55f4d0e2020-07-05 15:41:02 -040082 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_io
83 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hd
84 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hdll
85 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hs
86 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hvl
87 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_lp
88 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ls
89 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ms
90 path cell +${PDKPATH}/libs.ref/gds/sky130_osu130
Tristan Gingolda5854312020-10-15 18:28:16 +020091 path cell +${PDKPATH}/libs.ref/gds/sky130_osu130_t18
Tim Edwards55f4d0e2020-07-05 15:41:02 -040092} else {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040093 path cell ${PDKPATH}/libs.ref/sky130_fd_pr/gds
Tim Edwards55f4d0e2020-07-05 15:41:02 -040094 path cell +${PDKPATH}/libs.ref/sky130_fd_io/gds
95 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hd/gds
96 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hdll/gds
97 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hs/gds
98 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hvl/gds
99 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_lp/gds
100 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ls/gds
101 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ms/gds
102 path cell +${PDKPATH}/libs.ref/sky130_osu130/gds
Tristan Gingolda5854312020-10-15 18:28:16 +0200103 path cell +${PDKPATH}/libs.ref/sky130_osu130_t18/gds
Tim Edwards55f4d0e2020-07-05 15:41:02 -0400104}
105#endif (FULLTECH)
106
107# add path to IP from catalog. This procedure defined in the PDK script.
108catch {magic::query_mylib_ip}
109# add path to local IP from user design space. Defined in the PDK script.
110catch {magic::query_my_projects}