Hardware ---vivado TCL使用

一. 准备

  • 1.1 在开始菜单的Xilinx工具集中找到“Vivado xxxx.x Tcl Shell”,xxxx.x代表安装的Vivado版本号。在Shell中先将当前环境指向设计源文件的目录(注意路径中斜线方向是左斜杠):

    Vivado% cd C:/Users/GodWa/Desktop/SDK_Test/gate

  • 1.2 指定一个设计文件的输出路径,所有生成的报告、结果文件等都将存放在该路径文件夹下

    Vivado% set outputDir ./gate/gate_Created_Data/top_output

  • 1.3 生成输出路径的目标文件夹

    Vivado% file mkdir $outputDir

  • 1.4 读取设计的Verilog源文件和XDC约束文件

    Vivado% read_verilog top.v
    Vivado% read_xdc test.xdc

二. 综合

  • 2.1 对设计进行综合,需要指定目标FPGA器件型号。接下来的每一步都会反馈一个结果,如果发生错误会有警告、错误提示,可以根据提示修改源文件的程序。

    Vivado% synth_design -top top -part xc7a100tcsg324-1

  • 2.2 综合后写入一个检查点。

    Vivado% write_checkpoint -force $outputDir/post_synth

  • 2.3 生成综合后的时序报告。

    Vivado% report_timing_summary -file $outputDir/post_synth_timing_summary.rpt

  • 2.4 生成综合后的功耗报告。

    Vivado% report_power -file $outputDir/post_synth_power.rpt

  • 2.5 对设计进行优化,优化操作一般都需要指定一些参数。

    Vivado% opt_design

  • 2.6 对功耗进行优化。

    Vivado% power_opt_design

三. 实现

  • 3.1 对设计进行布局。

    Vivado% place_design

  • 3.2 对布局后的设计进行逻辑物理优化。

    Vivado% phys_opt_design

  • 3.3布局后写入一个设计检查点。

    Vivado% write_checkpoint -force $outputDir/post_place

  • 3.4生成布局后的时序总结报告

    Vivado% report_timing_summary -file $outputDir/post_place_timing_summary.rpt

  • 3.5对设计进行布线。

    Vivado% route_design

  • 3.6布线后写入一个检查点。

    Vivado% write_checkpoint -force $outputDir/post_route

  • 3.7 生成布线后的时序总结报告。

    Vivado% report_timing_summary -file $outputDir/post_route_timing_summary.rpt

  • 3.8 生成布线后的时序报告。

    Vivado% report_timming -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.rpt

  • 3.9 生成布线后的利用率报告。

    Vivado% report_clock_utilization -file $outputDir/post_route_util.rpt

  • 3.10 生成布线后的功耗报告。

    Vivado% report_power -file $outputDir/post_imp_drc.rpt

  • 3.11 生成布线后的drc报告。

    Vivado% report_drc -file $outputDir/post_impl_drc.rpt

  • 3.12 写Verilog文件。

    Vivado% write_verilog -force $outputDir/top_impl_netlist.v

  • 3.13 写xdc文件。

    Vivado% write_xdc -no_fixed_only -force $outputDir/top_impl.xdc

四. 下载

  • 4.1 生成bit流文件。

    Vivado% write_bitstream -force $outputDir/top.bit

  • 4.2 打开硬件管理器。

    Vivado% open_hw

  • 4.3 连接硬件。

    Vivado% connect_hw_server

  • 4.4 打开硬件目标。

    Vivado% open_hw_target

  • 4.5 分配编程文件。

    Vivado% set_property PROGRAM.FILE{bit文件地址} [lindex [get_hw_devices]0]

  • 4.6 下载。

    program_hw_devices [lindex[get_hw_devices]0]

  • 观察就会发现与设计步骤相关的命令都会有一个“design”后缀,与生成报告相关的命令都会有一个“report”前缀。文本在使用Tcl命令时几乎没有加任何的属性和参数,其实使用Tcl进行FPGA开发的好处就是可以通过添加和修改属性的方式控制设计过程中的每一步。
  • 本文使用的Tcl命令只是Shell中的命令。在Vivado IDE中的Tcl控制台,还可以使用一些与图形化界面配套的命令,这些命令是无法在Shell中使用的。在IDE界面中使用Tcl命令时软件会对命令做出比较详细的补全和提示工作,使用起来也不会感觉到困难。

你可能感兴趣的:(硬件原理,HDL硬件描述语言)