【问题标题】:Error with VHDL integer signal connecting Verilog integer input连接 Verilog 整数输入的 VHDL 整数信号出错
【发布时间】:2019-09-24 09:32:31
【问题描述】:

我试图将 VHDL 模块的输出整数端口连接到信号。该信号将连接其他模块。 (该模块用 Verilog 编写)。但是我遇到了这个

错误: 组件中的实际信号不支持 VHDL 整数数据类型 跨越语言边界的实例化。端口“fifo4_frame_number”是 连接到 Verilog 端口的整数 VHDL 信号。

我还必须说我可以生成比特流。没有问题。

【问题讨论】:

  • 对 std_logic_vector 进行类型转换。这应该在所有工具中跨越语言边界。
  • 这是一条赛灵思错误消息。

标签: vhdl fpga xilinx


【解决方案1】:

VHDL 中的整数与 Verilog 中的整数根本不同,因此它们不兼容也就不足为奇了。 VHDL 中的 integer 类型就像任何其他语言中的整数类型,而 Verilog 中的 integer 类型只是向量的简写。这个

integer i;

还有这个

reg signed [31:0] i;

在 Verilog 中是完全等价的。正如其他人所说,您需要在VHDL中转换为std_logic_vector

【讨论】:

  • 引用或参考文献怎么样?我们有一个评论和两个答案,基本上提供了相同的断言,没有办法验证其他的 OP(他没有发布任何代码)告诉我们它是否解决了他不清楚的问题。请参阅 OP 的 Xiiinx forum post,在其中我们可以找到权威的用户指南 901 第 9 章引用的混合语言支持,在 VHDL 和 Verilog 边界规则中指定支持的类​​型。
  • Append G in ug900(Xilinx 论坛中链接的 v2017.04)显示 Systemverilog 类型整数与 VHDL bit_vector std_logic_vector、std_ulogic_vector、signed、unsigned 之一之间的映射,它们都是元素类型表示位的数组.
【解决方案2】:

您必须在您的 VHDL 文件中将整数转换为 logic_vector,以便端口具有相同的类型。两种语言的端口不能是整数类型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多