Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 1 | ### |
| 2 | ### Source file sky130.magicrc |
| 3 | ### Process this file with the m4 processor |
| 4 | ### |
| 5 | puts 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 | |
| 10 | set scalefac [tech lambda] |
| 11 | if {[lindex $scalefac 1] < 2} { |
| 12 | scalegrid 1 2 |
| 13 | } |
| 14 | |
| 15 | # drc off |
| 16 | drc euclidean on |
| 17 | |
| 18 | # Allow override of PDK path from environment variable PDKPATH |
Tim Edwards | 022c39a | 2020-07-27 17:02:05 -0400 | [diff] [blame] | 19 | if {[catch {set PDKPATH $env(PDKPATH)}]} { |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 20 | set PDKPATH "STAGING_PATH/TECHNAME" |
| 21 | } |
| 22 | |
| 23 | # loading technology |
| 24 | #ifdef FULLTECH |
| 25 | tech load $PDKPATH/MAGIC_CURRENT/TECHNAME-F.tech |
| 26 | #else |
| 27 | tech load $PDKPATH/MAGIC_CURRENT/TECHNAME.tech |
| 28 | #endif |
| 29 | |
| 30 | # load device generator |
| 31 | source $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 |
| 37 | snap lambda |
| 38 | |
| 39 | # set sky130 standard power, ground, and substrate names |
| 40 | set VDD VPWR |
| 41 | set GND VGND |
| 42 | set SUB VSUBS |
| 43 | |
| 44 | # Allow override of type of magic library views used, "mag" or "maglef", |
| 45 | # from environment variable MAGTYPE |
| 46 | |
Tim Edwards | 022c39a | 2020-07-27 17:02:05 -0400 | [diff] [blame] | 47 | if {[catch {set MAGTYPE $env(MAGTYPE)}]} { |
Tim Edwards | 94513d4 | 2020-11-15 22:07:34 -0500 | [diff] [blame] | 48 | set MAGTYPE mag |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 49 | } |
| 50 | |
| 51 | # add path to reference cells |
| 52 | if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} { |
Tim Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 53 | addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 54 | 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 Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 62 | addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc |
Tristan Gingold | a585431 | 2020-10-15 18:28:16 +0200 | [diff] [blame] | 63 | addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc_t18 |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 64 | } else { |
Tim Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 65 | addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE} |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 66 | 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 Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 74 | addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE} |
Tristan Gingold | a585431 | 2020-10-15 18:28:16 +0200 | [diff] [blame] | 75 | addpath ${PDKPATH}/libs.ref/sky130_osu_sc_t18/${MAGTYPE} |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 76 | } |
| 77 | |
| 78 | # add path to GDS cells |
| 79 | #ifdef FULLTECH |
Ahmed Ghazy | 32982b7 | 2020-07-27 14:46:07 +0200 | [diff] [blame] | 80 | if {[file isdir ${PDKPATH}/libs.ref/gds]} { |
Tim Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 81 | path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 82 | 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 Gingold | a585431 | 2020-10-15 18:28:16 +0200 | [diff] [blame] | 91 | path cell +${PDKPATH}/libs.ref/gds/sky130_osu130_t18 |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 92 | } else { |
Tim Edwards | d7289eb | 2020-09-10 21:48:31 -0400 | [diff] [blame] | 93 | path cell ${PDKPATH}/libs.ref/sky130_fd_pr/gds |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 94 | 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 Gingold | a585431 | 2020-10-15 18:28:16 +0200 | [diff] [blame] | 103 | path cell +${PDKPATH}/libs.ref/sky130_osu130_t18/gds |
Tim Edwards | 55f4d0e | 2020-07-05 15:41:02 -0400 | [diff] [blame] | 104 | } |
| 105 | #endif (FULLTECH) |
| 106 | |
| 107 | # add path to IP from catalog. This procedure defined in the PDK script. |
| 108 | catch {magic::query_mylib_ip} |
| 109 | # add path to local IP from user design space. Defined in the PDK script. |
| 110 | catch {magic::query_my_projects} |