VIVADO仿真读写文件方式

刚开始使用VIVADO的时候,一直不能够怎样读取文件来辅助仿真。但是,这在算法仿真内又不可避免:


VIVADO仿真读文件方式

大部分编译器和仿真器在读文件的时候需要预先打开文件。在VIVADO自带仿真器中,读文件不需要预先打开要读取的文件,也不需要将文件加入VIVADO工程内部,只需要利用系统函数readmemh、readmemb就可以了(readmemh表示读取16进制数、readmemb表示读取二进制数)。函数使用方式例子如下:

  reg [31:0] mem [0:100]
  $readmemh(“D:/…/filename.txt”,mem,0,100);
  reg [31:0] mem [0:100];
  $readmemh(“D:/…/filename.txt”,mem,0,100);

其中,“D:/…/”表示文件路径(注意是“/”,方向不能反);
“filename.txt”表示文件;
“mem”为预先定义的寄存器组;
“0”读取文件内容的初始地址;
“100”读取文件内容的结束地址。
读取文件格式最好是纯数据,且每一行最好只有一个数。对应不同的系统函数,数字需要对应的进制。

VIVADO仿真写文件

对于写文件,VIVADO和所有的FPGA仿真器一样,下面只是简单的给出一个例子,不做过多的赘述:

                         integer fid;
                         fid=$fopen(“D:/…/filename.txt”);
                         $fwrite(fid,”%d\n”,mem);

你可能感兴趣的:(小记录)