文章目录
- 官方解释
- 结论总结
- 验证
- 增加单个.v文件
- 增加文件夹
- Copy sources into project
- 参考文献
本文对Vivado中增加源文件界面Add or Create Design Sources和Add or Create Smulaton sources中的选项Scan and add RTL include files into project、Copy sources into project和Add sources from subdirectories作出解释。
官方解释
Scan and Add RTL Include Files into Project: 扫描所有RTL源文件,并将任何引用的Verilog包含文件添加到项目结构中。
Copy Sources into Project: 复制已添加的源文件,并将文件包含到本地项目目录中,而不是引用原始文件。如果使用“添加目录”添加源文件的目录,则在将文件本地复制到项目中时,将维护目录结构。有关详细信息,请看使用远程源或将源复制到项目中。
使用远程源或将源复制到项目中:为了提供项目管理的灵活性,您可以从远程位置引用源文件或将源文件复制到本地项目目录中。当您引用远程文件时,Vivado IDE会自动检测对被引用文件的更改,然后提示您刷新打开的设计 (Refresh your open designs)或合成对该文件进行的最新(Synthesize with the latest updates)。
如果您移动或存档项目,则可以将远程文件复制到项目中,以便将这些文件包含在项目中。要将源复制到项目中,请执行以下操作之一:
-
使用“添加源”命令将源添加到项目时,可以通过选择“将源复制到项目( Copy Sources into Project)”选项将源复制到本地项目目录。
-
如果最初将源添加为远程源,但后来要将它们复制到项目目录中,请使用“将文件复制到项目( Copy File into Project)”或在“源”窗口菜单中右键“将所有文件复制到项目(Copy All Files into Project )”将部分或所有远程源文件复制到项目目录中。
Add Sources from Subdirectories: 从使用添加目录指定的目录的子目录中添加源文件。
Include all design sources for simulation: 将所有设计源文件从sources_1文件集中复制到模拟文件集中。
结论总结
Add Files中选择Scan and add RTL include files into project,会加载我们选择的.v文件以及.v文件中提及的`include文件。
Add Directories中选择Scan and add RTL include files into project,会加载本文件夹中的.v文件以及.v文件中提及的`include文件。
Add Directories中选择Add Sources from Subdirectories,会加载本文件夹中和子文件夹下的.v文件以及.v文件中提及的`include文件。
选择Copy sources into project,表示是否将增加的文件加载到工程层级中,加载后在vivado工程中修改代码 和 在增加文件地址处用编辑器单独修改是相互独立的。(这对于习惯先在指定文件夹写代码再在建立工程时增加到工程的开发人员有影响,个人建议有FPGA工程文件夹的管理习惯的开发中最好是不勾选,当然直接到工程目录中的代码出修改也是可以的,只是文件层级较深)。
验证
首先验证Scan and add RTL include files into project和Add Sources from Subdirectories。
增加单个.v文件
为了验证,我们建立这样的文件夹层级,rtl文件夹中放入三个.v和sub_rtl文件夹;sub_rtl文件夹中放入一个.v。
并且在counter.v中前面加入包含文件。
`include "FirParallel.v"
`include "sim.v"
1.点击Add Files ,选择增加counter.v,选择Scan and Add RTL Include Files into Project,结果显示增加了rtl中的包含文件,不增加rtl子文件夹中的包含文件。
增加文件夹
为了验证,我们建立这样的文件夹层级,rtl文件夹中放入两个.v和sub_rtl文件夹;sub_rtl文件夹中放入两个.v。
- 点击Add Directories ,选择增加rtl文件夹,选择Scan and Add RTL Include Files into Project,结果显示只增加rtl中的两个文件,不增加rtl子文件夹中的文件。
- 点击Add Directories ,选择增加rtl文件夹,选择Add Sources from Subdirectories,结果显示增加rtl中的两个文件,也增加rtl子文件夹中的两个文件。
Copy sources into project
接下来验证Copy sources into project。
- 当不勾选Copy sources into project时,表示我们增加的.v文件地址就是工程所引用的代码地址。所以我们不管是在vivado中修改,还是在地址处用编辑器单独修改都会进行更新。
- 当勾选Copy sources into project时,表示我们增加的.v文件地址并非工程所引用的代码地址,他已经将代码复制到工程目录中(XXX\simulation.srcs\sources_1\imports)。所以我们在vivado工程中修改 和 在增加文件地址处用编辑器单独修改是相互独立的,所以在有FPGA工程文件夹的管理习惯的开发中最好是不勾选。
参考文献
Vivado Design Suite 用户指南:系统级设计输入(UG895)