blob: e0cf60acf4afadea7db33d9429d87a704b8d3cdf [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 Edwards55f4d0e2020-07-05 15:41:02 -040048 set MAGTYPE maglef
49}
50
51# add path to reference cells
52if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
53 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_base
54 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf
55 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf2
56 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
57 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
58 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
59 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
60 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
61 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
62 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
63 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
64 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu130
65} else {
66 addpath ${PDKPATH}/libs.ref/sky130_fd_pr_base/${MAGTYPE}
67 addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf/${MAGTYPE}
68 addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/${MAGTYPE}
69 addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
70 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
71 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
72 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
73 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
74 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
75 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
76 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
77 addpath ${PDKPATH}/libs.ref/sky130_osu130/${MAGTYPE}
78}
79
80# add path to GDS cells
81#ifdef FULLTECH
Ahmed Ghazy32982b72020-07-27 14:46:07 +020082if {[file isdir ${PDKPATH}/libs.ref/gds]} {
Tim Edwards55f4d0e2020-07-05 15:41:02 -040083 path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_base
84 path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf
85 path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf2
86 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_io
87 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hd
88 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hdll
89 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hs
90 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hvl
91 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_lp
92 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ls
93 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ms
94 path cell +${PDKPATH}/libs.ref/gds/sky130_osu130
95} else {
96 path cell ${PDKPATH}/libs.ref/sky130_fd_pr_base/gds
97 path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf/gds
98 path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/gds
99 path cell +${PDKPATH}/libs.ref/sky130_fd_io/gds
100 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hd/gds
101 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hdll/gds
102 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hs/gds
103 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hvl/gds
104 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_lp/gds
105 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ls/gds
106 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ms/gds
107 path cell +${PDKPATH}/libs.ref/sky130_osu130/gds
108}
109#endif (FULLTECH)
110
111# add path to IP from catalog. This procedure defined in the PDK script.
112catch {magic::query_mylib_ip}
113# add path to local IP from user design space. Defined in the PDK script.
114catch {magic::query_my_projects}