VHDL记录端口使用Synopsys VCSMX与SystemVerilog / SystemC连接

时间:2012-02-25 01:46:17

标签: struct vhdl record system-verilog

美好的一天,感谢你看这个问题

我正在使用VCSMX(2011年6月版)来模拟具有记录类型接口的核心。核心全部用VHDL编写。我正在使用Systemverilog(SV)Testbench来激发这个核心。

记录看起来像:

type ll_port is record
    frame_name      : std_logic_vector(WIDTH-1 downto 0);
    frame_valid     : std_logic;
 .
 .
 .
end record;

我读到VHDL记录类型与SV中的struct相同。但是,当我尝试在SV中实现ll_port结构时,这似乎仍然是VCSMX中不受支持的功能。确定的解决方案是将记录端口分解为std_logic和std_logic_vector。

但是,VHDL中的这种记录类型将被多次使用,并且几个核心将在最终系统中进行交互,使得每个记录端口的分解非常麻烦。

我正在寻找如何处理这个问题,以及我可以在这件事上得到什么建议。我已经在SystemVerilog中有一个自定义模拟基础架构,并想知道是否有解决此问题的方法。

RRS

1 个答案:

答案 0 :(得分:1)

不是您正在寻找的答案,但我认为您不得不分解端口。

老实说,VHDL中作为端口类型的记录让我感到紧张,因为它们是多年来打破各种工具的好方法。我知道用于反向连接的综合工具(MSB< - > LSB)如果在端口上使用记录,那么许多公司都有禁止以这种方式使用记录的内部规则。

你可以在两边写一些函数来将记录压平成一个宽std_logic_vector,然后重新构建它,但我认为这比仅为每个字段都有端口更多的工作和更少的可读性。