satvik patel
02/22/2025, 9:01 AMMitch Bailey
02/22/2025, 10:29 AMmake setup
has the following dependencies which are all phony (always executed)
check_dependencies install check-env install_mcw openlane pdk-with-volare setup-timing-scripts setup-cocotb precheck
• check_dependencies
and check-env
ensure that variables are defined or directories exist.
• install
install the caravel
repo in CARAVEL_ROOT
(default ./caravel
)
• install_mcw
installs the management core repo (MCW_REPO
default caravel_mgmt_soc_litex
) into MCW_ROOT
(default ./mgmt_core_wrapper
)
• openlane
installs the openlane repo into OPENLANE_ROOT
(default ./dependencies/openlane_src
)
• pdk-with-volare
installs the pdk into PDK_ROOT
(default ./dependencies/pdks
)
• setup-timing-scripts
installs the timing-scripts repo into TIMING_ROOT
(default ./dependencies/timing-scripts
)
• setup-cocotb
installs the cocotb environment
• precheck
installs the mpw_precheck
repo into PRECHECK_ROOT
(default ~/mpw_precheck
)
The timing-scripts
and cocotb files probably need to be done for every project in a unique directory, but CARAVEL_ROOT
MCW_ROOT
OPENLANE_ROOT
PDK_ROOT
and PRECHECK_ROOT
can be shared.
Be warned that running any of these install targets will delete the respective directory before re-installing.
tl/dr;
Set the CARAVEL_ROOT
MCW_ROOT
OPENLANE_ROOT
PDK_ROOT
and PRECHECK_ROOT
variables to common locations.
Execute make setup
for the first project
Execute make check_dependencies check-env setup-timing-scripts setup-cocotb
for other projectssatvik patel
02/22/2025, 5:47 PM