Vivado / Vitis HLS - "WARNING: Port " xy " has no fanin or fanout and is left dangling."



我经常收到错误消息

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

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

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

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

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

最新更新