我在Verilog中遇到端口问题。为了测试我的模块,我创建了一个仅使用电线作为输入的顶层模块,并将一些输入(矢量)硬编码到核心模块。我不明白的是,XST将输入到内核的那些(显示为硬编码值)显示为接地。图片在下面。
在Core的其他地方,它从Core内部断开了一些块。我不知道第二个问题与输入的硬编码如何关联。这是否意味着不能在顶部对输入进行硬编码?还是我必须断开所有使用输入的子块,并为每个子块手动提供相同的硬代码(我认为这是多余的)?
答案 0 :(得分:0)
对块的硬编码输入肯定会导致逻辑优化。在某些情况下,这可能会导致删除整个逻辑块,因为硬编码输入导致这些块的输出为固定值。在综合过程中,硬编码值将通过设计传播,并且将最终的逻辑最小化。在最简单的示例中,对输入到逆变器的输入进行硬编码会导致将反相的输出移除并替换为与硬编码输入具有相反值的硬编码输出。在您的示例中,将CLK硬编码为任何值,从RSTn到0,从START到0,可能会抹掉CORE的大部分内部逻辑,因为您将有效地禁用该块。同样,对某些向量进行硬编码可能会导致逻辑的大部分被优化。