-
Notifications
You must be signed in to change notification settings - Fork 5
/
external_tools.mk
102 lines (79 loc) · 4.26 KB
/
external_tools.mk
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
################################################################################
# Vivado
################################################################################
install_vivado:
@echo "Vivado is not installed by this Makefile. Please install Vivado 2022.2"
@echo "and set the VIVADO_PATH variable in the Makefile to point to the"
@echo "vivado binary."
################################################################################
# Fasm2bels
################################################################################
install_fasm2bels:
./scripts/install-fasm2bels.sh
################################################################################
# GMT Tools
################################################################################
install_gmt_tools:
git submodule init third_party/gmt_tools
git submodule update third_party/gmt_tools
$(IN_ENV) cd third_party/gmt_tools && pip install -r requirements.txt
################################################################################
# Conformal
################################################################################
install_conformal:
@echo "Conformal is not installed by this Makefile. The conformal tool is"
@echo "expected to be installed on a remote computer. Please set the"
@echo "necessary variables in config.py to point to the remote computer."
################################################################################
# Rapidwright
################################################################################
install_rapidwright:
git submodule init third_party/RapidWright
git submodule update --init --recursive third_party/RapidWright
cd third_party/RapidWright && ./gradlew compileJava
cd third_party/RapidWright/interchange/ && make
$(IN_ENV) cd third_party/RapidWright ; export PATH=`pwd`/bin:$$PATH ; \
rapidwright jython -c 'FileTools.ensureDataFilesAreStaticInstallFriendly("xc7a200t")'
echo >> ".venv/bin/activate"
echo "if [ -f \"`pwd`/third_party/rapidwright.sh\" ];then" >> ".venv/bin/activate"
echo ". `pwd`/third_party/rapidwright.sh" >> ".venv/bin/activate"
echo "fi" >> ".venv/bin/activate"
echo "export INTERCHANGE_SCHEMA_PATH=`pwd`/third_party/RapidWright/interchange/fpga-interchange-schema/interchange" >> ".venv/bin/activate"
echo "unset INTERCHANGE_SCHEMA_PATH" >> ".venv/bin/deactivate"
################################################################################
# Yosys
################################################################################
install_yosys:
git submodule init third_party/yosys
git submodule update --init --recursive third_party/yosys
cd third_party/yosys && make -j8
################################################################################
# Wafove
################################################################################
install_wafove:
git submodule init third_party/WaFoVe
git submodule update --init --recursive third_party/WaFoVe
$(IN_ENV) cd third_party/WaFoVe && python setup.py install && make yosys_cells_sim
################################################################################
# IceStorm
################################################################################
install_icestorm:
git submodule init third_party/icestorm
git submodule update --init --recursive third_party/icestorm
cd third_party/icestorm && make -j$(nproc) && make install PREFIX=../
################################################################################
# OpenTitan
# PRE-REQUISITES:
# - If fusesoc fails, I just used the latest version: pip install fusesoc
# - I needed a rust compiler: https://rustup.rs/
################################################################################
install_opentitan:
git submodule update --init --recursive designs/opentitan
cd designs/opentitan
sudo sed '/^#/d' ./apt-requirements.txt | xargs sudo apt install -y
pip install -U pip "setuptools<66.0.0"
pip install -r designs/opentitan/python-requirements.txt
./designs/opentitan/util/get-toolchain.py --update
fusesoc --cores-root . run --build-root build/opentitan --flag=fileset_top --target=synth --no-export --setup lowrisc:systems:chip_earlgrey_cw310
mv build/opentitan/synth-vivado build/opentitan/vivado_synth
echo "launch_runs impl_1" >> build/opentitan/vivado_synth/lowrisc_systems_chip_earlgrey_cw310_0.1.tcl