diff --git a/README.md b/README.md index d98354a..54a168a 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@ Vivado is a pain in the ass to source control decently, so these scripts provide ### Workflow - 1. When first starting with a project, create it in a folder called `work` (eg. `C:/.../PROJECT_NAME/work`) . All the untracked files will be under this directory. + 1. When first starting with a project, create it in a folder called `vivado_proj` (e.g. `C:/.../PROJECT_NAME/vivado_proj`) . All the untracked files will be under this directory. 2. Place your source files anywhere you want in your project folder (usually in the `C:/.../PROJECT_NAME/src`). - + Here is an example of a possible project structure: ``` PROJECT_NAME @@ -32,18 +32,22 @@ Vivado is a pain in the ass to source control decently, so these scripts provide ├── .gitignore ├── project_name.tcl # Project generator script ├── src/ # Tracked source files - │ ├── *.v - │ ├── *.vhd + │ ├── design + │ │ ├── *.v + │ │ └── *.vhd + │ ├── testbench + │ │ ├── *.v + │ │ └── *.vhd │ └── ... - └── work/ # Untracked generated files - ├── project_name.xpr + └── vivado_proj/ # Untracked generated files + ├── project_name.xpr ├── project_name.cache/ ├── project_name.hw/ ├── project_name.sim/ └── ... ``` - 3. Initiate the git repository with `git init` on the Tcl Console. This will create the repository, automatically change to your project directory (`C:/.../PROJECT_NAME`), generate the `.gitignore` file and stage it. + 3. Initiate the git repository with `git init` on the Tcl Console. This will create the repository, automatically change to your project directory (`C:/.../PROJECT_NAME`), generate the `.gitignore` file and stage it. 4. Stage your source files with `git add`. diff --git a/scripts/write_project_tcl_git.tcl b/scripts/write_project_tcl_git.tcl index cdf56ac..66e8c09 100644 --- a/scripts/write_project_tcl_git.tcl +++ b/scripts/write_project_tcl_git.tcl @@ -29,8 +29,8 @@ # 1. The project directory is now relative to the scripts location. # Project directory was relative to the tcl console current directory. # -# 2. When recreating a project, the generated files will be put in a "work" directory -# under the project directory. If the work exists already, it will be rewritten. +# 2. When recreating a project, the generated files will be put in a "vivado_proj" directory +# under the project directory. If "vivado_proj" exists already, it will be rewritten. # # 3. After recreating a project, the tcl console will change directory to the project directory. # @@ -392,7 +392,7 @@ proc wr_create_project { proj_dir name part_name } { # set target project directory path if specified. If not, create project dir in current dir. set target_dir $a_global_vars(s_target_proj_dir) if { {} == $target_dir } { - set tcl_cmd "create_project $name \$origin_dir/work -part $part_name -quiet -force" + set tcl_cmd "create_project $name \$origin_dir/vivado_proj -part $part_name -quiet -force" } else { # is specified target proj dir == current dir? set cwd [file normalize [string map {\\ /} [pwd]]]