📄 datagen.m
字号:
%_______________________________________________________________________
% DATAGEN.M
%
% Matlab script to create test data for ADSP-TAHOE Vector Dot Product
%
% 07-Nov-00, Analog Devices DSP Div.
%_______________________________________________________________________
N = 40;
vec_a_flt(1:N) = rand(1,N)/N;
vec_a_fp = flt2fp(vec_a_flt,-16,15);
vec_b_flt(1:N) = rand(1,N)/N;
vec_b_fp = flt2fp(vec_b_flt,-16,15);
result_flt = vec_a_flt.*vec_b_flt;
result_flt = sum(result_flt);
result_fp = flt2fp(result_flt,-16,15);
result_fp = result_fp(1);
fout = fopen('Data.asm','w');
fprintf(fout,'//*************************************************************************\n');
fprintf(fout,'// Macro Definitions\n');
fprintf(fout,'//*************************************************************************\n');
fprintf(fout, '#define N %d\n\n\n',N);
fprintf(fout,'//*************************************************************************\n');
fprintf(fout,'// Data\n');
fprintf(fout,'//*************************************************************************\n');
fprintf(fout,'.section data_a;\n');
fprintf(fout,'.align 4;\n');
fprintf(fout,'.global Result;\n');
fprintf(fout,'.var Result;\n\n');
fprintf(fout,'.align 4;\n');
fprintf(fout,'.global VecA;\n');
fprintf(fout,'.var VecA[N] = ');
fprintf(fout,'%#06hx,\n',vec_a_fp(1:N-1));
fprintf(fout,'%#06hx;\n\n',vec_a_fp(N:N));
fprintf(fout,'.section data_b;\n');
fprintf(fout,'.align 4;\n');
fprintf(fout,'.global VecB;\n');
fprintf(fout,'.var VecB[N] = ');
fprintf(fout,'%#06hx,\n',vec_b_fp(1:N-1));
fprintf(fout,'%#06hx;',vec_b_fp(N:N));
fprintf(fout,'\n\n\n// Result of Matlab Dot Product = %#06hx',result_fp);
fclose(fout);
fout = fopen('VecA.dat','w');
fprintf(fout,'%#06hx\n',vec_a_fp(1:N));
fclose(fout);
fout = fopen('VecB.dat','w');
fprintf(fout,'%#06hx\n',vec_b_fp(1:N));
fclose(fout);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -