背景:本人在做毕业设计时(基于epon的fec前向纠错的rs(255,223)编码的fpga实现),要将并行计算的32个表达式的系数作为rom保存起来,在电路中将系数进行调用。
如下图所示:
a 0-222, b0-222,....t0-222均有软件仿真已得到,并保存在excel中。如下图:
目的:需要将excel中的数据按行存入不同的coe文件中。
.coe文件数据保存格式:前两行是进制格式(memory_initialization_radix = 10;)和值(memory_initialization_vector =),以后每行存放一个数据。
以下是我的matlab代码:
xlsfile = xlsread('rs_encode.xlsx');
[m,n]= size(xlsfile);
m_plus = m + 1;
for i = 2 : m_plus
filename = strcat(['p',num2str(i - 2),'_data.coe']);
fid = fopen(filename,'a');
i_tran = strcat([num2str(i),':',num2str(i)]);
xls_data = xlsread('rs_encode',i_tran);
fprintf(fid,'%s\r\n','memory_initialization_radix = 10;');
fprintf(fid,'%s\r\n','memory_initialization_vector =');
for j = 1: n
fprintf(fid,'%d\r\n',xls_data(j));
end
fprintf(fid,'%s\r\n',';');
fclose('all');
end
希望对大家有用。