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

时间:2025-09-16  作者: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所示

审核编辑:黄飞

 

猜您喜欢

贴片电阻的封装尺寸与其功率大小密切相关。封装尺寸越大,电阻的功率也就越大。这是因为更大的封装可以容纳更大的电阻体,从而具有更大的散热面积。电阻在工作时会发热,如...
2024-11-26 11:29:20

光敏电阻(LDR)是一种对光线敏感的电阻器,应用于自动光控设备、光线探测器和摄影设备等领域。科技的发展,光敏电阻的应用越来越,很多用户在使用时会产生疑问:光敏电...
2025-03-18 08:00:02

贴片电阻上的2003并不是直接代表多少kΩ,而是表示其阻值大小的代码。 2003采用的是三位数字表示法,其中前两位20代表有效数字,第三位0代表乘数,也就是10...
2024-11-29 10:25:55

在选择合适的笔时,了解其参数非常重要。笔的类型多种多样,包括圆珠笔、钢笔、马克笔等,每种笔都有其独特的书写体验和用途。笔尖的粗细也是一个重要参数,通常以0.5m...
2019-08-28 00:00:00

谐振电感线圈在工作时,常常会出现过热现象。这会影响设备的性能和寿命。下面将介绍一些解决谐振电感线圈过热的方法。降低工作频率谐振电感线圈在高频下工作时,容易发热。...
2025-03-22 05:01:39

在选择探头时,了解其参数非常重要。探头的类型、频率、灵敏度和测量范围都是关键因素。探头的类型决定了其适用场景,例如超声波探头适合材料检测,而红外探头则用于温度测...
2008-07-17 00:00:00

WiFi模块的应用领域非常,涵盖了多个行业和场景。在智能家居方面,WiFi模块使得家电设备能够实现远程控制和智能化管理,用户可以通过手机应用程序轻松操控家中的照...
2014-06-30 00:00:00

电阻器作为基础且重要的元件,应用于各种电路设计和制造中。随着技术的发展,四端子电阻因其精度高、稳定性好等优势,逐渐成为高端电子设备的首选。而在众多电阻品牌中,万...
2025-03-12 09:39:19

安规电容是电子设备中重要的元件。在电路中起到隔离和保护的作用。本文将探讨安规电容的原理和应用。安规电容定义安规电容是指符合安全标准的电容器。通常用于交流电路中。...
2025-03-21 06:30:34

随着设计需求的不断复杂化,设计工程规模的越来越大,整个设计会分给多个人,甚至多组人来协同开发。每个部分由擅长的人来处理。如果一个设计是由多个组/公司来协同完成...
2023-04-13 09:36:00