ROM存储器IP Core的使用_cereus_新浪博客
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,打开文件,把每一行之间的空格用文本的替换功能换成逗号“,”,并在{zh1}一行添加一个分号“;”。{zh1}在文件的最开始添加下面两行:
memory_initialization_radix=10;
memory_initialization_vector =
然后保存文件退出。

{zh1},将coe文件加载到BLOCKROM所生成的ROM中。新建一个BLOCKRAM的IP core,其位置为“Memories & Storage Elements RAMs & ROMS Block Memory Generator v2.4”,在{dy}页选择single port rom,在第二页选择位宽为16、深度为1024,在第三页下载coe文件,如图4-126所示,然后双击“Finish”,完成IP core的生成。如果coe文件生成的不对,图中用椭圆标志之处是红色的,coe文件错误的类型主要有数据基数不对和数据的长度不对这两类。
郑重声明:资讯 【ROM存储器IP Core的使用_cereus_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——