|
2.块RAM IP Core的使用
块RAM已在本书第3章有过介绍,这里就不再赘述。
3.ROM存储器IP Core的使用
对于ROM模块,主要是生成相应的.coe文件。下面以一个实例介绍如何借助MATLAB生成ROM的.coe文件。
例4-8 生成定点正余弦波形数值,形成.coe文件并加载到块ROM中。
整体过程主要分为下面的3步。
首先,利用MATLAB计算出正余弦波形的浮点值,并量化16比特的定点波形数值:
x= linspace(0,6.28,1024); //在区间[0,6.28]之间等间隔地取1024个点
y1=cos(x); //计算相应的正余弦值
y2=sin(x);
//由于正余弦波形的值在[0,1]之间,需要量化成16比特,先将数值放大
y1=y1*32678;
y2=y2*32768;
//再将放大的浮点值量化,并写到存放在C盘的文本中
fid = fopen('c:/cos_coe.txt', 'wt');
fprintf(fid, '%16.0f\n', y1); //在写文件的时候量化成16比特
fclose(fid)
fid = fopen('c:/sin_coe.txt', 'wt');
fprintf(fid, '%16.0f\n', y2);
fclose(fid)
其次,生成coe文件。在C盘根目录下,将cos_coe.txt和sin_coe.txt的后缀改成.coe,打开文件,把每一行之间的空格用文本的替换功能换成逗号“,”,并在最后一行添加一个分号“;”。最后在文件的最开始添加下面两行:
memory_initialization_radix=10;
memory_initialization_vector =
然后保存文件退出。
最后,将coe文件加载到BLOCKROM所生成的ROM中。新建一个BLOCKRAM的IP core,其位置为“Memories & Storage Elements RAMs & ROMS Block Memory Generator v2.4”,在第一页选择single port rom,在第二页选择位宽为16、深度为1024,在第三页下载coe文件,如图4-126所示,然后双击“Finish”,完成IP core的生成。如果coe文件生成的不对,图中用椭圆标志之处是红色的,coe文件错误的类型主要有数据基数不对和数据的长度不对这两类。
图4-126 块ROM加载coe文件的用户配置界面
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?我要注册
x
|