| # SPDX-FileCopyrightText: 2020 Efabless Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| puts stdout "Sourcing design .magicrc for technology sky130A ..." |
| |
| # 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 |
| |
| # default pdk |
| # set SW_PDK_ROOT "/ef/tech/SW.2" |
| set PDK "sky130A" |
| set SCL_VARIANT "sky130_fd_sc_hd" |
| set IO_VARIANT "sky130_fd_io" |
| set PDKPATH "$::env(SW_PDK_ROOT)/$PDK" |
| |
| # loading technology |
| tech load "$PDKPATH/libs.tech/magic/current/$PDK.tech" |
| |
| # load device generator |
| source "$PDKPATH/libs.tech/magic/current/$PDK.tcl" |
| |
| |
| # load bind keys (optional) |
| source "$PDKPATH/libs.tech/magic/current/$PDK-BindKeys" |
| |
| # set units to lambda grid |
| snap lambda |
| |
| # add path to reference cells |
| set MAGPATH "$PDKPATH/libs.ref/$SCL_VARIANT/mag/*.mag" |
| |
| |
| addpath "$PDKPATH/libs.ref/sky130_fd_pr_base/mag" |
| addpath "$PDKPATH/libs.ref/$IO_VARIANT/mag" |
| addpath "$PDKPATH/libs.ref/$SCL_VARIANT/mag" |
| |
| # addpath ${MAGPATH}/s8fmlt |
| |
| # 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} |