官方的参考文档是:https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgn_r_coe_file_syntax.htm

Xilinx COE文件用来初始化ROM内容,设置固定系数FIR的系数,还有其他的功能。

COE文件中的数据格式可以是2(Binary),10(Decimal)或者16(Hex)。

下面是一个简单MIF COE的例子:

memory_initialization_radix=;
memory_initialization_vector=
,
,
,
,
,
,
,
;

上面这个COE例子完成的是Memory Initialization,存储初始化。

下面是一个FIR COE例子:

radix=;
coefdata=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
;

上面这个例子完成的是长度为51的低通FIR的系数定义。(系数量化为有符号12位,FIR Compiler中也设定为12位,实际系数中只有正幅值)

注意:

(1)每一个数据用逗号和换行实现,注意数据输入行不要加分号!(除了最后一行)否则分号会指定数据录入的结束。

************************************************************************************************************************************************************************

简单翻译一下官方手册内容。

COE文件的格式如下:

<Radix_Keyword> = Value ; Optional Comment
<Data_Keyword> = Data_Value1, Data_Value2, Data_Value3;

即要求设定:表示格式(Radix)和数据(Data)。关键字(Keyword)不分大小写。(不同ip使用不同的对应COE文件具体格式,可以参阅BRAM,FIR Compiler等的ip手册)

Radix_Keyword可以是:

Keyword Description
RADIX 非存储模块的系数、内容设定
MEMORY_INITIALIZATION_RADIX 用于ROM/RAM等存储模块的内容初始化

Data_Keyword可以是:

Keyword Description
COEFDATA 滤波器系数
MEMORY_INITIALIZATION_VECTOR 块状(Block)存储和分布式(Distributed)存储单元的内容(ROM/RAM)
PATTERN Bit Correlator系数
BRANCH_LENGTH_VECTOR 交织器系数
MEMDATA 废弃关键词,已经不使用了

注意:1、分号后的代码都被认为是注释内容。

   2、COEFDATA,MEMORY_INITIALIZATION_VECTOR和MEMDATA必须是COE文件中最后一个Keyword。后续的所有关键词都被编译器忽略。

如果安装了ISE环境,则在C:\Xilinx\12.4\ISE_DS\ISE\coregen\data\ 目录下有许多的COE文件供参考,Bit Correlator、Block Memory、分布式算术FIR等等ip都可以参考这样的COE格式。

下面是一些COE文件例子:

(1)并行分布式算术FIR(PDA FIR)

; Sample coefficient definition file for a Parallel Distributed
; Arithmetic (PDA) FIR Filter V1. with decimal coefficients
; (XC4000E/EX/XL/XV, Spartan/XL)
;
; This .COE file format is only compatible with this v1. core.
;
; The only families supported by this core are XC4000E, EX, XL, and XV,
; and Spartan and Spartan-XL.
;
; - taps, symmetric bit decimal coefficients
; - bit signed input (signed data by default)
; - bit output Component_Name=fltr16;
Number_Of_Taps=;
Input_Width = ;
Signed_Input_Data = true;
Output_Width = ;
Coefficient_Width = ;
Impulse_Response_Symmetry = true;
Radix = ;
CoefData=,-,,,,,,-;

(2)Bit Correlator

; Sample .COE coefficient file for v2. and later versions of
; the Bit Correlator core.
;
; In this core, a COE file is used to specify the value of
; the bit mask when the Pattern Mask option is selected.
;
; Specifications:
;
; - taps, hexadecimal coefficients
; - Serial input data
;
; Please refer to the datasheet for this core for more
; details on using the Mask option. radix = ;
pattern = ;

