善用Vivado工程配置文件xpr快速工程创建
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
善用Vivado工程配置文件xpr快速工程创建
对于第一次新建工程,没啥捷径,建议大家规规矩矩的使用Vivado的GUI创建工程。
完成工程创建后,我们找到这个新建工程下的.xpr文件,它是工程配置文件。
如我们新建工程的.xpr打开有,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Product Version: Vivado v2016.2 (64-bit) -->
<!-- -->
<!-- Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. -->
<Project Version="7" Minor="14" Path="D:/datasheet/xilinx/XDDR_PRJ/xddr_prj.xpr">
<DefaultLaunch Dir="$PRUNDIR"/>
<Configuration>
<Option Name="Id" Val="0fd604fa43664afbb4172d9765411c21"/>
<Option Name="Part" Val="xc7a50tftg256-1"/>
<Option Name="CompiledLibDir" Val="$PCACHEDIR/compile_simlib"/>
<Option Name="CompiledLibDirXSim" Val=""/>
<Option Name="CompiledLibDirModelSim" Val="$PCACHEDIR/compile_simlib/modelsim"/>
<Option Name="CompiledLibDirQuesta" Val="$PCACHEDIR/compile_simlib/questa"/>
<Option Name="CompiledLibDirIES" Val="$PCACHEDIR/compile_simlib/ies"/>
<Option Name="CompiledLibDirVCS" Val="$PCACHEDIR/compile_simlib/vcs"/>
<Option Name="CompiledLibDirRiviera" Val="$PCACHEDIR/compile_simlib/riviera"/>
<Option Name="CompiledLibDirActivehdl" Val="$PCACHEDIR/compile_simlib/activehdl"/>
<Option Name="BoardPart" Val=""/>
<Option Name="ActiveSimSet" Val="sim_1"/>
<Option Name="DefaultLib" Val="xil_defaultlib"/>
<Option Name="EnableCoreContainer" Val="FALSE"/>
<Option Name="XPMLibraries" Val="XPM_MEMORY"/>
<Option Name="CreateRefXciForCoreContainers" Val="FALSE"/>
<Option Name="IPUserFilesDir" Val="$PPRDIR/ddr3_prj.ip_user_files"/>
<Option Name="IPStaticSourceDir" Val="$PPRDIR/ddr3_prj.ip_user_files/ipstatic"/> <Option Name="EnableBDX" Val="FALSE"/>
<Option Name="WTXSimLaunchSim" Val="5"/>
<Option Name="WTModelSimLaunchSim" Val="0"/>
<Option Name="WTQuestaLaunchSim" Val="0"/>
<Option Name="WTIesLaunchSim" Val="0"/>
<Option Name="WTVcsLaunchSim" Val="0"/>
<Option Name="WTRivieraLaunchSim" Val="0"/>
<Option Name="WTActivehdlLaunchSim" Val="0"/>
<Option Name="WTXSimExportSim" Val="13"/>
<Option Name="WTModelSimExportSim" Val="13"/>
<Option Name="WTQuestaExportSim" Val="13"/>
<Option Name="WTIesExportSim" Val="13"/>
<Option Name="WTVcsExportSim" Val="13"/>
<Option Name="WTRivieraExportSim" Val="13"/>
<Option Name="WTActivehdlExportSim" Val="13"/>
</Configuration>
<FileSets Version="1" Minor="31">
<FileSet Name="sources_1" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1"> <Filter Type="Srcs"/>
<Config>
<Option Name="DesignMode" Val="RTL"/>
<Option Name="TopAutoSet" Val="TRUE"/>
</FileSet>
<FileSet Name="constrs_1" Type="Constrs" RelSrcDir="$PSRCDIR/constrs_1"> <Filter Type="Constrs"/>
<Config>
<Option Name="ConstrsType" Val="XDC"/>
</Config>
</FileSet>
<FileSet Name="sim_1" Type="SimulationSrcs" RelSrcDir="$PSRCDIR/sim_1"> <Config>
<Option Name="DesignMode" Val="RTL"/>
<Option Name="TopAutoSet" Val="TRUE"/>
<Option Name="TransportPathDelay" Val="0"/>
<Option Name="TransportIntDelay" Val="0"/>
<Option Name="SrcSet" Val="sources_1"/>
</Config>
</FileSet>
</FileSets>
<Simulators>
<Simulator Name="XSim">
<Option Name="Description" Val="Vivado Simulator"/>
<Option Name="CompiledLib" Val="0"/>
</Simulator>
<Simulator Name="ModelSim">
<Option Name="Description" Val="ModelSim Simulator"/>
</Simulator>
<Simulator Name="Questa">
<Option Name="Description" Val="Questa Advanced Simulator"/>
<Simulator Name="IES">
<Option Name="Description" Val="Incisive Enterprise Simulator (IES)"/>
</Simulator>
<Simulator Name="VCS">
<Option Name="Description" Val="Verilog Compiler Simulator (VCS)"/>
</Simulator>
<Simulator Name="Riviera">
<Option Name="Description" Val="Riviera-PRO Simulator"/>
</Simulator>
<Simulator Name="ActiveHDL">
<Option Name="Description" Val="Active-HDL Simulator"/>
</Simulator>
</Simulators>
<Runs Version="1" Minor="10">
<Run Id="synth_1" Type="Ft3:Synth" SrcSet="sources_1" Part="xc7a50tftg256-1" ConstrsSet="constrs_1" Description="Vivado Synthesis Defaults" State="current" IncludeInArchive="true">
<Strategy Version="1" Minor="2">
<StratHandle Name="Vivado Synthesis Defaults" Flow="Vivado Synthesis 2016">
<Desc>Vivado Synthesis Defaults</Desc>
</StratHandle>
<Step Id="synth_design"/>
</Strategy>
</Run>
<Run Id="impl_1" Type="Ft2:EntireDesign" Part="xc7a50tftg256-1" ConstrsSet="constrs_1" Description="Default settings for Implementation." State="current" SynthRun="synth_1" IncludeInArchive="true">
<Strategy Version="1" Minor="2">
<StratHandle Name="Vivado Implementation Defaults" Flow="Vivado Implementation 2016">
<Desc>Default settings for Implementation.</Desc>
</StratHandle>
<Step Id="init_design"/>
<Step Id="opt_design"/>
<Step Id="power_opt_design"/>
<Step Id="place_design"/>
<Step Id="post_place_power_opt_design"/>
<Step Id="phys_opt_design"/>
<Step Id="route_design"/>
<Step Id="post_route_phys_opt_design"/>
<Step Id="write_bitstream"/>
</Strategy>
</Run>
</Runs>
</Project>
////////////////////////////////////////////////////////////////////////////////
对于这个工程配置文件,可以根据我们的需要,移植我们需要的信息。
举个最简单的例子,我们只想在某个路径下创建一个以某个型号FPGA器件为主的工程,那么只要截取其中很少一部分即可(最前面的Configuration中的部分内容):
<?xml version="1.0" encoding="UTF-8"?>
<!-- Product Version: Vivado v2016.2 (64-bit) -->
<!-- -->
<!-- Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. -->
<Project Version="7" Minor="14" Path="D:/datasheet/xilinx/XDDR_PRJ/xddr_prj.xpr">
<DefaultLaunch Dir="$PRUNDIR"/>
<Configuration>
<Option Name="Id" Val="0fd604fa43664afbb4172d9765411c21"/>
<Option Name="Part" Val="xc7a50tftg256-1"/>
</Configuration>
</Project>
注意,这里我们只需要改2个地方,即上面代码里面红色字体部分:
1.Path="D:/datasheet/xilinx/XDDR_PRJ/xddr_prj.xpr"这个表示工程存放路径,大家可以把自己
的工程存放路径放上去覆盖它,注意是“/”,而windows的路径都是“\”。
2.Val="xc7a50tftg256-1"表示所使用的FPGA器件型号,大家也可以使用自己的器件覆盖上去。
比如,特权同学这里只修改了路径,使用一样型号的FPGA型号。
那么修改如下。
<?xml version="1.0" encoding="UTF-8"?>
<!-- Product Version: Vivado v2016.2 (64-bit) -->
<!-- -->
<!-- Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. -->
<Project Version="7" Minor="14" Path="D:/datasheet/xilinx/XADC_PRJ/xadc_prj.xpr">
<DefaultLaunch Dir="$PRUNDIR"/>
<Configuration>
<Option Name="Id" Val="0fd604fa43664afbb4172d9765411c21"/>
<Option Name="Part" Val="xc7a50tftg256-1"/>
</Configuration>
</Project>
如图所示,不要忘记吧xadc_prj.xpr文件放置到脚本中设置的路径下。
双击xadc_prj.xpr,Vivado工具将被打开,会自动以此创建新的工程,界面如图所示。
此时,工程文件夹里也自动创建了很多新的子文件夹。
当然了,在xadc_prj.xpr文件里,也平白无故的增加了一大堆新的配置信息,这都归功于Vivado自动配置功能。
这里只是举个xpr文件做工程移植的最简单例子,算是抛砖引玉,大家可以自己根据需要
定制自己的移植配置文件,这对于要多次创建基于同一个FPGA器件平台的工程而言,非常高效。
这其实也是脚本开发相对于GUI开发方式的一个主要优势。