Vivado中增加源文件界面中各选项的解释

2023-09-21 10:24:07


本文对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。

在这里插入图片描述

  1. 点击Add Directories ,选择增加rtl文件夹,选择Scan and Add RTL Include Files into Project,结果显示只增加rtl中的两个文件,不增加rtl子文件夹中的文件。

在这里插入图片描述

  1. 点击Add Directories ,选择增加rtl文件夹,选择Add Sources from Subdirectories,结果显示增加rtl中的两个文件,也增加rtl子文件夹中的两个文件。

在这里插入图片描述

在这里插入图片描述

Copy sources into project

接下来验证Copy sources into project。

在这里插入图片描述

  1. 不勾选Copy sources into project时,表示我们增加的.v文件地址就是工程所引用的代码地址。所以我们不管是在vivado中修改,还是在地址处用编辑器单独修改都会进行更新。

在这里插入图片描述

  1. 勾选Copy sources into project时,表示我们增加的.v文件地址并非工程所引用的代码地址,他已经将代码复制到工程目录中(XXX\simulation.srcs\sources_1\imports)。所以我们在vivado工程中修改 和 在增加文件地址处用编辑器单独修改是相互独立的,所以在有FPGA工程文件夹的管理习惯的开发中最好是不勾选。

参考文献

Vivado Design Suite 用户指南:系统级设计输入(UG895)

更多推荐

MyBatis字段名和属性名不一样的解决方案

一、给字段起别名,保持和属性名一样<!--List<Emp>getAllEmp();--><selectid="getAllEmp"resultType="Emp">selecteid,emp_nameempName,age,sex,emailfromt_emp</select>如上面的SQL语句将emp_name取别

HarmonyOS之 应用程序页面UIAbility

一UIAbility介绍:1.1UIAbility是一种包含用户界面的应用组件,用于和用户进行交互UIAbility是系统调度的单元、提1.2供窗口用于界面绘制2.UIAbility的创建和对应页面的创建1.3UIAbility内页面间的跳转1.4UIAbility的创建、前后台切换、销毁的生命周期状态二UIAbili

Vue模板语法(下)

目录一、事件处理器1.1定义1.2类型1.3阻止单击事件冒泡1.4事件只能单击一次二、表单的综合案例2.1定义2.2常用功能3.3代码演示与讲解三、组件通信3.1定义3.2实现方式3.3自定义组件3.3.1定义3.3.2自定义组件代码演示3.4组件通信父传子3.4.1定义3.4.2传递过程3.4.3代码演示3.5组件通

C2基础设施威胁情报对抗策略

威胁情报是指在信息安全和安全防御领域,收集、分析和解释与潜在威胁相关的信息,以便预先发现并评估可能对组织资产造成损害的潜在威胁,是一种多维度、综合性的方法,其通过信息的收集、分析和研判,帮助组织了解可能对其安全构成威胁的因素。这种方法不仅仅着重于技术层面,还包括了社会、心理、政治等多个维度,以此更好地应对不断变化和复杂

Python--文件和异常

目录1、读取文件1.1读取文件的全部内容1.2相对路径和绝对路径1.3访问文件中的各行1.4使用文件中的内容1.5包含100万位的大型文件1.6圆周率中的生日2、写入文件2.1写入一行2.2写入多行3、异常3.1处理ZeroDivisionError异常3.2使用try-except代码块3.3使用异常避免崩溃3.4e

前端代码静态检测工具汇总

前端静态代码检测工具是用于分析代码并在不运行的情况下找出其中的问题的工具。下面列出了一些常见的前端静态代码检测工具:1.**ESLint**:ESLint是一个开源的JavaScript代码检查工具,它被设计成完全可配置的,支持现代JavaScript和JSX。ESLint可以帮助你发现代码错误和不一致的编码风格。2.

python+django美食菜谱分享网站系统平台

开发语言:Python框架:django/flaskPython版本:python3.7.7数据库:mysql数据库工具:Navicat开发软件:PyCharm.本系统采用了nodejs语言的vue框架,数据采用MySQL数据库进行存储。结合B/S结构进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和

设计模式之解析器(Interpreter)的C++实现

1、解析模式的提出在软件开发的过程中,需要实现一种需求,该需求的结构稳定,但是需求的业务内容会频繁变化,如果使用普通语法实现需求,需要经常更新代码,不具有灵活性。可以使用解析器模式解决实现该类需求,解析器是实现一种能够解析该需求结构语法的功能代码,针对不同的业务调用对应的解析规则代码。2、需求描述有一个字符串的加减计算

【Docker】ubuntu20.04 X86机器搭建NVIDIA ARM64 TX2的Docker镜像

文章目录1.设置ubuntu为清华源1.1备份源文件1.2替换清华源1.3更新清华源2.UbuntuDocker安装3.安装qemu4.安装NvidiaTX2Docker镜像5.如何使用TX2容器6.参考资料1.设置ubuntu为清华源为了后面ubuntu下载安装软件快些,需要使用国内的源,比如清华源。(备注:已经更新

解读《生成式人工智能服务管理暂行办法》

《生成式人工智能服务管理暂行办法》第一章总则第二章技术发展与治理第三章服务规范第四章监督检查和法律责任第五章附则以ChatGPT为代表的现象级互联网应用的出现,掀起了人工智能领域新一轮技术浪潮。作为新一代信息技术,生成式人工智能通过对人类“脑力”的无限延伸,赋予人们对于追求美好生活的更大想象空间。与此同时,生成式人工智

云原生之使用Docker部署Firefox浏览器

云原生之使用Docker部署Firefox浏览器一、Firefox浏览器介绍1.1Firefox简介1.2Firefox特点二、本次实践介绍2.1本地环境规划2.2本次实践简介三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、下载Firefox镜像五、部

热文推荐