Vivado / Vitis HLS-“警告:端口“ xy”没有扇入或扇出,并处于悬空状态

问题描述

我经常收到错误消息

警告:[RTGEN 206-101]端口'xy'没有扇入或扇出,并且处于悬空状态。请使用C模拟,以确保可以读取或写入此函数参数。

C模拟和综合通过。有时端口悬空的一般原因是什么?我该如何调试?解决这些问题重要吗?

解决方法

如果某些端口(即函数参数)从不在您的 C/C++ 代码中使用,则通常会出现该警告。可能会发生编译器/Vivado HLS 只是优化掉从未访问过参数/端口或从未到达的部分代码。

最后一个条件实际上可能有助于找到有缺陷的算法。例如:if-else 语句只能在始终执行的一个分支中解析,从而忽略在另一个分支中处理的参数(因此会生成悬空端口)。

一般来说,警告会导致生成的 RTL 仍然具有定义的端口,但只是让它们与任何东西断开连接。 它们在后期生成步骤中通常不是问题,因为它们可能会被进一步优化并移除(在合成或优化期间,在生成比特流之前)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...