我的设计中有一些有意未使用的电线和端口,但我想保留这些电线和端口 如何告诉我的Xilinx Verilog合成器避免对这些特定电线发出“未使用”的警告?
显然VHDL有一个open
关键字,但我不知道Verilog中的等价物是什么。
答案 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)
);
此示例不会生成任何警告。
因此,网络在合成期间保留,但实施 工具可以自由地处理它。从概念上讲,你是 仅为合成指定KEEP = TRUE,但为KEEP = FALSE 实施工具。
答案 2 :(得分:1)
正如蒂姆所说,这些警告是特定于工具的,当你可以完全关闭警告时,你不会(通常)能够关闭警告的特定实例。
那说你可以使用以下方法摆脱它们,我将在前面说明我认为你应该不使用并且简单地使用警告。
因此。要摆脱这些未使用的警告,解决方案就是......使用它们!即将整个混乱收集到一个有线 - 或者,将结果推送到顶级输出,然后在该输出上放置一个时间忽略。这将处理未使用的警告,同时也不会影响任何PAR结果。
同样,我建议不要实际这样做。警告是有原因的。我保证你将来某个时候你的基本假设会改变,那些警告会变得有效。