原创 用matlab生成查找表输出coe文件给xilinx的Mem IPCore使用

2009-7-28 10:25 6227 7 12 分类: FPGA/CPLD

这是一个coe文件的例子


; Sample initialization file for a
; 32-bit wide by 16 deep RAM(这是注释说明性文字)
memory_initialization_radix = 16;(2,10,16,分别表示2进制,10进制,16进制)
memory_initialization_vector =
0 1 2 3 4 5 6 7
8 9 A B C D E F;(最后用“;”结尾)


目标:生成一个正弦查找表,共32个数,数据宽度16;



  1. 在matlab中输入a=sin(pi*(0:31)/16)*32767;//生成16位

符号数,32767为2的15次方减1;


2.  a = int16( a );//把a转换成16位整数


3. 这时可以把matlab里显示的数据copy出来


memory_initialization_radix = 10;


memory_initialization_vector =


paste在这里最后用“;”结尾,然后存成coe文件。


4.或者把数据存成文本文件


fid = fopen('sin.coe', 'wt');
fprintf(fid, '%d ', a);
fclose(fid);


然后打开文件,把
memory_initialization_radix = 10;
memory_initialization_vector =
加进去


如下所示:
memory_initialization_radix = 10;
memory_initialization_vector =
0        6393       12539       18204       23170       27245       30273       32137       32767
32137       30273       27245       23170       18204       12539        6393           0       -6393
-12539      -18204      -23170      -27245      -30273      -32137      -32767      -32137      -30273
-27245      -23170      -18204      -12539       -6393;


 


 

文章评论7条评论)

登录后参与讨论

用户1708715 2012-11-21 22:43

动手能力强,圈圈同学好样的

用户611652 2011-9-4 21:35

佩服

用户368807 2011-7-9 15:25

老大我想知道你卖不卖你当初学arm的板子啊。

用户40549 2010-8-28 13:09

排版杯具

用户40549 2010-8-28 13:08

可以用matlab一次搞定的。 以a=sin(pi*(0:31)/16)为例 data_gen.m %------------------ DATA_WIDTH = 16; a=sin(pi*(0:31)/16)*(2^DATA_WIDTH -1); a=round(a); // or floor(a) fid = fopen('sin.coe', 'wt'); fprintf(fid, 'memory_initialization_radix = 10;\n'); fprintf(fid, 'memory_initialization_vector =\n'); fprintf(fid, '%d\n ', a); fprintf(fid, ';'); fclose(fid); 临时写的,可能有bug

用户251295 2009-12-29 21:29

负数不可以

用户1544829 2009-12-29 21:18

yadog说的对。 负数xilinx不认识。确实是这样的,当导入COE文件时会提示错误(出现红色),打开看一下会发现负数不是合适的coefficient。把零点下移即可,如四个点(0,1,0,-1)变成(1,2,1,0),此时即可导入。

用户1017384 2009-11-25 17:38

没有问题的

用户972891 2009-11-16 09:46

ms负数xilinx不认识的,需要再多处理一步

用户124183 2009-7-29 16:44

用标准C也可以生成这样的查找表,博主也可以尝试一下哦,也蛮方便的。
相关推荐阅读
用户1017384 2010-08-30 14:31
MC8051 在Spartan-3A DSP Starter开发板上成功运行了
参考的http://blog.ednchina.com/tengjingshu/219308/message.aspx说明几点:1.生成mc8051_ram和mc8051_rom的的端口名字需要修改两...
用户1017384 2010-06-03 11:04
基于ARM的嵌入式系统中从串配置FPGA的实现(ZZ)
基于ARM的嵌入式系统中从串配置FPGA的实现朱伟,王广君 (中国地质大学信息工程学院,湖北 武汉430074)1 引言ARM(Advanced RISC Machines)既可以认为是一个公司。也可...
用户1017384 2010-02-18 17:35
基于FDAtool及Altera FPGA的FIR滤波器设计(zz)
http://www.eieworld.com/html/EDA/FPGA/20090909/193.html首先fdatool是Matlab自带的一个数字滤波器的设计分析软件,里面提供了丰富的参数供...
用户1017384 2010-01-10 15:43
STM32的USB例程修改步骤
以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。  一、usb_desc.c文件根据你...
用户1017384 2009-11-27 10:02
【概念理解】约束、时序分析的概念(ZZ)
很多人询问关于约束、时序分析的问题,比如:如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如何约束某部分组合逻辑?如何通过约束保证异步时钟域之间的数据交...
用户1017384 2009-11-25 14:39
Windows主机端与自定义USB HID设备通信详解(ZZ)
说明: - 以下结论都是基于 Windows XP 系统所得出的,不保证在其他系统的适用性。 - 在此讨论的是 HID 自定义设备,对于标准设备,譬如 USB 鼠标和键盘,由于操作系统对其独占,许多操...
我要评论
7
7
关闭 站长推荐上一条 /2 下一条