描述
当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记录类型实际上匹配,但目前不支持这种编码样式。
这将在将来的版本中得到支持。
没有回复内容