blob: 67cdbf876f2821960bd072400dbd950dbb147f7e [file] [log] [blame]
dineshannayyaed949652021-06-25 08:30:09 +05301# SPDX-FileCopyrightText: 2020 Efabless Corporation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15# SPDX-License-Identifier: Apache-2.0
16
17puts stdout "Sourcing design .magicrc for technology sky130A ..."
18
19# Put grid on 0.005 pitch. This is important, as some commands don't
20# rescale the grid automatically (such as lef read?).
21
22set scalefac [tech lambda]
23if {[lindex $scalefac 1] < 2} {
24 scalegrid 1 2
25}
26
27drc off
28drc euclidean on
29
30# Allow override of PDK path from environment variable PDKPATH
31if {[catch {set PDKPATH $env(PDKPATH)}]} {
32 set PDKPATH "$::env(PDK_ROOT)/sky130A"
33}
34
35# loading technology
36tech load $PDKPATH/libs.tech/magic/sky130A.tech
37
38# load device generator
39source $PDKPATH/libs.tech/magic/sky130A.tcl
40
41# load bind keys (optional)
42# source $PDKPATH/libs.tech/magic/sky130A-BindKeys
43
44# set units to lambda grid
45snap lambda
46
47# set sky130 standard power, ground, and substrate names
48set VDD VPWR
49set GND VGND
50set SUB VSUBS
51
52# Allow override of type of magic library views used, "mag" or "maglef",
53# from environment variable MAGTYPE
54
55if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
56 set MAGTYPE maglef
57}
58
59 path search [concat "../$MAGTYPE" [path search]]
60
61
62# add path to reference cells
63if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
64 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
65 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
66 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
67 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
68 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
69 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
70 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
71 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
72 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
73 addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
74 addpath ${PDKPATH}/libs.ref/mag/sky130_ml_xx_hd
75} else {
76 addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
77 addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
78 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
79 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
80 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
81 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
82 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
83 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
84 addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
85 addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
86 addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/mag
87}
88
89addpath hexdigits
90
91# add path to GDS cells
92
93# add path to IP from catalog. This procedure defined in the PDK script.
94catch {magic::query_mylib_ip}
95# add path to local IP from user design space. Defined in the PDK script.
96catch {magic::query_my_projects}