深入探索Vivado非工程模式FPGA设计流程

时间:2025-11-02  作者:Diven  阅读:0

参考:UG892 UG835

深入探索Vivado非工程模式FPGA设计流程

Vivado集成开发工具为设计者提供了非工程模式下的FPGA设计流程。在Vivado非工程模式下,FPGA开发人员可以更加灵活地对设计过程的每个阶段进行控制,从而进一步提高FPGA的设计效率。

非工程模式下基本命令列表
 


 

 

命令功能
read_edif将EDIF或者NGC网表导入当前工程的设计源文件集合中
read_verilog读入用于非工程模式会话的Verilog(.v)和SystemVerilog(.sv)源文件
read_vhdl读入用于非工程模式会话的VHDL(.vhd或vhdl)源文件
read_ip读入用于非工程模式会话的已经存在的IP(.xco或者.xci)工程文件。使用来自.xco IP工程的.ngc网表。对于.xci IP,使用RTL用于编译;或者如果存在网表,则使用网表
read_xdc读入用于非工程模式会话的.sdc或者.xdc文件
set_param set_property用于多个目的。例如,可以定义设计配置和工具设置等
link_design如果会话中使用网表文件,则对设计进行编译,用于综合目的
synth_design启动Vivado综合,包含设计的顶层模块名字和目标器件参数
opt_design执行高层次设计优化
power_opt_design执行智能时钟门控,用于降低系统的整体功耗(可选)
place_design对设计进行布局
phys_opt_design执行物理逻辑优化,以改善时序和布线能力(可选)
route_design对设计进行布线
report*运行多个标准的报告,可以在设计过程的任何一个阶段运行
write_bitstream生成一个比特流文件,并且运行DRC
write_checkpoint read_checkpoint在设计流程的任何点保存设计。一个设计检査点由网表和约束构成,在设计流程的该点进行了优化,以及包含实现的结果
start_gui stop_gui调用在存储器中当前设计的Vivado集成开发环境

典型TCL脚本
为了方便读者从整体上了解在Vivado非工程模式下的基本命令的功能,下面将给出用于Vivado设计套件示例的非工程模式TCL脚本,该脚本可以说明使用设计检查点、用于保存设计流程中各个阶段的数据库状态和手工生成各种报告的方法。

  通过下面的命令运行该Tcl脚本文件:
  vivado -mode tcl –source create_bft_batch.tcl

