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

时间:2025-07-29  作者:Diven  阅读:0

修改设计路径

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

将启动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”。

第二步:在“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”命令,对设计进行优化。

 

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所示

审核编辑:黄飞

 

猜您喜欢

贴片电阻2512的封装尺寸为2.5mm x 1.2mm,它的功率并不是一个固定值,而是取决于具体的型号和厂商的规格。一般来说,常见的2512贴片电阻功率范围在1...
2024-11-26 11:29:50

触发二极管,又称为可控硅,是重要的半导体器件,应用于多个领域。在电力电子领域,触发二极管被用于整流、调速和功率控制,能够有效地调节电流和电压,确保设备的稳定运行...
2009-12-18 00:00:00

贴片电阻的阻值表通常指的是E系列标准值,例如E24、E48、E96、E192等。其中,数字代表了每个数量级(如1-10Ω,10-100Ω等)内包含的阻值个数。9...
2024-11-26 11:30:01

线性稳压器(LDO)是一种常见的电子元件,用于将不稳定的直流电压转换为稳定的直流电压输出。测量LDO的大小需要考虑多个参数,以下介绍几种常用的测量方法:1. 输...
2024-08-11 00:00:00

现代工业和技术领域,精确的尺寸和参数对产品的性能和质量非常重要。其中,“P=2.5mm”作为一个重要的标准参数,应用于多个行业,包括机械制造、电子产品和材料科学...
2025-04-23 16:01:48

贴片电阻,电子产品中 ubiquitous 的小元件,你是否好奇过它身上的神秘代码?其实,解读这些标值并不难。对于三位数的标值,前两位数字代表有效数字,最后一位...
2024-11-26 11:29:26

压敏电阻测试仪是专门用于测量压敏电阻(Varistor)电性能的仪器,应用于电子、电力等行业。压敏电阻是电压依赖型电阻器,其电阻值随施加电压的变化而变化,主要用...
2025-04-15 19:01:40

贴片电阻1211,以其微小的体积和强大的功能,在电子电路中扮演着至关重要的角色。1211代表其尺寸为1.2mm长,1.1mm宽,这种紧凑的设计使其成为空间受限应...
2025-04-14 15:03:41


引言现代图像处理系统对实时性的要求愈来愈高,但图像的前端采集往往会受器件或环境影响而使获得的图像含有噪声,因而需要在对图像处理前进行去噪声处理。若使用通用的软...
2020-07-30 17:47:00