参考:UG892 UG835
修改设计路径
将启动Vivado Tcl环境,并修改路径,将路径指向设计文件所在的目录。下面给出修改路径的步骤。
第一步:在Windows操作系统的主界面下,执行菜单命令【开始】—【所有程序】—【Xilinx Design Tools】—【Vivado2018.X】—【Vivado2018.X Tcl Shell】,弹出“Vivado 2018.x Tcl Shell”界面,如图4.1所示,在一系列提示信息后,出现提示符“Vivado%”。
第二步:如图4.2所示,修改路径,指向当前提供设计源文件的目录。在“Vivado%”提示符后面输入命令“cd e:/vivado_example/gate_verilog_no_project”。
设置设计的输出路径
将设置设计的输出路径,设置设计输出路径的步骤如下所示。
第一步:如图4.3所示,在“Vivado%”提示符后输入命令“set outputDir ./gate_Created_Data/top_output”。公众号:OpenFPGA
第二步:在“Vivado%”提示符后输入命令“file mkdir $outputDir”。
读取设计文件
将读取设计的源文件和约束文件,读取设计源文件和约束文件的步骤如下所示。
第一步:如图4.4所示,在“Vivado%”提示符后输入命令“read_verilogtop.v”。
第二步:在“Vivado%”提示符后输入命令“read_xdctop.xdc”。
运行设计综合
将对设计进行综合,并执行分析。非工程模式下运行设计综合并执行分析的步骤如下所示。公众号:OpenFPGA
第一步:在“Vivado%”提示符后输入“synth_design -top top -part xc7a75tfgg484-1”命令,对设计进行综合
synth_design命令完整的语法格式为:
synth_design[-name][-part][-constrset][-top][-include_dirs]
[-generic][-verilog_define][-flatten_hierarchy]
[-gated_clock_conversion][-directive][-rtl][-bufg][-no_lc]
[-fanout_limit][-mode][-fsm_extraction]
[-keep_equivalent_registers][-resource_sharing]
[-control_set_opt_threshold][-quiet][-verbose]
更详细的参数说明,请参考Xilinx提供的文档。
第二步:当综合完成后,在“Vivado%”提示符后输入“write_checkpoint -force $outputDir/post_synth”命令,写入检查点。
第三步:在“Vivado%”提示符后面输入“report_timing_summary -file $outputDir/post_synth_timing_summary.rpt”命令,用于生成时序报告。
第四步:在“Vivado%”提示符后面输入“report_power -file $outputDir/post_synth_power.rpt”命令,用于生成功耗报告。
第五步:在“Vivado%”提示符后面输入“start_gui”命令,启动Vivado集成开发环境。
第六步:在图上一步下方的“Tcl Console”窗口中输入“stop_gui”命令,退出Vivado集成幵发环境。
运行设计布局
对设计运行布局、逻辑优化、写设计布局检查点和生成时序总结报告。对设计进行布局和逻辑优化,以及进行分析的步骤如下所示。
第一步:在“Vivado%”提示符后输入“opt_design”命令,对设计进行优化。公众号:OpenFPGA
opt_design命令完整的语法格式为:
opt_design [-retarget] [-propconst] [-sweep] [-bram_power_opt] [-remap] [-resynth_area] [-directive] [-quiet] [-verbose]
更详细的参数说明,详见Xilinx提供的实现手册。
第二步:在“Vivado%”提示符后输入“power_opt_design”命令,对功耗进行优化。
power_opt__design命令完整的语法格式为:
power_optdesign [-quiet] [-verbose]
更详细的参数说明,详见Xilinx提供的实现手册。
第三步:在“Vivado%”提示符后输入“place_design”命令,对设计进行布局。
place_design命令完整的语法格式为:
place_design [-directive] [-no_timing_driven] [-quiet] [-verbose]
更详细的参数说明,详见Xilinx提供的实现手册。
第四步:在“Vivado%”提示符后输入“phys_opt_design”命令,对设计进行逻辑优化。
更详细的参数说明,详见Xilinx提供的实现手册。
phys_opt_design命令完整的语法格式为:
phys_opt_design [-fanout_opt] [-placementopt] [-rewire] [-critical_cell_opt] [-dsp_register_opt][-bram_register_opt][-hold_fix][-
retime] [-force_replication_on_nets] [-directive] [-quiet] [-verbose]
第五步:在“Vivado%”提示符后输入“write_checkpoin t-force $outputDir/post_place”命令,写设计布局检查点。
第六步:在“Vivado%”提示符后输入“report_timing_summary -file $outputDir/post_place_timing_summary.rpt”命令,生成时序总结报告。
第七步:在“Vivado%”提示符后输入“start_gui”命令,启动Vivado集成开发环境。
第八步:在上一步下方的“Tcl Console”窗口中输入“stop_gui”命令,退出Vivado集成开发环境。
运行设计布线
将对设计进行布线、写检查点、生成时序总结报告、生产时序报告、生产时钟利用率报告和生成功耗报告,写verilog文件和xdc文件。运行设计布线及分析结果的步骤如下所示。公众号:OpenFPGA
第一步:在“Vivado%”提示符后输入“route_design”命令,对设计进行布线。
route_design命令完整的语法格式为:
route_design [-unroute] [-re_entrant] [-nets] [-physicalnets][-pin][-directive][-no_timing_driven][-preserve][-delay]
[-free_resource_mode] -max_delay-min_delay[-quiet] [-verbose]
更详细的参数说明,详见Xilinx提供的实现手册。
第二步:在“Vivado%”提示符后输入“write_checkpoint -force $outputDir/post_route”命令,写检查点。
第三步:在“Vivado%”提示符后输入“report_timing_summary -file $outputDir/post_route_timing_summary.rpt”命令,生成时序总结报告。公众号:OpenFPGA
第四步:在“Vivado%”提示符后输入“report_timing -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.rpt”命令,生成时序报告。
第五步:在“Vivado%”提示符后输入“report_clock_utilization -file $outputDir/clock_util.rpt”命令,生成时钟利用率报告。
第六步:在“Vivado%”提示符后输入“report_utilization -file $outputDir/post_route_util.rpt”命令,生成利用率报告。
第七步:在“Vivado%”提示符后输入“report_power -file $outputDir/post_route_power.rpt”命令,生成功耗报告。
第八步:在“Vivado%”提示符后输入“report_drc -file $outputDir/post_imp_drc.rpt”命令,生成drc报告。
第九步:在“Vivado%”提示符后输入“write_verilog -force $outputDir/top_impl_netlist.v”命令,写verilog文件。
第十步:在“Vivado%”提示符后输入“write_xdc -no_fixed_only -force $outputDir/top_impl.xdc”命令,写xdc文件。
第十一步:在“Vivado%”提示符后面输入“start_gui”命令,启动Vivado集成开发环境。
第十二步:在上一步下方的“Tcl Console”窗口中输入“stop_gui”命令,退出Vivado集成开发环境。
生成比特流文件线
将生成比特流文件。生成比特流文件的步骤如下所示。
在“Vivado%”提示符后输入“write_bitstream -force $outputDir/top.bit”命令,将会生成比特流文件。
下载比特流文件
将下载比特流文件到FPGA中。下载比特流文件的步骤如下所示。
第一步:在“Vivado%”提示符后面输入“open_hw”命令,该命令用于打开硬件。公众号:OpenFPGA
第二步:在“Vivado%”提示符后面输入“connect_hw_server”命令,该命令用于连接服务器。图4.8给出了输入该命令后返回的连接服务器信息,表示连接服务器成功。
第三步:在“Vivado%”提示符后面输入“current_hw_target”命令,该命令用于显示当前连接的硬件目标。图4.9给出了输入该命令后返回的硬件目标信息。
第四步:在“Vivado%”提示符后面输入“open_hw_target”命令,该命令用于打开硬件目标。
第五步:在“Vivado%”提示符后面输入set_property PROGRAM.FILE {e:/vivado_example/gate_verilog_no_project/gate_Created_Data/top_output/top.bit} [lindex[get_hw_devices]]命令,该命令用于分配编程文件。
第六步:在“Vivado%”提示符后面输入“program_hw_devices [lindex[get_hw_devices]]”命令,该命令用于对FPGA器件进行编程。如果编程成功,则出现“Done pin status:HIGH”的提示信息,如图4.11所示
- END -
NOW现在行动!
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado中常用的快捷键(一)F4键【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
SystemVerilog数字系统设计_夏宇闻 PDFVerilog 里面,always,assign和always@(*)区别
FPGA上如何求32个输入的最大值和次大值:分治图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
简谈:如何学习FPGARISC-V再进阶!世界首款5纳米RISC-V SOC成功流片!
几款开源SDR平台Vitis尝鲜(一)
SDR/无线设计中LNA和PA的基本原理
拆解1968年的美国军用电脑,真的怀疑是“穿越”啊!
一文最全科普FPGA技术知识你见过1-bit CPU吗?高级FPGA设计技巧!多时钟域和异步信号处理解决方案
【Vivado那些事】Vivado中电路结构的网表描述
ZYNQ中裸机开发和Linux开发有什么区别?
现代计算机的雏形-微型计算机MCS-4
世界上第一个微处理器真的是Intel 4004吗?其实这是个很复杂的故事…
【每周一问】如何控制加载FPGA程序时,Xilinx FPGA的IO管脚输出高低电平
【Vivado那些事】vivado生成.bit文件时报错-ERROR: [Drc 23-20]
AD9361 和Zynq及其参考设计说明1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程谈谈Xilinx FPGA设计的实现过程
Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目
AD936x+ZYNQ搭建收音机(一)
AD936x+ZYNQ搭建收音机(二)含视频演示
AD936x+ZYNQ搭建收音机(三)-终篇
AD936x+ZYNQ搭建OpenWIFI
Verilog 版本:Verilog-95、Verilog-2001与System Verilog区别简谈
FPGA时钟设计方案
【Vivado那些事】Vivado中增量编译与设计锁定
点击上方字体即可跳转阅读