-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsyn.env
82 lines (70 loc) · 2.69 KB
/
syn.env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# VLSI Synthesis/Toolbox Environment
# https://github.com/watbulb/tt-toolchain-build
export VSE_VERSION=TT09
## Compiler/Simulator
export VCC=verilator
export DEBUG=0
export USE_SYNLIG=1
## Root folders
export VOLUME_ROOT=/mnt/output
export VENV_ROOT=$VOLUME_ROOT/venv
export TT_SUPPORT_ROOT=$VOLUME_ROOT/tt
export VERILATOR_ROOT=$VOLUME_ROOT/toolchain/verilator
export SYNLIG_ROOT=$VOLUME_ROOT/toolchain/synlig
export SV2V_ROOT=$VOLUME_ROOT/toolchain/synlig/third_party/sv2v
export SURELOG_ROOT=$VOLUME_ROOT/toolchain/synlig/third_party/surelog
export YOSYS_ROOT=$VOLUME_ROOT/toolchain/synlig/third_party/yosys
export EQY_ROOT=$VOLUME_ROOT/toolchain/synlig/third_party/eqy
export ORTOOL_ROOT=$VOLUME_ROOT/toolchain/or-tools
export CUDD_ROOT=$VOLUME_ROOT/toolchain/cudd
export OPENSTA_ROOT=$VOLUME_ROOT/toolchain/OpenSTA
export OPENROAD_ROOT=$VOLUME_ROOT/toolchain/OpenROAD
export OPENLANE_ROOT=$VOLUME_ROOT/toolchain/openlane2
export MAGIC_ROOT=$VOLUME_ROOT/toolchain/magic
export NETGEN_ROOT=$VOLUME_ROOT/toolchain/netgen
export XSCHEM_ROOT=$VOLUME_ROOT/toolchain/xschem
export NGSPICE_ROOT=$VOLUME_ROOT/toolchain/ngspice
## Source tags
export TT_SUPPORT_TAG=tt09
# from: https://github.com/efabless/openlane2/tree/e56eac03f89991da64157cd08f4201391f207851/nix
# openlane2 version: 2.1.8
# NOTE: 2.1.8 requires OpenSTA workaround for heirarchial designs:
# https://github.com/efabless/openlane2/pull/544
export OPENLANE2_TAG="2.1.8"
export CUDD_TAG="3.0.0"
export OPENSTA_TAG=cc9eb1f12a0d5030aebc1f1428e4300480e30b40
export OPENROAD_TAG=b16bda7e82721d10566ff7e2b68f1ff0be9f9e38
export XSCHEM_TAG=adb855db0b32870886c26ed346e4c2f12ccecc56
export NGSPICE_TAG=ngspice-43
export NETGEN_TAG=fix-assign-implicit-lhs
## PDK Vars
export PDK_VERSION=bdc9412b3e468c102d01b7cf6337be06ec6e9c9a
export PDK_ROOT=$VOLUME_ROOT/pdk
export PDK=sky130A
## Projects Paths
# Verilator
export PATH=$VERILATOR_ROOT/bin:$PATH
# Synlig, surelog, sv2v, Yosys, EQY
export PATH=$SYNLIG_ROOT/release/bin:$PATH
# Magic & Netgen
export PATH=$MAGIC_ROOT/release/bin:$PATH
export PATH=$NETGEN_ROOT/release/bin:$PATH
alias magicsky="magic -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc"
# XSchem
export PATH=$XSCHEM_ROOT/release/bin:$PATH
# NGSpice
export PATH=$NGSPICE_ROOT/release/bin:$PATH
# OpenROAD & OpenSTA
export PATH=$OPENSTA_ROOT/build/release/bin:$PATH
export PATH=$OPENROAD_ROOT/build/release/bin:$PATH
# OpenLane2 & Volare
if [[ -d $VENV_ROOT ]]; then
source $VENV_ROOT/bin/activate
fi
## OR Tools & PS1 (Housekeeping)
if [[ -f $VOLUME_ROOT/.built ]]; then
if [[ ! -d /opt/or-tools && -d $ORTOOL_ROOT ]]; then
cp -r $ORTOOL_ROOT /opt
fi
export PS1="(syn.env) $PS1"
fi