Following is an example of a Non-Project Mode script, whICh reads in various source files:
  # create_bft_batch.tcl
  # bft sample design
  # A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow
  # # NOTE: typICal usage would be "vivado -mode tcl -source create_bft_batch.tcl"
  # # STEP#0: define output directory area.
  # set outputDir ./Tutorial_Created_Data/bft_output
  file mkdir $outputDir
  #
  # STEP#1: setup design sources and constraints
  #
  read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ]
  read_vhdl ./Sources/hdl/bft.vhdl
  read_verilog [ glob ./Sources/hdl/*.v ]
  read_xdc ./Sources/bft_full.xdc
  #
  # STEP#2: run synthesis, report utilization and timing estimates, write checkpoint
  design
  # synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt
    write_checkpoint -force $outputDir/post_synth
  report_timing_summary -file $outputDir/post_synth_timing_summary.rpt
  report_power -file $outputDir/post_synth_power.rpt
  #
  # STEP#3: run placement and logic optimzation, report utilization and timing
  estimates, write checkpoint design
  #
  opt_design
  place_design
  phys_opt_design
  write_checkpoint -force $outputDir/post_place
  report_timing_summary -file $outputDir/post_place_timing_summary.rpt
  #
  # STEP#4: run router, report actual utilization and timing, write checkpoint design,
  run drc, write verilog and xdc out
  # route_design
  write_checkpoint -force $outputDir/post_route
  report_timing_summary -file $outputDir/post_route_timing_summary.rpt
  report_timing -sort_by group -max_paths 100 -path_type summary -file
  $outputDir/post_route_timing.rpt
  report_clock_utilization -file $outputDir/clock_util.rpt
  report_utilization -file $outputDir/post_route_util.rpt
  report_power -file $outputDir/post_route_power.rpt
  report_drc -file $outputDir/post_imp_drc.rpt
  write_verilog -force $outputDir/bft_impl_netlist.v
  write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc
  #
  # STEP#5: generate a bitstream
  #
  write_bitstream -force $outputDir/bft.bit
   

Vivado集成开发环境分析

  3.1 启 动 Vivado集 成 开 发 环 境

    当工作在非工程模式时,对于存储器中活动的设计来说,使用下面的命令打开/关闭Vivado集成开发环境。

  (l)start_gui,打开Vivado集成开发环境,用于存储器中活动的设计。
  (2)stop_gui,关闭Vivado集成开发环境,并且返回“Vivado Design Suite Tcl shell”界面。

  在设计过程的每个阶段,设计者均可以打开Vivado集成开发环境,对存储器中保存的当前设计进行分析和操作。在非工程模式下,在Vivado集成开发环境中,一些工程的特性是不可用的,如Flow Navigator、Project Summary,以及源文件的访问、管理和运行。通过Vivado集成开发环境的Tools菜单,可以使用分析及修改约束等很多特性。

  需要知道的是,在Vivado集成开发环境中,对存储器中的设计所做的任何变化都会自动应用到下游工具中,这里没有保存的功能。如果设计者想要将约束的变化用于后续的运行,则在Vivado集成幵发的环境的主菜单下,执行菜单命令【File】—【Export】—【Export Constraints】,写到一个新的包含所有XDC文件的文件中。

  3.2 打开设计检查点的方法

  通过Vivado集成设计环境,设计者可以在保存的设计点上对设计进行分析。通过使用Tcl命令(synth_design、opt_design、power_opt_design、place_design、phys_opt_design和route_deSign),设计者可以在非工程模式下运行一个设计,并且可以在任何阶段保存一个设计。这样,就可以在Vivado集成设计环境中读取设计。设计者可以从一个布线后的设计开始,分析时序,仅通过布局来解决时序问题。然后保存刚才的工作,甚至设计中还没有进行的布线操作。Vivado集成设计环境显示打开设计点的名字。 设计者可以打开、分析和保存设计检查点,也可以将变化保存到新的设计点。

  (1)在Vivado集成开发环境下,执行菜单命令【File】->【Save Checkpoint】,保存对当前设计检查点的修改。

  (2)在Vivado集成开发环境下,执行菜单命令【File】—【Write Checkpoint】,将设计检查点的当前状态保存到一个新的设计检查点中。

    关于具体的每个命令的使用下一节将细致分析。

  审核编辑:黄飞

猜您喜欢

在FPGA设计中,复位电路是非常重要的一部分,它能够确保系统从初始状态开始启动并保证正确运行。 本文将分别介绍FPGA中三种常用复位电路:同步复位、异步复位和异...
2023-05-14 14:44:00

贴片电阻上的字母表示其精度,也就是阻值与标称值之间的误差范围。不同字母代表不同的精度等级,常见的有以下几种:F:±1% 这是比较常用的精度等级,表示电阻的实际阻...
2024-11-26 11:29:22


什么是防爆编码器?防爆编码器是为在危险场所使用的编码器,能够保障装置的安全性和可操作性。它采用了特殊的设计,包括耐腐蚀、避免静电积累和抗压缩等功能,同时还有独特...
2023-08-24 14:53:00

数字信号处理领域,SMD4(SynchronousModulationandDemodulation4)是一项重要的技术。它广泛应用于通信、音频处理和图像处理等...
2025-03-08 10:19:16

贴片电阻上的「104」可不是普通的数字,它代表的是电阻值的大小。这是一种简化的表示方法,遵循一定的规则。「104」中的「10」代表有效数字,而「4」代表10的几...
2024-11-26 11:29:18

  ad9854工作原理AD9854采用80脚LQFP封装,其内部共有40个8位的控制寄存器,分别用来控制输出信号频率、相位、幅度、步进斜率等,以及一些特殊控制...
2018-05-17 09:53:00

电子电路中,电阻器是最基本且最重要的元器件。电阻器的主要功能是限制电流的流动并提供电压分配。为了方便电路设计和交流,电阻器有其特定的文字符号法。本文将对电阻器的...
2025-04-15 09:00:06

在选择流量传感器时,规格和尺寸是非常重要的考虑因素。流量传感器的规格通常包括测量范围、精度、响应时间等,而尺寸则涉及传感器的外形和安装要求。常见的流量传感器尺寸...
2015-08-06 00:00:00

贴片电阻20R0是一种常用的电子元件,其阻值为20欧姆,精度为±5%。它采用表面贴装技术(SMT),体积小巧,适用于高密度电路板的装配。在各种电子设备中,从智能...
2024-11-26 11:29:23