未使用信号的合成是否浪费硬件资源?

Does the Synthesis of unused signals waste hardware resources?

我正在修复一个损坏的项目。我在这个过程中遇到的一件事是那里有许多声明但从未使用过的信号,这让我想到了这个问题!

合成器会通过实现这些已声明但未使用的信号来浪费硬件资源,还是会忽略它们?

合成本身是一项非常复杂的任务。合成器必须在您提供给他的结构上映射您想要的逻辑。因此,对于 FPGA,他必须为标准单元做一些其他事情。在此任务期间,他进行了优化。很多!它试图摆脱未使用的信号。它还可以优化您的有限自动机。这是一个非常强大的工具。

但不要忘记合成很复杂。硬件行为的编程也是如此。在合成之前执行 linting 步骤通常是个好主意。 linting 工具为您提供有关您的设计的信息。它会自动检测容易出错的代码、错误的重置行为。使用 linting,您可以找到一些代码,稍后可能会出现问题。

长话短说;博士 是的,合成器可以 trim 排除您未使用的逻辑和连接。它做得更多。但要小心。它可能适得其反。