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

可编程逻辑

1340人已加入

描述

修改设计路径

将启动Vivado  Tcl环境,并修改路径,将路径指向设计文件所在的目录。下面给出修改路径的步骤。   第一步:在Windows操作系统的主界面下,执行菜单命令【开始】—【所有程序】—【Xilinx Design Tools】—【Vivado2018.X】—【Vivado2018.X Tcl Shell】,弹出“Vivado 2018.x Tcl Shell”界面,如图4.1所示,在一系列提示信息后,出现提示符“Vivado%”。

WINDOWS

第二步:如图4.2所示,修改路径,指向当前提供设计源文件的目录。在“Vivado%”提示符后面输入命令“cd e:/vivado_example/gate_verilog_no_project”。

WINDOWS

设置设计的输出路径

将设置设计的输出路径,设置设计输出路径的步骤如下所示。 第一步:如图4.3所示,在“Vivado%”提示符后输入命令“set outputDir ./gate_Created_Data/top_output”。

WINDOWS

第二步:在“Vivado%”提示符后输入命令“file mkdir $outputDir”。  

读取设计文件

将读取设计的源文件和约束文件,读取设计源文件和约束文件的步骤如下所示。 第一步:如图4.4所示,在“Vivado%”提示符后输入命令“read_verilogtop.v”。 第二步:在“Vivado%”提示符后输入命令“read_xdctop.xdc”。

WINDOWS

运行设计综合


  将对设计进行综合,并执行分析。非工程模式下运行设计综合并执行分析的步骤如下所示。公众号: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给出了输入该命令后返回的连接服务器信息,表示连接服务器成功。

WINDOWS

第三步:在“Vivado%”提示符后面输入“current_hw_target”命令,该命令用于显示当前连接的硬件目标。图4.9给出了输入该命令后返回的硬件目标信息。

WINDOWS

  第四步:在“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所示

WINDOWS

审核编辑:黄飞

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分