参考:ug892 ug835
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】,将设计检查点的当前状态保存到一个新的设计检查点中。
关于具体的每个命令的使用下一节将细致分析。
富士康计划在印度卡纳塔克邦追加1391.1亿卢比
工厂安防监控智慧化系统方案
从白纸一片到传承与延续 标志着中国风险投资产业的真正闭环
AUTOSAR UDP网络管理策略
CPU处理器基本不会坏?
浅析Vivado在非工程模式下的FPGA设计流程
微软新Surface Book2已经开始量产,四月发布,定价1000美元起
数传电台的频率稳定度/反射响应时间
反射内存网在分布式系统中的应用
苹果紧急解决iPhone 15 Pro Max生产挑战,扩大供应量
基于RT-Thread+RA6M4的智能锁设计案例
无损压缩算法有哪些
STM32学习笔记之RTC实时时钟1
芯闻动态:高通诉苹果侵犯专利再开庭、华为将在2019年中期推出5G手机、到2025年中国会有6.7亿人使用5G
振弦采集模块VMTool配置工具
华为智慧屏S系列正式发布:久用久新,十年不过时
爱立信携手Qualcomm成功为5G商用部署增加了一个新的频段
益登科技主推RF前端系统单芯片(SoC)解决方案
基板孔无铜开路的控制方法介绍
什么是RC相移振荡器?什么是文氏桥振荡器?