Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/intellij-idea/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
System verilog $readmemh加载内存子块_System Verilog - Fatal编程技术网

System verilog $readmemh加载内存子块

System verilog $readmemh加载内存子块,system-verilog,System Verilog,对不起,如果这个问题太新了。我一直在寻找关于readmemh的信息,但我还没有找到解决问题的合适方法 我有一个很大的十六进制文件,里面有可以读取的内存内容。但由于文件太大,我希望每次都能给我的程序带来一个更小的内存块。例如,如果我的内存有32位长的地址,则只能加载2048个地址的块,并将上面的部分存储在变量中,以了解我是否在正确的块中 或或多或少,如果我的十六进制文件如下所示: @00000000 1212 @00000001 3434 @00000002 5656 ... @ffffffff

对不起,如果这个问题太新了。我一直在寻找关于readmemh的信息,但我还没有找到解决问题的合适方法

我有一个很大的十六进制文件,里面有可以读取的内存内容。但由于文件太大,我希望每次都能给我的程序带来一个更小的内存块。例如,如果我的内存有32位长的地址,则只能加载2048个地址的块,并将上面的部分存储在变量中,以了解我是否在正确的块中

或或多或少,如果我的十六进制文件如下所示:

@00000000 1212
@00000001 3434
@00000002 5656
...
@ffffffff 9a9a
我希望能够将其保存在具有以下字段的结构中:

logic [15:0] chunck [11:0]; // Keeps 2048 entries
logic [20:0] address_top;   // Keeps the top part of the address
查看文档,我看到readmemh允许我指示起始地址和结束地址,但我看到的是它指的是目标阵列中的位置,而不是源位置

我怎么做?
提前谢谢

如果您使用的是SystemVerilog,那么您可以使用关联数组对内存进行建模,并让它根据需要分配和映射物理内存,而不是自己动手