本节将分几个部分来介绍Vivado非工程模式设计流程。
本节将启动Vivado TCL环境,并修改路径,将路径指向设计文件所在的目录。修改路径的步骤主要包括:
(1)在Window 7操作系统主界面下,选择开始→所有程序→Xilinx Design Tools→Vivado 2013.3→Vivado 2013.3 Tcl Shell。
(2)如图2.66所示,出现Vivado 2013.3 Tcl Shell界面。在出现一系列提示信息后,出现提示符:
Vivado %
图2.66 启动Vivado 2013.3 Tcl Shell界面
(3)如图2.67所示,修改路径,指向当前提供设计源文件的目录。在Vivado%提示符后面输入命令:
cd e:/vivado_example/gate_verilog_no_project
图2.67 修改设计路径
注: 读者根据情况修改路径。
下面设置输出路径。如图2.68所示,在Vivado%提示符后输入下面命令:
Set outputDir ./gate_Created_Data/top_output File mkdir $ outputDir
图2.68 设置输出路径
下面将设置设计源文件和约束。如图2.69所示,在Vivado %提示符后输入下面命令:
read_verilog top.v read_xdc top.xdc
图2.69 设置设计源文件和约束
注:
(1)read_edif——将一个EDIF或者NGC网表读入到当前工程的源文件中;
(2)read_verilog——读入Verilog(.v)和System Verilog(.sv)源文件,用于非工程模式;
(3)read_vhdl——读入VHDL(.vhd或者.vhdl)源文件,用于非工程模式;
(4)read_xdc——读入.sdc/.xdc格式的约束文件,用于非工程模式。
下面对设计进行综合。在Vivado %提示符后依次输入下面命令:
synth_design – top top – part xc7a100tcsg324-1 write_checkpoint – force $ outputDir/post_synth report_timing_summary – file $outputDir/post_synth_timing_summary.rpt report_power – file $outputDir/post_synth_power.rpt
注: 命令格式为:
(1)synth_design:
synth_design [-name arg] [-part arg] [-constrset arg] [-top arg] [-include_dirs args] [-generic args] [-verilog_define args] [-flatten_hierarchy arg] [-gated_clock_conversion arg] [-directive arg] [-rtl] [-bufg arg] [-no_lc] [-fanout_limit arg] [-mode arg] [-fsm_extraction arg] [-keep_equivalent_registers] [-resource_sharing arg] [-control_set_opt_threshold arg] [-quiet] [-verbose]
(2)write_checkpoint/read_checkpoint:
在处理流程的任何一点保存设计。一个设计检查点(checkpoint)由设计流程中该点带有任何优化的网表和约束构成。
(3)report_*:
运行多个标准的报告,可以在设计流程的任何阶段运行该命令。
下面对设计运行布局和逻辑优化,报告利用率和时序估计,写检查点设计。在Vivado%提示符后依次输入下面命令:
opt_design power_opt_design place_design phys_opt_design write_checkpoint – force $ outputDir/post_place report_timing_summary – file $ outputDir/post_place_timing_summary.rpt
注: 命令格式为:
(1)opt_design——执行高层次设计优化。
(2)power_opt_design——执行智能时钟门控,用于降低系统整体功耗(该步骤可选)。
(3)place_design——对设计进行布局。
(4)phys_opt_design——执行物理逻辑优化,以改善时序或者鲁棒性(该步骤可选)。
下面对设计运行布线器,报告真正的利用率和时序,写检查点设计,运行DRC,写verilog和xdc。在Vivado %提示符后依次输入下面命令:
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_clcok_utilization – file $ outputDir/clock_util.rpt report_utilization – file $ outputDir/post_route_util.rpt report_power – file $ outputDir/post_route_powet.rpt report_drc – file $ outputDir/post_imp_drc.rpt write_verilog – force $ outputDir/top_impl_netlist.v write_xdc – no_fixed_only – force $ outputDir/top_impl.xdc
注: 命令格式为:
route_design——对设计进行布线。
下面生成比特流,在Vivado %提示符后依次输入下面命令:
write_bitstream –force $outputDir/top.bit
注: 命令格式为:
write_bitstream——生成比特流文件并运行DRC。