📄 receiver_stimulus.m
字号:
clc;
clear all;
fid = fopen('new_receiver.vec','w');
if fid==-1
disp('Couldn''t open file new_receiver.vec for writing');
end
ts=20;%clock period
points=1000;%sample points
%globle
fprintf(fid,'START 0;\n');
fprintf(fid,'STOP %d;\n',ts*(points));%fprintf(fid,'STOP %d;\n',ts*(points+200));
fprintf(fid,'RADIX DEC;\n');
%system clock signal port in
fprintf(fid,'INTERVAL %d;\n', ts/2);
fprintf(fid,'INPUTS clk;\n');
fprintf(fid,'PATTERN\n');
fprintf(fid,'0 1;\n');
%data_in[13..0] signal port in
fprintf(fid,'INPUTS data_in[13..0];\n');
fprintf(fid,'PATTERN\n');
fprintf(fid,'0> 0\n');
data=1;
j=1;
for k = 1:points;
value = sin(2*pi*k/5);
if(data==-1)
value =0;
end;
value = round(value * 2^13);
if (value < 0)
value = (2^14+value);%补码format
end;
if(j==78)
j=1;
data=-1*data;
else
j=j+1;
end;
if(k==points)
fprintf(fid,'%d> %d;\n',k*ts,value );
else
fprintf(fid,'%d> %d\n',k*ts,value );
end;
end;
%mod_out signal port out
fprintf(fid,'OUTPUTS sin_out[13..0];\n');
fprintf(fid,'OUTPUTS cos_out2[13..0];\n');
fprintf(fid,'OUTPUTS pre_fir_q[27..0];\n');
fprintf(fid,'OUTPUTS pre_fir_i[27..0];\n');
fprintf(fid,'OUTPUTS out_Q[40..0];\n');
fprintf(fid,'OUTPUTS out_I[40..0];\n');
fprintf(fid,'OUTPUTS pre_mult_Q[15..0];\n');
fprintf(fid,'OUTPUTS pre_mult_I[15..0];\n');
fprintf(fid,'OUTPUTS pre_compare_out[31..0];\n');
fprintf(fid,'OUTPUTS judge_out;\n');
fclose(fid);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -