官方的参考文档是: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. 原生js的表单验证

    最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><htm ...

  2. 修改oracle数据库用户密码的方法

    WIN+R打开运行窗口,输入cmd进入命令行: 输入sqlplus ,输入用户名,输入口令(如果是超级管理员SYS的话需在口令之后加上as sysdba)进入sql命令行:    连接成功后,输入“s ...

  3. Centos610安装Firefox

    yum -y install firefox yum install fonts-chinese yum install fonts-ISO8859-2-75dpi 修改 /etc/sysconfig ...

  4. spark-调节executor堆外内存

    什么时候需要调节Executor的堆外内存大小? 当出现一下异常时: shuffle file cannot find,executor lost.task lost,out of memory 出现 ...

  5. 深入理解 ajax系列第一篇(XHR 对象)

    1999年,微软公司发布了IE5, 第一次引入新功能:允许javascript 脚本向服务器发起 hffp 请求.这个功能方式并没有被引起注意,知道2004年 Gmail 发布和 Google Map ...

  6. 十三 Spring的通知类型,切入表达式写法

    Spring中通知类型: 前置通知:目标方法执行之前进行操作,可以获得切入点信息 后置通知: 目标方法执行之后进行操作,可以获得方法的返回值 环绕通知:在目标方法执行之前和之后进行操作,可以终止目标方 ...

  7. python爬虫(四) 内涵段子

    import requests import time import json from urllib import request from urllib import parse url = 'h ...

  8. 【PAT甲级】1014 Waiting in Line (30 分)(队列维护)

    题面: 输入四个正整数N,M,K,Q(N<=20,M<=10,K,Q<=1000),N为银行窗口数量,M为黄线内最大人数,K为需要服务的人数,Q为查询次数.输入K个正整数,分别代表每 ...

  9. HttpClient 以post的方式发送请求(由于请求参数太多所以改成以post提交表单的方式)

    1:Util类方法 /** * 发送 Post请求 * * @param url * @param reqXml * @return */ public static String post(Stri ...

  10. GsonUtils.getGson().fromJson() 转泛型集合用法

    //计算其他收费 List<QiTaFree> qiTaFreeList = GsonUtils.getGson().fromJson(exhiMain.getQiTaFressJson( ...