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