当具有结构类型的SystemVerilog文件实例化具有记录类型端口的VHDL时,给出了Vivado综合 - “错误:[Synth 8-26]”

描述

当SystemVerilog文件中的结构类型信号连接到VHDL子模块的记录类型的端口时,Vivado Synthesis会出现以下错误。

错误:[Synth 8-26] vhdl实体的verilog实例化,未实现复杂端口类型​​[xxx / top.sv:17]
以下是此案例的示例代码。

SystemVerilog(顶层模块):
import verilog_package :: *;
模块顶部(in1,in2,out1,out2);
......
verType temp; // verType是一个结构
......
bottom u0(.in1(temp),. out1(out1),. out2(out2));
endmodule

VHDL(子模块):

库工作;
使用work.vhdl_package.all;
实体底部是港口(
in1:in vhdlType; --vhdlType是一条记录
out1:out std_logic_vector(4 downto 0);
out2:out std_logic);
底部;

底部的建筑beh
开始
out1 <= in1.a;
out2 <= in1.b;
结束

虽然SystemVerilog结构类型和VHDL记录类型实际上匹配,但目前不支持这种编码样式。

这将在将来的版本中得到支持。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 08:22:49 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它