0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何生成ROM的coe文件?

FPGA技术驿站 来源:Lauren的FPGA 作者:Lauren的FPGA 2021-02-11 11:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在生成ROM时需要提供coe文件,如下图所示。这个coe文件本质上就是Memory的初始化文件,Xilinx对其有具体的格式要求。

coe文件格式

coe文件格式要求如下图所示,其中前两行是固定的。其中第一行定义了Radix,可以是2、10或16,意味着第2行定义的数据向量内容可以是二进制、十进制或十六进制。这里需要说明的是定义的数据向量各个数据之间可以是空格,也可以是逗号(但此时最后一个数据要以分号结尾)或者回车换行符。

5dc927f0-4fc0-11eb-8b86-12bb97331649.png

生成coe文件

Matlab作为主流的算法开发与验证平台之一往往成为很多数据的重要来源,因此,在Matlab下生成coe文件是非常普遍的操作。这里要用到Matlab提供的一些文件操作函数,如fopen、fprintf和fclose等。在此,我们定义函数gen_coe,它接收两个参数fn和data。其中fn为生成的coe文件名,data为行或列向量。要求为十进制整数。

5de55ea2-4fc0-11eb-8b86-12bb97331649.png

5e2e9ef0-4fc0-11eb-8b86-12bb97331649.png

Python提供了扩展库Numpy,可以方便地实现对矩阵的操作,利用Python也可以快捷地生成coe文件。这里提供两个版本。两个函数都有相同的参数fn和data,含义与上文提到的Matlab函数保持一致。在gen_coe_v1中,通过write()完成了写数据操作。在gen_coe_v2中,则是通过np.savetxt完成了写数据操作。在这个案例中,np.savetxt接收3个参数,第一个参数为文件ID,第二个参数为矩阵的行索引,第三个参数为写入格式。

5e761ece-4fc0-11eb-8b86-12bb97331649.png

5edacac2-4fc0-11eb-8b86-12bb97331649.png

原文标题:如何生成ROM的coe文件

文章出处:【微信公众号:Lauren的FPGA】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630181
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    88542
  • Memory
    +关注

    关注

    1

    文章

    80

    浏览量

    30409

原文标题:如何生成ROM的coe文件

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用NucleiStudio生成tb仿真需要的.verilog文件

    project编译后生成仿真需要的.verilog文件: 1.打开一个工程,右键选择工程名,打开Properties: 2.选择C/C++ Build ->setting,在
    发表于 11-05 07:07

    RISCV指令二进制编码利用matlab生成E203仿真可用文件

    鉴于nuclei studio IDE生成的.verilog难懂,为了方便对单条或者几条指令进行测试,我们队伍编写了matlab代码来实现E203仿真可以识别到的文件。 matlab代码如下
    发表于 10-22 07:06

    如何在Vivado上仿真蜂鸟SOC,仿真NucleiStudio编译好的程序

    ram的IP就可以 2. 将机器指令初始化到ITCM的bank-ram-IP 生成的机器指令在这里 然后我们需要把它转化为coe文件 我们参考网上的相关代码,做了hex到coe
    发表于 10-21 11:08

    scons使用dist生成的工程缺少文件怎么解决?

    env工具:env_released_1.3.5 使用scons —dist指令打包工程,打开生成的工程,提示缺少文件路径 以下内容为评论
    发表于 10-09 06:02

    使用env生成的keil文件好多文件找不到路径,为什么?

    使用env生成文件,使用了 scons —target=mdk5 —dist命令生成文件 但是用mdk打开后全是报错 请问大佬有遇到这种情况吗
    发表于 09-23 06:41

    如何利用 DDR 参数文件生成 Linux 映像?

    如何利用 DDR 参数文件生成 Linux 映像
    发表于 09-02 06:39

    AICube生成部署文件失败的原因?怎么解决?

    我按照网上的方法安装了dotnet,和AICube,并且我是安装在非中文路径,但是尝试了一天了,都不能成功的生成部署文件,我使用软件自带的样例,但是就是不能生成部署文件 期待结果和实际
    发表于 08-05 06:26

    Analog Devices / Maxim Integrated PD60-4H-1461-CoE单轴步进电机数据手册

    Analog Devices PD60-4H-1461-CoE单轴步进电机设计用作伺服驱动器,实现高达+48V电源电压和高达3Nm扭矩。PD60-4H-1461-CoE设有用于电机闭环操作的内置磁性
    的头像 发表于 06-12 15:10 578次阅读
    Analog Devices / Maxim Integrated PD60-4H-1461-<b class='flag-5'>CoE</b>单轴步进电机数据手册

    基于FPGA搭建神经网络的步骤解析

    文件是为了将其写入rom,网络中的权重和偏置通过读取ROM即可,后续需要修改输入其他特征值,只需要修改input的rom里面的coe
    的头像 发表于 06-03 15:51 893次阅读
    基于FPGA搭建神经网络的步骤解析

    如何为IMX-93生成dts文件

    我有一个i.MX-93(11x11) 铜皮 定制板作为生成dts文件。我正在使用 imx 配置工具。我选择了处理器而不是主板,并且特别选择了确切的零件号和包装酷睿-A55使用 KSDK-2。但是在
    发表于 03-21 07:46

    cunbemx生成RTthread代码疑似漏复制文件怎么解决?

    使用6.12.x版本cubemx,勾选X-CUBE-RT-Thread,生成代码。最后的代码里缺失libcpu文件夹,工程里也缺失对应的文件
    发表于 03-13 08:23

    DLPC3470如何获取boot rom文件

    作为DLPC3470设计小白,请问如何获取boot rom文件?请大神帮忙解答,感谢!
    发表于 02-19 07:44

    基于FPGA的图像边缘检测设计

    今天给大侠带来基于 FPGA 的图像边缘检测设计,话不多说,上货。 设计流程如下:mif文件的制作→ 调用 ip 核生成rom以及仿真注意问题→ 灰度处理→ 均值滤波:重点是3*3 像素阵列的
    的头像 发表于 02-10 11:30 1093次阅读
    基于FPGA的图像边缘检测设计

    解锁 EtherCAT-CoE:小米电机驱动实战

    和数据交换。它结合了CANopen的易用性和EtherCAT的高性能优势,广泛用于工业自动化、运动控制和传感器网络等领域。以下是CoE的主要特点和功能:基于CANo
    的头像 发表于 01-20 18:34 2696次阅读
    解锁 EtherCAT-<b class='flag-5'>CoE</b>:小米电机驱动实战

    使用stm32cubeMX无法生成mdk工程文件

    几年前使用过cubemx,可以生成keil的工程文件。最近有个工程使用cubemx创建,结果只能生成stm32cubemx类型的文件,无法生成
    发表于 01-04 20:03