文档详情

ISE中ROM初始化文件(.coe)的建立.docx

发布:2017-06-15约1.73千字共6页下载文档
文本预览下载声明
对于ROM模块,主要是生成相应的.coe文件。1.在Matlab中生成正余弦波形的浮点值,并量化为16bit定点波形数值:% 生成 ROM 的 .coe文件clcclear allclose all?x = linspace(0, pi/2 ,1024);???? % 在区间[0,pi/2]之间等间隔地取1024个点?y_cos = cos(x);?y_sin = sin(x);??y_cos = y_cos * 2^15;????y_sin = y_sin * 2^15;??fid = fopen(D:/cos_coe.txt,wt);???fprintf(fid, %16.0f , y_cos);?fclose(fid);?? fid = fopen(D:/sin_coe.txt,wt);?fprintf(fid, %16.0f , y_sin);??????fclose(fid);2.生成.coe文件。在D盘根目录下,将cos_coe.txt和sin_coe.txt的后缀改成.coe。打开文件,把每一行之间的空格用文本替换功能换成“,”(这可以通过强大的UltraEdit来实现!),并在最后一行添加一个分号“;”。最后,在文件的最开始添加下面两行:memory_initialization_radix=10;memory_initialization_vector=然后,保存文件退出。3.将coe文件加载到BLOCKROM所生成的ROM中。新建一个BLOCKROM的IP Core, 其位置为“Memories Storage Elements----RAMs ROMs-----Block Memory Generator v2.4”。在第1页中选择“single port rom”,在第2页中选择位宽为16,深度为1024,在第3页下载coe文件,如下图,然后双击Finish,完成IP Core的生成。如果coe文件生成得不对,Browse前面的框中是显示红色的文件名,coe文件错误类型主要有数据基数不对和数据的长度不对两种。4.在ModelSim中对此IP单独进行仿真。可见延时为两个时钟周期,如下图:?另一种方法:Xilinx的ROM的初始化是一件很麻烦的事情,要导入Coe文件。Alteral是mif和hex文件,有专门的软件可以生成。coe文件的格式如下:MEMORY_INITIALIZATION_RADIX=10;MEMORY_INITIALIZATION_VECTOR=512,515,518,522,525,528,531,535,538,54。。。。。。。。12,23;注意:前面的2行不要动,RADIX后面的数字表示的是进制,这里取10进制。结尾用的是分号在matlab中关键的步骤如下,我们以一个周期1000个采样,位数为10位的正弦表格为例子。n=0:999 ;y=round(sin(2*pi*0.001*n)*512)+512;//后面加上512是为了防止出现负数y=mod(y,1024);//因为是10位,所以,没有1024,对1024取余数,把1024转化成0dlmwrite(b.txt,y);//dlmwrite函数是使得产生的数据之间是用逗号隔开的。得到b.txt文件,用记事本打开,在最上面加上MEMORY_INITIALIZATION_RADIX=10;MEMORY_INITIALIZATION_VECTOR=同时数据结尾用分号结尾最后另存为,选择后缀为.coe,将文件导入到ROM以后,单击show,或者是显示初始数据的按钮(各个ISE不太一样),说明数据导入正确。01更多的幸福更多的希望?掌握在你自己手中享受幸福是需要学习的,当幸福即将来临的时刻需要提醒。人可以自然而然地学会感官的享乐,人却无法天生地掌握幸福的韵律景那光02像花一样微笑03窗光04美好生活幸福是水,哪怕只有一滴,也将留下一瞬。幸福是水,是那滴轻滑过脸庞的泪水,微笑或苦涩中带着满足与欣慰。幸福是水,是老农握着锄头,望着可惜的庄稼暂歇的那一刻,渗出额头的那滴汗水。
显示全部
相似文档