首先,这是一个Verilog“功能” - 而不是ISE错误。
在Verilog中,未声明的对象具有默认类型“wire”。
您可以使用`default_nettype指令在Verilog 2001中覆盖它:
`default_nettype none
这将删除隐式网络声明,因此未声明的网络会给出错误而不是隐式网络。
请注意,与其他宏一样,范围是全局的。
这意味着在编译后续模块时它仍然有效。
如果将`default_nettype设置为“none”,许多Xilinx模块将无法正确编译。
因此,在模块的最后,您应该将其设置回默认值:
`default_nettype wire
另请注意,使默认网络类型为“none”意味着您需要明确声明输入和输出线:
`default_nettype none
模块foo
(
输入线棒,
输出线baz,
输出reg foobar
);
...
endmodule
`default_nettype wire
在这种情况下,您不能只使用默认网络类型“wire”来说“输入栏”或“输出baz”。
- Gabor
首先,这是一个Verilog“功能” - 而不是ISE错误。
在Verilog中,未声明的对象具有默认类型“wire”。
您可以使用`default_nettype指令在Verilog 2001中覆盖它:
`default_nettype none
这将删除隐式网络声明,因此未声明的网络会给出错误而不是隐式网络。
请注意,与其他宏一样,范围是全局的。
这意味着在编译后续模块时它仍然有效。
如果将`default_nettype设置为“none”,许多Xilinx模块将无法正确编译。
因此,在模块的最后,您应该将其设置回默认值:
`default_nettype wire
另请注意,使默认网络类型为“none”意味着您需要明确声明输入和输出线:
`default_nettype none
模块foo
(
输入线棒,
输出线baz,
输出reg foobar
);
...
endmodule
`default_nettype wire
在这种情况下,您不能只使用默认网络类型“wire”来说“输入栏”或“输出baz”。
- Gabor
举报