Vivado——常见Tcl指令

一、创建工程

 1 # 创建工程
 2 create_project MyProject ./MyProject -part xc7a100tfgg484-2
 3 # 该命令创建一个名为 my_project 的新项目,指定 FPGA 芯片型号为 xc7a100tfgg484-2,并将项目存储在 ./my_project 路径下
 4 
 5 # 打开现有项目
 6 open_project ./MyProject/MyProject.xpr
 7 
 8 # 保存当前项目
 9 save_project_as -force MyProject_Backup
10 
11 # 关闭当前项目
12 close_project

 

二、添加文件

 1 # 添加 单个Verilog 源文件
 2 add_files -fileset sources_1 [list ./src/module.v]
 3 
 4 # 递归地将 ./src 目录下的所有文件添加到项目中
 5 add_files -fileset sources_1 -recursive ./src
 6 
 7 # 设置顶层文件
 8 set_property top top_module [current_fileset]
 9 
10 # 设置文件类型
11 set_property file_type {Verilog} [get_files ./src/module.v]
12 
13 # 添加约束文件
14 add_files -fileset constrs_1 ./constraints/top.xdc
15 
16 # 添加 IP 核的 XCI/XCO 文件
17 add_files [list ./ip/clk_wiz_0.xci]

 

三、综合设计

 1 # 综合设计
 2 synth_design -top top_module -part xc7a100tfgg484-2
 3 launch_runs synth_1 -jobs 4 -quiet
 4 wait_on_run synth_1
 5 
 6 report_utilization -hierarchy -file D:/WorkSpace/utilireport.txt
 7 
 8 # 查看综合结果
 9 open_run synth_1
10 report_utilization -hierarchy -file utilization_report.rpt

 

四、布局布线

 1 # 优化设计
 2 opt_design
 3 
 4 # 布局 布线
 5 place_design
 6 route_design
 7 
 8 # 生成比特流文件
 9 write_bitstream -file top_module.bit
10 
11 # 导出硬件描述文件(用于SDK/Vitis)
12 write_hw_platform -fixed -force -file top.xsa

 

五、综合示例

1、如下提供常见的自动化脚本,将其保存到MyTcl.tcl;

# 1. 初始化环境变量
set outputDir "D:/WorkSpace/FPGA/Temp/output"
set projectName "my_project"
set devicePart "xc7a100tfgg484-2"
file mkdir $outputDir

# 2. 创建新工程
create_project $projectName $outputDir/$projectName -part $devicePart -force
set_property target_language Verilog [current_project]

# 3. 添加设计文件
add_files [glob ./src/*.v]
set_property top led [current_fileset]
update_compile_order -fileset sources_1

# 4. 添加约束文件
add_files -fileset constrs_1 [glob ./constraints/*.xdc]
set_property target_constrs_file [get_files *.xdc] [current_fileset -constrset]

# 5. 综合配置与执行
set_property strategy Flow_AreaOptimized_high [get_runs synth_1]
launch_runs synth_1 -jobs 8
wait_on_run synth_1

# 6. 实现(布局布线)配置
set_property strategy Performance_Explore [get_runs impl_1]
launch_runs impl_1 -jobs 8
wait_on_run impl_1

# 7. 生成Bit文件
open_run impl_1
write_bitstream -force "$outputDir/${projectName}.bit"

# 8. 生成资源利用率报告
report_utilization -hierarchical -file "$outputDir/utilization.rpt"

# 9. 生成时序报告
report_timing_summary -delay_type max -max_paths 10 -input_pins -file "$outputDir/timing_summary.rpt"
report_timing -from [get_clocks] -to [get_clocks] -file "$outputDir/timing_details.rpt"

# 退出Vivado
exit

 

2、将设计文件.v和约束文件.xdc放到指定路径下;

 

3、打开Vivado GUI界面,在Tcl Console中输入如下指令切换当前工作路径;

cd D:/WorkSpace/FPGA/Tcl  # 切换工作目录
source MyTcl.tcl  # 执行该目录下的脚本

pwd查看当前路径。

 

4、执行tcl等待结果

 

posted on 2025-02-17 21:48  一曲挽歌  阅读(1659)  评论(0)    收藏  举报

导航