如何忽略Verilog中特定的未使用的电线?

时间:2013-03-26 23:28:25

标签: warnings verilog

我的设计中有一些有意未使用的电线和端口,但我想保留这些电线和端口 如何告诉我的Xilinx Verilog合成器避免对这些特定电线发出“未使用”的警告?

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

3 个答案:

答案 0 :(得分: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()
);

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

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

答案 1 :(得分: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)
);

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


<{1}}上的

Xilinx Constraints Guide

  

因此,网络在合成期间保留,但实施   工具可以自由地处理它。从概念上讲,你是   仅为合成指定KEEP = TRUE,但为KEEP = FALSE   实施工具。

答案 2 :(得分:1)

正如蒂姆所说,这些警告是特定于工具的,当你可以完全关闭警告时,你不会(通常)能够关闭警告的特定实例。

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

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

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