README.md: document purpose and usage of this template repo
diff --git a/README.md b/README.md index d2efa54..faf2d7f 100644 --- a/README.md +++ b/README.md
@@ -1,10 +1,24 @@ -# Caravel User Project +# ChipFlow GFMPW template -[](https://opensource.org/licenses/Apache-2.0) [](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml) +[](https://opensource.org/licenses/Apache-2.0) -| :exclamation: Important Note | -|-----------------------------------------| +This is template repository used as the base for GFMPW tapeout for ChipFlow projects. +It contains reduced setup based on the `gf180mcu` branch in the [caravel_user_project repo](https://github.com/efabless/caravel_user_project). +The commit is squashed to save disk space and download bandwidth. -## Please fill in your project documentation in this README.md file +The use of this template is mainly to allow to easily make a repo that can be used to commit +a design for tape-out on the efabless platform. Repo that are based on this template should +put the user_project_wrapper.gds(.gz) to tape out in the gds directory and replace this +README with a proper reference to the repo and code that is used to generate this gds file. -Refer to [README](docs/source/index.rst) for this sample project documentation. +The branch `efabless-caravel` branch is used to track the upstream repo. Updating to new version +is done by manually adding squashed changes in the upstream `gf180mcu` to the commit version +mentioned in the last commit on the `efabless-caravel` branch. In the new commit message on the +`efabless-caravel` branch the new commit version of the upstream repo should be mentioned so +a new update can done in the future. Only squashed changes are added in this branch to avoid +brining in the whole (convoluted) history of the upstream branch. + +After an update to the `efabless-caravel` project it needs to be merged into the `main` branch. +This most likely will involve fixing merge conflicts; each merge conflict will need to be +what changes need to be done to `main` branch to reflect the changes in the `efabless-caravel` +branch.