一、介绍
Xilinx COE文件用于初始化ROM内容,设置FIR滤波器系数等功能(目前只用到这些),coe文件中的数据格式可以为有三种格式:
(1)、二进制Binary:2
(2)、十进制Decimal:10
(3)、十六进制Hex:16
以一个FIR滤波器的系数coe文件为例,如下所示:
;XILINX COREGenerator(tm)Distributed Arithmetic FIR filter coefficient (.COE) File
;Generated byMATLAB(R) 9.0 and the DSP System Toolbox 9.2.
;Generated on:07-Jun-2018 11:44:51
Radix = 16;
Coefficient_Width= 12;
CoefData = 000,
ffd,
00f,
02e,
f8b,
ef9,
24e,
7ff,
7ff,
24e,
ef9,
f8b,
02e,
00f,
ffd,
000;
上面的coe文件为15阶16抽头个数的低通FIR滤波器的系数定义,系数量化为16进制,位宽为12,有符号数。
<Radix_Keyword> = Value ; Optional Comment 进制
<Data_Keyword> = Data_Value1, Data_Value2, Data_Value3; 数据
Radix_Keyword关键字有两个:
Keyword | 描述 |
---|---|
RADIX | 用于无存储的ip的系数 |
MEMORY_INITIALIZATION_RADIX | 用于将ROM/RAM初始化 |
根据官方说明“Keywords are not case sensitive”,关键字不区分大小写!
Data_Keyword关键字有多个:
Keyword | 描述 |
---|---|
COEFDATA | 滤波器系数 |
MEMORY_INITIALIZATION_VECTOR | 用于将ROM/RAM初始化 |
等 | 等 |
其他未说明的可参考下图:
1、分号后的代码都被认为是注释内容,;作为注释符,用于添加额外注释
2、COEFDATA,MEMORY_INITIALIZATION_VECTOR和MEMDATA必须是COE文件中最后一个Keyword。后续的所有关键词都被编译器忽略。
3、每一个数据用逗号和换行实现,注意数据的输入行不可以加分号,因为加分号的话会把该系数注释掉,最后一行的数据结束要加分号表示数据写入完毕。
想了解更多的话点击“”阅读原文即可跳转至coe官方介绍界面
bye~~