1

我的设计中有某些电线和端口是故意不用的,但我想保留它们。
我如何告诉我的 Xilinx Verilog 合成器避免给出关于这些特定线路的“未使用”警告?

显然 VHDL 对此有一个open关键字,但我不知道它在 Verilog 中的等价物是什么。

4

3 回答 3

3

我知道如何摆脱这些:Port VALUE is not connected to this instance

即使未使用 VALUE 输出,这似乎也不会使用 Xilinx 工具生成警告:

counter #(5'b11010) counter_txd_en(
    .CLK(CLK),
    .RST(RST),
    .MAXED(step),
    .EN(1'b1),
    .VALUE()
);

我知道这个解决方案只是您问题的部分答案,因为它只涵盖未使用的端口。

此外,如果未使用的端口导致子模块中出现不需要的内容,您可能会收到有关这些内容的警告...

于 2014-02-28T19:19:24.530 回答
3

将它们连接到虚拟电线并应用于(* keep="soft" *)这些电线。 (电线的名称无关紧要。)

例子

(* keep="soft" *)
wire [7:0] unconnected_received_data;

uart_receive uart_receive (
    .RST(RST), 
    .CLK(CLK), 
    .RXD(UART_RXD),
    .DATA(unconnected_received_data), 
    .RXD_READY(rxd_ready)
);

此示例不会生成任何警告。


Xilinx 约束(* keep="soft" *)指南:

结果,网络在综合过程中被保留,但实现工具可以自由地处理它。从概念上讲,您指定 KEEP=TRUE 仅用于综合,但指定 KEEP=FALSE 用于实现工具。

于 2014-03-08T17:57:57.727 回答
1

正如蒂姆所说,这些警告是特定于工具的,虽然您可以完全关闭警告,但您将无法(通常)关闭警告的特定实例。

也就是说,您可以使用以下方法摆脱它们,我将在前面说明我认为您不应该使用并且简单地使用警告。

所以。要摆脱这些未使用的警告,解决方案是......使用它们!即将整个混乱收集到一个有线或,将结果推送到顶级输出,然后在该输出上放置一个时序忽略。这将处理未使用的警告,同时也不会影响任何 PAR 结果。

同样,我建议不要实际这样做。警告是有原因的。我向你保证,在未来的某个时候,你的基本假设将会改变,这些警告将变得有效。

于 2013-03-27T00:58:06.217 回答