在用Modelsim仿真时,testbench设计时常会用到系统任务$readmemb和$readmemh,可以从txt文件读取二进制或者是十六进制数据,作为仿真激励。原始数据的生成可以借助Matlab实现,通过Matlab可以生成需要的波形,Matlab中的fopen和fprintf函数可以生成txt格式文件,并将波形数据以整型(%d)实数(%f)十六进制(%x)格式存入txt文件,但是需要注意的是%b不能输出数据,在此是backspace的意思而不是binary的意思。
1.生成的波形
2.Matlab程序
N=512;
a(1:1:N)=0;
for b=1:128
a(b)=round(127*sin(2*pi*(b-1)/127))+127;
end
stem(1:512,3*a);
axis([0 130 0 1024]);
fid=fopen('C:\Users\Administrator\Desktop\sin_data.txt','W');%把数据写入sin_data.txt文件中,如果没有就创建该文件
fprintf(fid,'%b,',3*a);
fclose(fid); 3.TXT文件内生成的数据

本文介绍了如何使用Matlab生成txt格式的波形数据,这些数据常用于Modelsim仿真的激励。通过Matlab的fopen和fprintf函数,可以将整型、实数和十六进制数据写入txt文件,但要注意%b不是二进制表示。
1534

被折叠的 条评论
为什么被折叠?