Xilinx COE文件格式小记的更多相关文章

  1. 47.MIF和COE文件格式

    .mif和.coe这两个文件分别是Quartus和ISE的RAM和ROM的初始化文件,因此了解他们的格式,是很必要的   MIF文件的格式如下:   WIDTH=14; --数据宽度为14位 DEPT ...

  2. 针对Quartus IP Core的MIF文件格式小记

    Quartus里面的ROM IP核进行内容分配,需要在Wizard里面指定.mif文件. 本文有关细节和详细说明,请参照Quartus Prime 帮助文档v15.1 一个常见的mif文件如下所示: ...

  3. 利用Xilinx中的ROM构造查找表来计算sin和cos的方法探讨

    1.使用matlab制作.coe文件 查找表的构造 构造256点的正余弦表 exp(-j*2*pi*(0:255)/256),分别得到 cos和sin的查找表 matlab代码: 求sin fid = ...

  4. 怎么用MATLAB产生FPGA所需的hamming窗系数

    需求 在FPGA处理中如果需要对待处理数据加窗,则需要窗系数存储在ROM中以供使用. 前言 MATLAB窗函数说明 流程 比如加个hamming窗,8192点,16bit放大,最终系数18bit位宽. ...

  5. 【接口时序】5、QSPI Flash的原理与QSPI时序的Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 4.Matlab版本:Matlab2014b/ ...

  6. 使用matlab和ISE 创建并仿真ROM IP核

    前言 本人想使用简单的中值滤波进行verilog相关算法的硬件实现,由于HDL设计软件不能直接处理图像,大部分过程都是可以将图像按照一定的顺序保存到TXT文档中,经过Modelsim仿真后,处理的数据 ...

  7. 各种软核处理器二进制文件FPGA初始化文件生成程序

    不管是MIPS, Nios II, MicroBlaze, MSP430, 8051, OpenRISC, OpenSPARC, LEON2/LEON3等等软核处理器,在FPGA上实现的时候我们通常需 ...

  8. Xilinx FPGA使用——ROM初始化文件

    在调用ROM的IP Core时,需要对其进行初始化,利用MATLAB生成其初始化数据文件. 工具:ISE 14.7.MATLAB.notepad++ 废话不多说,直接上MATLAB代码,生成了一个10 ...

  9. Xilinx 网站资源导

    Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...

随机推荐

  1. push 、pop 、unshift 、shift

    push .pop : 操作数组后面 unshift .shift :操作数组前面 push.unshift : 字母多的添加 pop .shift : 字母少的删除 push.unshift : 添 ...

  2. Windows 安装python虚拟环境

    windows 安装pytho虚拟环境 方法一:virtualenv (1)使用pip安装virtualenv工具 pip install virtualenv (2)使用virtualenv创建虚拟 ...

  3. VB.NET中Sub和Function的区别

    function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值. Sub 过程与Functio ...

  4. Java8新特性——Optional

    前言 在开发中,我们常常需要对一个引用进行判空以防止空指针异常的出现.Java8引入了Optional类,为的就是优雅地处理判空等问题.现在也有很多类库在使用Optional封装返回值,比如Sprin ...

  5. python包管理历史

    1.标准库工具distutils,2000年发布,是包安装和发布工具 setup.python 程序,利用distutils 开发 示例: python setup.py install 安装一个包 ...

  6. A股上市公司财报披露时间

    一.上市公司年报披露时间:每年1月1日——4月30日. 二.上市公司中年报披露时间:每年7月1日——8月30日. 三.上市公司季报披露时间: 1季报:每年4月1日——4月30日. 2季报(中报):每年 ...

  7. HTTP协议中常用相应的状态码总结

    HTTP协议与我们的生活息息相关,尤其对于我们后端开发人员,工作之余我整理了一些HTTP协议响应的一些常见的状态码,希望能帮助大家 HTTP状态码列表 消息(1字头)服务器收到请求,需要请求者继续执行 ...

  8. C 语言入门第八章--C语言预处理命令

    例如:#include ,这种以#号开头的命令称为预处理命令. ===C语言宏定义(#define的用法)==== #define 叫做宏定义命令,它也是C语言预处理命令的一种.所谓宏定义,就是用一个 ...

  9. 在webView中的返回键

    在写webView中我们按一下返回键,退到上一个我们浏览的网页,到第一个页面时,按两下退出程序,且按一下时提示你在按一下退出程序 只要加上这个方法即可 public void onBackPresse ...

  10. WPS Linux 2019领先的背后

    导读 过去很多年,作为民族办公领导品牌,金山办公持续高度重视对基础办公软件发展的布局和投入,这其中包括大量的研发资金.人力投入,真正做到了超过30年不忘初心,坚守办公阵地. 早在2019年3月26日, ...