Vhdl 未使用信号的合成会浪费硬件资源吗?

Vhdl 未使用信号的合成会浪费硬件资源吗?,vhdl,hardware,synthesis,Vhdl,Hardware,Synthesis,我正在修复一个坏的项目。我在这个过程中遇到的一件事是,有很多人声明但从未使用过信号,这让我想到了这个问题 合成器会因为实现这些已声明但未使用的信号而浪费硬件资源吗?还是会忽略它们?合成本身是一项非常复杂的任务。合成器必须将你想要的逻辑映射到你提供给他的结构上。因此,对于FPGA,他必须做一些其他的事情,然后是标准单元。在这个任务中,他进行了优化。很多它试图消除未使用的信号。它还可以优化有限自动机。这是一个非常强大的工具 但别忘了合成是复杂的。硬件行为的编程也是如此。通常,在合成之前执行一个脱毛步

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


合成器会因为实现这些已声明但未使用的信号而浪费硬件资源吗?还是会忽略它们?

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

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

TL;博士
是的,合成器可以删除您未使用的逻辑和连接。它做的更多。但是要小心。这可能适得其反

不,合成工具积极地修剪未使用的硬件。有时由于设计错误,如果没有首先在模拟中进行测试,则会导致完全空的设计@BrianDrummond噢,谢谢,这是合成工具采用的标准方法还是只被一些或大多数合成工具使用?标准方法。@BrianDrummond,这也是声明但未使用的I/O的情况吗?未使用的输入可能会被优化掉。未分配的输出要么导致错误,要么获得合成工具指定的默认值。