diff --git a/gen_tcl.sh b/gen_tcl.sh index 1d36ef5c035111cd93bd8eb96eea93ff9f24c851..fd8ce195faee0e85ece49529fb0f535eb7ecb949 100755 --- a/gen_tcl.sh +++ b/gen_tcl.sh @@ -60,6 +60,17 @@ elif [[ $1 == gui ]]; then echo "open_project ${xpr} `find ${proj_dir}/*.srcs -regex '^.*\.s?vh?$' -exec echo add_files \{\} \;` start_gui" +elif [[ $1 == init-project ]]; then + proj_name="$2" + proj_dir="$3" + part_name="$4" # xc7a100tcsg324-1 + echo "# Generated by Vivado wrapper, licensed under GPL 3.0 + # Copyright (C) Recolic Keghart <root@recolic.net> + create_project ${proj_name} ${proj_dir} -part ${part_name} + file mkdir ${proj_dir}/${proj_name}.srcs/constrs_1/new + close [ open ${proj_dir}/${proj_name}.srcs/constrs_1/new/constraint.xdc w ] + add_files -fileset constrs_1 ${proj_dir}/${proj_name}.srcs/constrs_1/new/constraint.xdc" + rm -f ${proj_dir}/${proj_name}.srcs/constrs_1/new/constraint.xdc else echo "Usage: $0 build <xpr path> <run_name_synth> <run_name_impl> <to_step> <top module name> <threads_num> $0 burn <xpr path> <run_name_impl> <top_module_name> <dev_name(Ex:xc7a100t_0)>" diff --git a/template/Vivadofile b/template/Vivadofile index 599d22ef99b902f4e76558c170e0b65c95581540..8dae57ea4827cfff4c90793b84267335a45793d7 100644 --- a/template/Vivadofile +++ b/template/Vivadofile @@ -22,6 +22,9 @@ top_modules=( # top_module=test_main top_module= +# Name of your board in vivado +board="xc7a100tcsg324-1" + # # Optional options # diff --git a/vivado-wrapper b/vivado-wrapper index c6d45e71adc7a2948e79653dfaab3a0639b78139..e4f948ed97b958c8a802126ba9ffb999c388a3fc 100755 --- a/vivado-wrapper +++ b/vivado-wrapper @@ -132,12 +132,13 @@ function get_constraint_of_module () { function generate_real_project () { [[ "$constr_path" == '' ]] && constr_path="$(pwd)/$(get_constraint_of_module $top_module)" cp -r "$my_path/template/project" "$temp_dir/" + # todo: use new init-project to generate if template not exist _real_proj_src="$temp_dir/project/temp_project.srcs" for src in `echo ${sources[@]}`; do mkdir -p "$_real_proj_src/sources_1/new/$(dirname "$src")" ln -s "$(pwd)/$src" "$_real_proj_src/sources_1/new/$src" done - rm "$_real_proj_src/constrs_1/new/constraint.xdc" + rm -f "$_real_proj_src/constrs_1/new/constraint.xdc" ln -s "$constr_path" "$_real_proj_src/constrs_1/new/constraint.xdc" echo "real_project generated at $temp_dir" }