blob: 7d8518eb25853e6dc8f524a8ac03808da2241ace [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
Tim Edwardsec438172021-01-22 11:19:24 -050017# Change this to a fixed number for repeatable behavior with GDS writes
18# e.g., "random seed 12345"
19catch {random seed}
Tim Edwards55f4d0e2020-07-05 15:41:02 -040020
Tim Edwards67a3c472021-06-11 20:19:17 -040021# Turn off the scale option on ext2spice or else it conflicts with the
22# scale in the model files.
23ext2spice scale off
24
Tim Edwards55f4d0e2020-07-05 15:41:02 -040025# Allow override of PDK path from environment variable PDKPATH
Tim Edwards022c39a2020-07-27 17:02:05 -040026if {[catch {set PDKPATH $env(PDKPATH)}]} {
Tim Edwards55f4d0e2020-07-05 15:41:02 -040027 set PDKPATH "STAGING_PATH/TECHNAME"
28}
29
30# loading technology
31#ifdef FULLTECH
32tech load $PDKPATH/MAGIC_CURRENT/TECHNAME-F.tech
33#else
34tech load $PDKPATH/MAGIC_CURRENT/TECHNAME.tech
35#endif
36
37# load device generator
38source $PDKPATH/MAGIC_CURRENT/TECHNAME.tcl
39
40# load bind keys (optional)
41# source $PDKPATH/MAGIC_CURRENT/TECHNAME-BindKeys
42
43# set units to lambda grid
44snap lambda
45
46# set sky130 standard power, ground, and substrate names
47set VDD VPWR
48set GND VGND
49set SUB VSUBS
50
51# Allow override of type of magic library views used, "mag" or "maglef",
52# from environment variable MAGTYPE
53
Tim Edwards022c39a2020-07-27 17:02:05 -040054if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
Tim Edwards94513d42020-11-15 22:07:34 -050055 set MAGTYPE mag
Tim Edwards55f4d0e2020-07-05 15:41:02 -040056}
57
58# add path to reference cells
59if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040060 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
Tim Edwards55f4d0e2020-07-05 15:41:02 -040061 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
62 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
63 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
64 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
65 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
66 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
67 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
68 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
Tim Edwardsd7289eb2020-09-10 21:48:31 -040069 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
Tristan Gingolda5854312020-10-15 18:28:16 +020070 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc_t18
Tim Edwardsbcf59aa2020-12-17 16:55:13 -050071 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_ml_xx_hd
Tim Edwardscfe970c2021-02-26 14:35:51 -050072 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_sram_macros
Tim Edwards55f4d0e2020-07-05 15:41:02 -040073} else {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040074 addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
Tim Edwards55f4d0e2020-07-05 15:41:02 -040075 addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
76 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
77 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
78 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
79 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
80 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
81 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
82 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
Tim Edwardsd7289eb2020-09-10 21:48:31 -040083 addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
Tristan Gingolda5854312020-10-15 18:28:16 +020084 addpath ${PDKPATH}/libs.ref/sky130_osu_sc_t18/${MAGTYPE}
Tim Edwardsbcf59aa2020-12-17 16:55:13 -050085 addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/${MAGTYPE}
Tim Edwardscfe970c2021-02-26 14:35:51 -050086 addpath ${PDKPATH}/libs.ref/sky130_sram_macros/${MAGTYPE}
Tim Edwards55f4d0e2020-07-05 15:41:02 -040087}
88
89# add path to GDS cells
90#ifdef FULLTECH
Ahmed Ghazy32982b72020-07-27 14:46:07 +020091if {[file isdir ${PDKPATH}/libs.ref/gds]} {
Tim Edwardsd7289eb2020-09-10 21:48:31 -040092 path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr
Tim Edwards55f4d0e2020-07-05 15:41:02 -040093 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_io
94 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hd
95 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hdll
96 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hs
97 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hvl
98 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_lp
99 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ls
100 path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ms
101 path cell +${PDKPATH}/libs.ref/gds/sky130_osu130
Tristan Gingolda5854312020-10-15 18:28:16 +0200102 path cell +${PDKPATH}/libs.ref/gds/sky130_osu130_t18
Tim Edwardsbcf59aa2020-12-17 16:55:13 -0500103 path cell +${PDKPATH}/libs.ref/gds/sky130_ml_xx_hd
Tim Edwardscfe970c2021-02-26 14:35:51 -0500104 path cell +${PDKPATH}/libs.ref/gds/sky130_sram_macros
Tim Edwards55f4d0e2020-07-05 15:41:02 -0400105} else {
Tim Edwardsd7289eb2020-09-10 21:48:31 -0400106 path cell ${PDKPATH}/libs.ref/sky130_fd_pr/gds
Tim Edwards55f4d0e2020-07-05 15:41:02 -0400107 path cell +${PDKPATH}/libs.ref/sky130_fd_io/gds
108 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hd/gds
109 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hdll/gds
110 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hs/gds
111 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hvl/gds
112 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_lp/gds
113 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ls/gds
114 path cell +${PDKPATH}/libs.ref/sky130_fd_sc_ms/gds
115 path cell +${PDKPATH}/libs.ref/sky130_osu130/gds
Tristan Gingolda5854312020-10-15 18:28:16 +0200116 path cell +${PDKPATH}/libs.ref/sky130_osu130_t18/gds
Tim Edwardsbcf59aa2020-12-17 16:55:13 -0500117 path cell +${PDKPATH}/libs.ref/sky130_ml_xx_hd/gds
Tim Edwardscfe970c2021-02-26 14:35:51 -0500118 path cell +${PDKPATH}/libs.ref/sky130_sram_macros/gds
Tim Edwards55f4d0e2020-07-05 15:41:02 -0400119}
120#endif (FULLTECH)
121
122# add path to IP from catalog. This procedure defined in the PDK script.
123catch {magic::query_mylib_ip}
124# add path to local IP from user design space. Defined in the PDK script.
125catch {magic::query_my_projects}