首页 文章

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

提问于
浏览
1

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

我使用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 回答

  • 1

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

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

    您可以在任何一侧编写一些函数来将记录展平为单个宽 std_logic_vector 然后重新构建它,但我认为这比仅为每个字段设置端口更多的工作和更少的可读性 .

相关问题