如何verilog将txt中的二进制码元输入
发布网友
发布时间:2022-05-01 16:48
我来回答
共1个回答
热心网友
时间:2022-06-19 19:09
$readmemb通常用于仿真时初始化ram的
那个很长的码只是一个数据
只会被放到rp[0]里
并且被截位了
verilog处理txt中数据没有空格的情况可以用$fgetc这个函数
每执行一次读一个ASCII字符
然后你再把这个字符转换成二进制数
也可以用$fwrite输出到txt
比如
reg
[7:0]
char;
integer
fid0,
fid1;
initial
begin
fid0
=
$fopen({"./input/",
filename0},
"r");
fid1
=
$fopen({"./output/",
filename1},
"w");
while
(!$feof(fid0))//对于你的情况
也可以repeat(80000)
begin
char
=
$fgetc(fid0);
//如果想直接用char的话
就要转一下格式
asicii的48h就是0
49是1
$fwrite(fid1,
"%c",
char);//输出到文件的话不用转格式
但是需要用$fscanf(fid,
"%h",
temp)来二次读取
end
end