如何用Vivado生成工程脚本(.tcl)文件
1. 使用.tcl文件
下面以系统工程为例,介绍如何使用.tcl
文件,注意,请将所有的[E:/Code/
]改为你到库的[本地路径
]。
- 打开vivado,打开下方的
Tcl console
- 输入
cd {E:/Code/4K_SuperRes_on_MPSoC/work}
,移动到work
目录(可以输入pwd
以确认路径正确) - 输入
source system.tcl
,建立工程 - 由于本工程完全由block design,vivado会提示指定顶层文件,此处随意
- 输入
source design_1.tcl
,导入block design。 - 在
Sources
界面右击design_1
,Create HDL Wrapper
->Let Vivado manage...
->OK
,之后就可以开始正常的工作流了。
2. 创建.tcl文件
下面仍以系统工程为例,注意,请将所有的[E:/Code/
]改为你到库的[本地路径
],同时注意,不应当把工程移出work目录再进行创建,以免产生不必要的麻烦。
2.1. 创建block design脚本
- 打开下方的
Tcl console
- 输入
write_bd_tcl -force {E:/Code/4K_SuperRes_on_MPSoC/work/design_1.tcl}
该脚本不需要做任何的修改。
2.2. 创建project脚本
- 继续上一步,输入
write_project_tcl -use_bd_files -force {E:/Code/4K_SuperRes_on_MPSoC/work/system.tcl}
- 打开
system.tcl
,将所有与'sources_1'
相关的脚本全部删除,例如下述部分(因为事实上根本不需要预导入files中列出的文件,如果不删掉,脚本会因为error而停下):
# Set 'sources_1' fileset object
set obj [get_filesets sources_1]
# Import local files from the original project
set files [list \
[file normalize "${origin_dir}/system/system.srcs/sources_1/bd/design_1/design_1.bd" ]\
[file normalize "${origin_dir}/system/system.srcs/sources_1/bd/design_1/hdl/design_1_wrapper.v" ]\
]
set imported_files [import_files -fileset sources_1 $files]
# Set 'sources_1' fileset file properties for remote files
# None
# Set 'sources_1' fileset file properties for local files
set file "design_1/design_1.bd"
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
set_property -name "registered_with_manager" -value "1" -objects $file_obj
# Set 'sources_1' fileset properties
set obj [get_filesets sources_1]
set_property -name "top" -value "design_1_wrapper" -objects $obj
对于IP工程,没有引入block design暂不需要修改
实际上如果有必要,constr_1也得删,手动导一下。