Vivado / PlanAhead - 如果源文件列在PlanAhead层次结构中的Unreferenced文件夹下,这意味着什么?

描述

当我在Vivado IDE或PlanAhead中打开一个项目时,我发现其中一个源文件(例如.vhd / .v)模块放在了Unreferenced文件夹中。

为什么会这样?

Vivado IDE和PlanAhead(版本13.3及更高版本)中的分层源视图(HSV)功能显示了项目中源文件之间基于模块/实例的层次关系。

您看到的“Unreferenced”文件组与HSVfeature相关。

此分层源视图功能支持以下三种更新模式:
  1. 在第一种模式(默认)中,简称为“自动”,当您将源文件添加到PlanAhead项目,以及随后编辑这些源文件时,PlanAhead会尝试找出用于设计的最佳“顶部”默认情况下使用它(除非您选择了不同的“顶部”,在这种情况下保留它)。同时,根据当前的“顶部”,PlanAhead确定项目中哪些源文件位于当前顶部的子树下,自动从最低级别到最高级别订购,最后发送此有序列表文件以及确定的“顶部”到综合和仿真工具。在此计算过程中,PlanAhead发现不在当前顶层子树下的任何文件都被视为“在活动层次结构之外”,并且默认情况下不会发送用于综合和仿真编译。这些是在下面显示的源“库”和“编译”顺序选项卡中的“未引用”文件夹,因为在给定选定顶部的情况下,它们不会在当前设计中直接或间接引用
  2. 第二种(以及第三种)模式提供对上述自动行为的完全用户控制。在这种称为“仅显示”的模式中,源的层次关系向用户显示 - 但没有自动计算文件排序完成后,所有文件都按照用户指定的顺序发送以进行综合和仿真。
  3. 在第三种模式下,没有计算或向用户显示源的层次关系,并且它们完全控制使用哪个顶部以及用于综合/仿真的文件顺序。

回到第一个模式,这是默认的,这是一个简单的例子。让我们说我的设计层次结构如下所示:

top1(top1.v)|
| - child1(child1.v)
|
| - grandchild1(gchild1.v)top2(top2.v)
|
| - child2(child2.v)|
| - 孙子2(gchild2.v)

在这个项目中,我们基本上有两个独立的SETS设计源,这两个潜在的顶级候选者。如果我们选择top1作为我们的“顶部”,那么top2.v,child2.v和gchild2.v变为“未引用”,并且用于综合和仿真的唯一文件是:gchild1.v,child1.v和top1.v ,并按照“自下而上”的顺序将它们发送给编译器。

如果上述说明不适用,请右键单击源并选择源属性以验证文件类型是否未设置为未知。
还要验证模块名称和端口是否与实例化源文件匹配。

在许多情况下,未引用状态是由于HDL代码中的语法错误导致无法按预期解析和显示层次结构。用户应使用“消息”选项卡检查解析错误。例如,用户可以在“分析消息”组下的消息选项卡中查找,并找到显示错误的显式错误,并允许他们直接单击错误消息以直接交叉探测HDL文件,接近实际错误的位置。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 15:02:52 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它