0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析Vivado在非工程模式下的FPGA设计流程

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2021-06-19 10:52 次阅读

参考:UG892 UG835

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

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


c6f62a6c-d048-11eb-9e57-12bb97331649.png

c72e82cc-d048-11eb-9e57-12bb97331649.png

命令 功能
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】,将设计检查点的当前状态保存到一个新的设计检查点中。

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593179
  • vhdl
    +关注

    关注

    30

    文章

    815

    浏览量

    127684
  • DRC
    DRC
    +关注

    关注

    2

    文章

    143

    浏览量

    35770
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65099

原文标题:无招胜有招-Vivado非工程模式下的FPGA设计流程

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在AMD Vivado™ Design Tool中用工程模式使用DFX流程

    本文介绍了在 AMD Vivado™ Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的过程中要把具体步骤映射到相应的 DFX
    的头像 发表于 04-17 09:28 122次阅读
    如何在AMD <b class='flag-5'>Vivado</b>™ Design Tool中用<b class='flag-5'>工程模式</b>使用DFX<b class='flag-5'>流程</b>?

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

    在设计过程的每个阶段,设计者均可以打开Vivado集成开发环境,对存储器中保存的当前设计进行分析和操作。
    发表于 04-03 09:36 105次阅读
    深入探索<b class='flag-5'>Vivado</b><b class='flag-5'>非工程模式</b><b class='flag-5'>FPGA</b>设计<b class='flag-5'>流程</b>

    详解Vivado非工程模式的精细设计过程

    将设置设计的输出路径,设置设计输出路径的步骤如下所示。 第一步:如图4.3所示,在“Vivado%”提示符后输入命令“set outputDir ./gate_Created_Data/top_output”。
    发表于 04-03 09:34 88次阅读
    详解<b class='flag-5'>Vivado</b><b class='flag-5'>非工程模式</b>的精细设计过程

    FPGA实现基于Vivado的BRAM IP核的使用

    Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM IP核的使用。 BRAM是FPGA
    的头像 发表于 12-05 15:05 518次阅读

    Vivado设计流程指导手册

    Vivado 设计分为 Project Mode 和 Non-project Mode 两种模式,一般简单设计中,我们常用的是 Project Mode。本手册中,我们将以一个简单的实验案例,一步一步的完成
    发表于 09-20 07:37

    vivado主界面及设计流程

    Vivado设计主界面,它的左边是设计流程导航窗口,是按照FPGA的设计流程设置的,只要按照导航窗口一项一项往下进行,就会完成从设计输入到最后下载到开发板上的整个设计
    的头像 发表于 09-17 15:40 1633次阅读
    <b class='flag-5'>vivado</b>主界面及设计<b class='flag-5'>流程</b>

    Vivado设计套件用户指南(设计流程概述)

    电子发烧友网站提供《Vivado设计套件用户指南(设计流程概述).pdf》资料免费下载
    发表于 09-15 09:55 1次下载
    <b class='flag-5'>Vivado</b>设计套件用户指南(设计<b class='flag-5'>流程</b>概述)

    Vivado使用指南

    Vivado设计套件,是FPGA厂商赛灵思公司2012年发布的集成设计环境。包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立共享的可扩展数据模型和通用调试环境基础上。这也是一个基于AMBA
    发表于 09-06 17:55

    基于 FPGA Vivado 的数字钟设计(附源工程

    今天给大侠带来基于 FPGA Vivado 的数字钟设计,开发板实现使用的是Digilent basys 3。话不多说,上货。 需要源工程可以以下资料获取里获取。 资料汇总|
    发表于 08-18 21:18

    基于 FPGA Vivado 示波器设计(附源工程

    今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,话不多说,上货。 需要源工程可以以下资料获取里获取。 资料汇总|
    发表于 08-17 19:31

    基于 FPGA Vivado 信号发生器设计(附源工程

    今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3。话不多说,上货。 需要源工程可以以下资料获取里获取。 资料汇总|
    发表于 08-15 19:57

    vivado仿真流程

    vivado开发软件自带了仿真工具,下面将介绍vivado的仿真流程,方便初学者进行仿真实验。
    的头像 发表于 07-18 09:06 2547次阅读
    <b class='flag-5'>vivado</b>仿真<b class='flag-5'>流程</b>

    vivado创建工程流程

    vivado工程创建流程对于大部分初学者而言比较复杂,下面将通过这篇博客来讲解详细的vivado工程创建
    的头像 发表于 07-12 09:26 1319次阅读
    <b class='flag-5'>vivado</b>创建<b class='flag-5'>工程</b><b class='flag-5'>流程</b>

    用 TCL 定制 Vivado 设计实现流程

    设计源文件和设计过程。源文件只能从当前位置访问,设计实现过程中的每一步,数据和运行结果都存在于 Vivado 分配到的机器内存中,在用户不主动输 出的情况,不会存储到硬盘中。 简单来讲,
    发表于 06-28 19:34

    用TCL定制Vivado设计实现流程

    今天推出Xilinx已发布的《Vivado使用误区与进阶》系列:用TCL定制Vivado设计实现流程
    的头像 发表于 05-05 09:44 728次阅读
    用TCL定制<b class='flag-5'>Vivado</b>设计实现<b class='flag-5'>流程</b>