SystemVerilog/Verilog的testbench中文件的写入和读取操作 |
您所在的位置:网站首页 › 如何读取文件中的数据 › SystemVerilog/Verilog的testbench中文件的写入和读取操作 |
在Testbench中很可能需要文件的读写操作,在可综合的设计中也可能会用到文件写入。SystemVerilog/Verilog提供的文件写入读取方法并不多,主要有两类。 第一类是writememb/writememh/readmemb/readmemh,第二类是$fscanf/$fwrite。第一类用法简单,但是功能弱,文件读取也不支持多维数组;第二类用法复杂一点,功能相对强大,配合循环语句可以处理多维数组。 1. writemem[b|h]/readmem[b|h]writemem[b|h]主要有以下用法: (1)$readmemb("",); (2)$readmemb("",,); (3)$readmemb("",,,); 其中起始地址和终止地址都是相对于“存储器名”指定的数据而言,而不是指写入文件时的位置。参考以下代码。 parameter WIDTH = 8; parameter INDEX0 = 16; parameter FILE_PATH_B = "E:/FPGA/PRACTICE/FileReadWrite/files/file_b.txt"; parameter FILE_PATH_H = "E:/FPGA/PRACTICE/FileReadWrite/files/file_h.txt"; parameter FILE_PATH_F = "E:/FPGA/PRACTICE/FileReadWrite/files/file_f.txt"; parameter FILE_PATH_HALF= "E:/FPGA/PRACTICE/FileReadWrite/files/file_half.txt"; reg [WIDTH-1: 0] dat0[INDEX0-1: 0], dat1[INDEX0-1: 0]; wire [WIDTH-1: 0] dat1_comp[INDEX0-1: 0]; reg [WIDTH-1: 0] dat0_read[INDEX0-1: 0]; integer i, j; integer fid; initial begin for( i=0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |