在用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)