我用ISE的core generator 生成了一个双口RAM,想对它进行初始化,怎么操作呢?
我用ISE生成它时有一个加载初始化文件的配置,但我不知道怎么编辑生成这个初始化文件。
另外,我使用modelsim进行仿真,将所有的源文件(包括用core generator 生成的)都拷贝出来新建了个工程(也就是直接用modelsim仿真,而不是通过ISE的工程调用modelsim来仿真,当然,需要的各种库我已经编译好了),如果这样又怎样对生成的双口RAM初始化呢?
谢谢
共10条
1/1 1 跳转至页
4楼
好像是.coe文件吧,给你个示例,memory_initialization_radix表示位宽。最后面那一系列数字就是表中的值。如果较多,可用Matlab等生成
memory_initialization_radix=10;
memory_initialization_vector =
65535,
65535,
65533,
65530,
65526,
65520,
65513,
65505,
65496,
65485,
65474,
65461,
65447,
65431,
65414,
65397,
65377,
65357,
65335,
65313,
65289,
65263,
65237,
65209,
65180,
65150,
65119,
65086,
65052,
65017,
64981,
64943,
64905,
64865,
64824,
64781,
64738,
64693,
64647,
64600,
64552;
memory_initialization_radix=10;
memory_initialization_vector =
65535,
65535,
65533,
65530,
65526,
65520,
65513,
65505,
65496,
65485,
65474,
65461,
65447,
65431,
65414,
65397,
65377,
65357,
65335,
65313,
65289,
65263,
65237,
65209,
65180,
65150,
65119,
65086,
65052,
65017,
64981,
64943,
64905,
64865,
64824,
64781,
64738,
64693,
64647,
64600,
64552;
6楼
逗号在Matlab里直接加上就行,空格留着无所谓。最后一行的逗号再手动改成分号。
x=linspace(0,511,512);
fid=fopen('c:/init_men.txt','wt');
fprintf(fid,'%16.0f,\n',x);
fclose(fid)
x=linspace(0,511,512);
fid=fopen('c:/init_men.txt','wt');
fprintf(fid,'%16.0f,\n',x);
fclose(fid)
8楼
在给你一个例子,改一下你们的数据就可以用了。生成的文件也无需修改,直接导入就行
% Generate sin & cos table for DDS
%%
clear all;
close all;
%%
x = linspace( 0, 2*pi, 1024 );
y_cos = fix( (cos(x)+1)*512 );
for k = 1:length(y_cos)
if y_cos(k)>=1024
y_cos(k) = 1023;
end
end
%%
fid = fopen( 'cos_coe.coe', 'wt' );
fprintf( fid, 'memory_initialization_radix=10;\n', y_cos );
fprintf( fid, 'memory_initialization_vector =\n', y_cos );
fprintf( fid, '%10.0f,\n', y_cos(1:end-1) );
fprintf( fid, '%10.0f;', y_cos(end) );
fclose( fid );
plot(y_cos);
grid on;
dbin = dec2bin(y_cos,10);
共10条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |