|  | # Repositories and versions to use | 
|  |  | 
|  | ## skywater-pdk: | 
|  |  | 
|  | Please stick to version `v0.0.0-303-g3d7617a` | 
|  | (commit hash: `3d7617a1acb92ea883539bcf22a632d6361a5de4`) | 
|  | ``` | 
|  | git clone https://github.com/google/skywater-pdk.git | 
|  | cd skywater-pdk | 
|  | git checkout v0.0.0-303-g3d7617a | 
|  | git submodule update --init libraries/sky130_fd_sc_hd/latest | 
|  | git submodule update --init libraries/sky130_fd_sc_hvl/latest | 
|  | git submodule update --init libraries/sky130_fd_sc_hs/latest | 
|  | git submodule update --init libraries/sky130_fd_sc_ms/latest | 
|  | git submodule update --init libraries/sky130_fd_sc_ls/latest | 
|  | git submodule update --init libraries/sky130_fd_sc_hdll/latest | 
|  | git submodule update --init libraries/sky130_fd_io/latest | 
|  | make timing | 
|  | ``` | 
|  |  | 
|  | ## open_pdks: | 
|  |  | 
|  | Please stick to the `mpw-one-a` tag. | 
|  | ``` | 
|  | git clone https://github.com/RTimothyEdwards/open_pdks.git -b mpw-one-a | 
|  | ``` | 
|  |  | 
|  | ## OpenLane: | 
|  |  | 
|  | Please stick to the `mpw-one-a` tag. | 
|  | ``` | 
|  | git clone https://github.com/efabless/openlane.git -b mpw-one-a | 
|  | ``` | 
|  | Note that the `mpw-one-a` tag is equivalent to the `rc5` tag. Also, note that | 
|  | running `make` inside the openlane directory will automatically grab the right | 
|  | versions of `open_pdks` and `skywater-pdk` as listed above and install them to | 
|  | PDK_ROOT. | 
|  |  | 
|  | For example, | 
|  |  | 
|  | ``` | 
|  | export PDK_ROOT=$HOME/pdks | 
|  | cd openlane | 
|  | make | 
|  | ``` | 
|  |  | 
|  | ## Caravel: | 
|  |  | 
|  | Please stick to the `mpw-one-a` tag. | 
|  | ``` | 
|  | git clone https://github.com/efabless/caravel.git -b mpw-one-a | 
|  | ``` | 
|  |  | 
|  | ## Notes | 
|  |  | 
|  | - If you have already successfully hardened your blocks and have a clean | 
|  | `user_project_wrapper`, you don't have to recreate it and can just reuse it. | 
|  | No changes have been made to the user project area or to the tools that | 
|  | require you to reharden your design(s). | 
|  |  | 
|  | - If you prefer to re-generate your blocks (using OpenLane), you can refer to | 
|  | this [page][1]. | 
|  |  | 
|  | - **IMPORTANT**. Do not forget to run `make uncompress -j4` in the caravel root | 
|  | directory before you start working. Likewise, before you commit and push your | 
|  | changes back, run `make compress -j4`. | 
|  |  | 
|  | - If you already have a clean working tree in a previously cloned repository from | 
|  | those listed above, what you need to do is: | 
|  | ``` | 
|  | git pull | 
|  | git checkout tag | 
|  | ``` | 
|  |  | 
|  | [1]: ./openlane/README.md |