官方的参考文档是: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. AOP统一日志打印处理

    在日常开发工作中,我们免不了要打印很多log.而大部分需要输出的log又是重复的(例如传入参数,返回值).因此,通过AOP方式来进行日志管理可以减少很多代码量,也更加优雅. Springboot通过A ...

  2. Cisco AP-如何识别思科胖瘦AP

    思科的胖瘦AP识别的方式不止一种,这里简单的总结一些我了解到的方式: 1.根据思科AP的型号 这个和思科不同时期的产品有关系,老一点的和新一些的AP命名上存在差别,这里简单举例: 类型1:AIR-LA ...

  3. 动态规划-国王的金矿问题java

    紧接着上一篇动态规划问题,现在我们开始探讨一个新的问题,问:有一个发现了5个金矿,每一个金矿的储量不同,需要参与挖掘的工人数也不通,参与挖矿工人的总数量是10人,每一座金矿要么全挖,要么不挖,不能派一 ...

  4. SSD算法

    SSD算法 2016  出的目标检测算法 SSD效果主要有三点: 1.多尺度 2.设置了多种宽高比的(anchor box)default box 3.数据增强 1.1  设置 default box ...

  5. Java27个基数点

    1.JAVA中的几种基本数据类型是什么,各自占用多少字节. 2.String类能被继承吗,为什么 不能.在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的. ...

  6. html js中的引号

    content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...

  7. Vue——解决使用第三方组件库时无法修改默认样式的问题(使用 /deep/ )

    最近在开发一个基于Vue的后台管理系统,其中使用了element-ui第三方ui组件库.使用过组件库的人都知道,第三方组件往往会有一些默认的样式,而有些又是我们想要改变的. 一.基础(了解 <s ...

  8. 最大流dinic板子

    题目: https://www.luogu.com.cn/problem/P3376 #include <bits/stdc++.h> using namespace std; ; con ...

  9. 吴裕雄--天生自然PYTHON爬虫:使用Scrapy抓取股票行情

    Scrapy框架它能够帮助提升爬虫的效率,从而更好地实现爬虫.Scrapy是一个为了抓取网页数据.提取结构性数据而编写的应用框架,该框架是封装的,包含request异步调度和处理.下载器(多线程的Do ...

  10. C++获取驱动盘句柄

    转载:https://www.cnblogs.com/sherlock-merlin/p/10792116.html     https://univasity.iteye.com/blog/8052 ...