系统Verilog至Specman E

时间:2019-07-30 04:31:11

标签: system-verilog specman system-verilog-dpi

Specman E中$ readmemh(file,array)以及系统Verilog中类似的系统任务和功能的等效语法是什么?

我正在将现有的System verilog代码转换为Specman E,除以下几种系统方法外,我已经转换并实现了大多数概念。请帮助我在Specman E中实现以下方法。

$readmemh(file_s,data_2d_i);//For converting SV code into Specman E

1 个答案:

答案 0 :(得分:1)

在vr_ad程序包中有一个等效的方法。假设您有一个名为data_2d_i的vr_ad_mem对象,例如呼叫

data_2d_i.readmemh(file_s,0,1000,0,1000);

要从该文件中读取地址0..1000到内存中。

示例:

import vr_ad/e/vr_ad_top;
extend sys {
   mem: vr_ad_mem;
   keep mem.addressing_width_in_bytes == 1;
   keep mem.size == 1000;

   run() is also {
      var data_2d_l: list of byte;
      -- read first 16 bytes of mem-file and store the result in a list
      mem.readmemh("mem.txt", 0, 15, 0, 15);
      data_2d_l = mem.fetch(0, 16);
      print data_2d_l;
   };
};