首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UVM中VHDL端口与系统verilog接口定义的连接

UVM中VHDL端口与系统verilog接口定义的连接
EN

Stack Overflow用户
提问于 2014-12-05 15:04:46
回答 1查看 2.7K关注 0票数 2

当我试图在UVM环境中将VHDL中的多维用户定义类型连接到SystemVerilog时,我在Cadence工具链模拟中遇到了这个问题。这是VHDL输出类型定义:

代码语言:javascript
运行
复制
TYPE loop_reg_ty IS RECORD
      loop_index_value    : std_logic_vector(REG_BITWIDTH-1 DOWNTO 0);
      loop_counter : std_logic_vector(REG_BITWIDTH-1 DOWNTO 0);
      loop_end_flag : std_logic;
END RECORD;

TYPE loop_array_ty is array (MAX_NO_OF_LOOPS-1 downto 0) of loop_reg_ty;

在我的loop_array_ty输出端口之一是类型为;

我试图将SystemVerilog等效定义为:

代码语言:javascript
运行
复制
typedef struct packed {
                            bit [REG_BITWIDTH-1:0] loop_index_value;
                            bit [REG_BITWIDTH-1:0] loop_counter;
                            bit loop_end_flag;
                          } raccu_loop_reg_ty;

typedef raccu_loop_reg_ty [MAX_NO_OF_RACCU_LOOPS-1:0] loop_array_ty;

当我使用irun时,我得到了错误:

VHDL端口类型与Verilog不兼容。

请建议解决方案的可能工作。

EN

Stack Overflow用户

回答已采纳

发布于 2014-12-05 19:33:57

首先,您的问题是没有正确定义loop_array_ty。应该是typedef raccu_loop_reg_ty loop_array_ty[MAX_NO_OF_RACCU_LOOPS-1:0]

我在这里建议两件事:

首先,尝试从packed定义中删除struct限定符。将SV结构连接到VHDL记录是只在更新的精辟版本中可用的东西。确保您所使用的版本支持此功能。

如果您使用的是更早版本的“敏锐”(就像我一年前那样),您唯一的选择是使用$nc_mirror映射单个记录成员(不是经过测试的代码,而是足以让您开始工作):

代码语言:javascript
运行
复制
// struct definition...
// ...

module top;
  // intermediate signal we'll mirror onto
  loop_array_ty loop_s;

  // no output connected
  my_dut dut_inst();

  // make the connection between SV and VHDL using nc_mirror
  initial begin
    for (int i = 0; i < MAX_NO_OF_RACCU_LOOPS; i++) begin
      $nc_mirror($sformatf("loop_s[%0d].loop_index_value", i),
        $sformatf("dut_inst.loop_o[%0d].loop_index_value", i);

      // $nc_mirror for loop_counter
      // $nc_mirror for loop_end_flag
    end
  end
endmodule

还要确保在这两种语言中都适当地设置了REG_BITWIDTH常量,否则也会出现类型不匹配。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27318813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档