侵权投诉

Vivado 如何调用ROM IP核

39度创意研究所 2020-11-20 15:01 次阅读

.coe格式的数据文件简介

在Vivado中,对rom进行初始化的文件是.coe文件.它的格式如下:

memory_initialization_radix=10;
memory_initialization_vector =
65534,
65533,
...,
60211;

其中,memory_initialization_radix=10; 表示文件存储数据的进制,10即为10进制,memory_initialization_vector是数据向量,等号后面的数字就是数据向量,使用逗号隔开数据,分毫表示结束。

小结:
① .coe文件的前两行的开头格式是固定的,不能改变的
② 所存储的数据数量与大小是与设计rom的位宽和深度相对应的

使用matlab生成.coe文件

以下面的程序为例,演示了生成位宽为16bit,深度为1024的rom生成初始化文件:

width=16;   %rom的位宽
depth=1024; %rom的深度
x=linspace(0,2*pi,depth);  %在一个周期内产生1024个采样点
y_cos=cos(x);   %生成余弦数据
y_cos=round(y_cos*(2^(width-1)-1))+2^(width-1)-1;  %将余弦数据全部转换为整数

fid=fopen('C:/Users/Administrator/Desktop/cos_coe.coe','w');  %创建.coe文件
fprintf(fid,'%d,/n',y_cos);  %向.coe文件中写入数据
fclose(fid);  %关闭.coe文件

注意,windows中换行符可能是/r/n

再编辑.coe文件,推荐使用notepad++打开,并:

① 在前两行添加:

memory_initialization_radix=10;
memory_initialization_vector =

② 将最后一行的逗号改为分号.

Vivado中ROM IP核的使用

① 在project manager选择IP Catalog:

② 找到Block Memory Generator,并双击:

③ 在下面的界面中进行ROM的设置,在Other Options栏中设置刚刚设置好的.coe文件的位置,推荐将该文件放在工程目录下面。并点击OK,即可完成ROM的设置,成功会的结果如下所示:

④ 完成上面的操作之后可以在工程文件中调用该ROM IP核,调用的方式是在IP Source中打开所生成的ROM IP核,再打开*.v文件,如下图所示:

复制该文件中的调用语句:

module rom_data_i(clka, addra, douta)
/* synthesis syn_black_box black_box_pad_pin="clka,addra[16:0],douta[15:0]" */;
  input clka;
  input [16:0]addra;
  output [15:0]douta;
endmodule

模仿该格式就可以调用IP核。

编辑:hfy


收藏 人收藏
分享:

评论

相关推荐

Vivado每个子步骤在综合之后要分析什么呢?

Vivado提出了UFDM(UltraFast Design Methodology)设计方法学,其....
的头像 Lauren的FPGA 发表于 12-05 09:47 47次 阅读
Vivado每个子步骤在综合之后要分析什么呢?

基于PFGA的脱离Vivado单独建仿真环境工程

做FPGA样机和做芯片的思路其实是有差异的。为了追求好的性能,节省成本,降低功耗(PPA),芯片设计....
的头像 电子设计 发表于 12-03 12:53 315次 阅读
基于PFGA的脱离Vivado单独建仿真环境工程

微软对Kubernetes应用—AKS的发展历程介绍

从定义上来看,云原生可以分为云和原生两个部分,云主要有IaaS、PaaS、SaaS,原生指的是土生土....
的头像 lhl545545 发表于 12-01 14:34 256次 阅读
微软对Kubernetes应用—AKS的发展历程介绍

修改BRAM初始化值的避免综合与实现

1、引言 以交换机设计为例。在交换机设计前期,转发表项是固化在交换机内部的(给FPGA片内BRAM初....
的头像 39度创意研究所 发表于 11-30 15:37 201次 阅读
修改BRAM初始化值的避免综合与实现

带大家一起体验一下Vivado的ECO流程

这里带大家一起体验一下Vivado 的ECO流程,以vivado自带的Example Design为....
的头像 FPGA之家 发表于 11-29 11:04 134次 阅读
带大家一起体验一下Vivado的ECO流程

详细解析vivado约束时序路径分析问题

时序不满足约束,会导致以下问题: 编译时间长的令人绝望 运行结果靠运气时对时错 导致时序问题的成因及....
的头像 电子设计 发表于 11-29 10:34 435次 阅读
详细解析vivado约束时序路径分析问题

vivado约束案例:跨时钟域路径分析报告

跨时钟域路径分析报告分析从一个时钟域(源时钟)跨越到另一个时钟域(目标时钟)的时序路径。
的头像 电子设计 发表于 11-27 11:11 592次 阅读
vivado约束案例:跨时钟域路径分析报告

在Keil开发环境时如何检查使用的RAM和ROM是否超过支持的芯片大小?

在使用Keil开发环境时,如何检查程序使用的RAM和ROM是否超过支持的芯片大小? ...
发表于 11-27 07:15 0次 阅读
在Keil开发环境时如何检查使用的RAM和ROM是否超过支持的芯片大小?

DSP的经典复习题库合集

本文档的主要内容详细介绍的是DSP的经典复习题库合集。
发表于 11-26 17:01 64次 阅读
DSP的经典复习题库合集

生成zynq裸核启动文件步骤解析

通过修改lscript.ld文件中的内容,可以改变在存储器中的执行位置, 因为ELF文件是加载到DD....
的头像 39度创意研究所 发表于 11-26 15:20 314次 阅读
生成zynq裸核启动文件步骤解析

【vivado学习】典型时序模型的三条时钟路径分析

发起沿(LaunchEdge):数据被launch的时钟边沿;也就是说,每一个启动沿,一般都会产生一....
的头像 电子设计 发表于 11-26 14:16 556次 阅读
【vivado学习】典型时序模型的三条时钟路径分析

xilinx FPGA中oddr,idelay的用法详解

idelay2中按推荐配置,从DATAIN还是从IDATAIN输入区别为是内部延时还是从IO输入,F....
的头像 电子设计 发表于 11-25 14:35 484次 阅读
xilinx FPGA中oddr,idelay的用法详解

浅谈Vivado 综合选项的7种设置

-flatten_hierarchy full: 综合时将原始设计打平,只保留顶层层次,执行边界优化....
的头像 电子设计 发表于 11-25 10:28 260次 阅读
浅谈Vivado 综合选项的7种设置

MIO与EMIO的关系解析 GPIO、MIO、EMIO的区别

芯片型号:XC7Z010-1CLG400C Vivado版本:2016.1 点亮流水灯,共使用了三种....
的头像 39度创意研究所 发表于 11-24 14:32 651次 阅读
MIO与EMIO的关系解析 GPIO、MIO、EMIO的区别

如何擦除固化在FPGA的程序

在使用Vivado 的SDK进行在线调试时,需要将FPGA的bit文件烧写到FPGA中,但是在使用S....
的头像 39度创意研究所 发表于 11-23 16:00 254次 阅读
如何擦除固化在FPGA的程序

Xilinx FPGA案例学习之Vivado设计综合约束

在 Flow Navigator 中点击设置, 然后选择Synthesis,或者 selectFlo....
的头像 电子设计 发表于 11-23 14:16 654次 阅读
Xilinx FPGA案例学习之Vivado设计综合约束

三种种创建ROM的方法解析

ROM是只读型存储器,写入数据之后就不能在对数据进行更改。下面提供3种创建ROM的方法。
的头像 39度创意研究所 发表于 11-23 14:13 157次 阅读
三种种创建ROM的方法解析

用Tcl实现Vivado设计全流程

设置芯片型号,设置源文件位置,设置生成文件位置,添加设计源文件,流程命令,生成网表文件,设计分析,生....
的头像 Lauren的FPGA 发表于 11-20 10:56 257次 阅读
用Tcl实现Vivado设计全流程

关于ROM和RAM有哪些常见问题

关于ROM和RAM的常见问题分析。
的头像 发表于 11-19 15:51 268次 阅读
关于ROM和RAM有哪些常见问题

ROM和RAM有哪些区别

RAM和ROM的区别在概念、运行速度、在手机存储的功能上有不同。
的头像 发表于 11-19 15:30 398次 阅读
ROM和RAM有哪些区别

SystemVerilog 中各种不同的联合解析

联合分两种类型:打包 (packed) 和解包 (unpacked)。在上述示例中,我们指定的是打包....
的头像 39度创意研究所 发表于 11-19 15:16 433次 阅读
SystemVerilog 中各种不同的联合解析

ROM中的信息是什么

ROM中的信息是由计算机制造厂预先写入的,ROM的特点是 一次写入,反复读取; 与其相反,RAM的 ....
的头像 发表于 11-19 14:50 308次 阅读
ROM中的信息是什么

rom是内存还是外存

ROM属于内存,rom也称作只读存储器,只能读出事先所存数据的固态半导版体存储器。ROM和RAM的区....
的头像 发表于 11-19 14:26 598次 阅读
rom是内存还是外存

rom的特点是什么

ROM是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除,通常....
的头像 发表于 11-19 14:17 450次 阅读
rom的特点是什么

Vivado时序案例分析之解脉冲宽度违例

BY Hemang Divyakant Parikh 有多种类型的时序违例可归类为脉冲宽度违例。 -....
的头像 39度创意研究所 发表于 11-19 13:48 166次 阅读
Vivado时序案例分析之解脉冲宽度违例

FPGA时序案例分析之时钟周期约束

时钟周期约束,顾名思义,就是我们对时钟的周期进行约束,这个约束是我们用的最多的约束了,也是最重要的约....
的头像 39度创意研究所 发表于 11-19 11:44 562次 阅读
FPGA时序案例分析之时钟周期约束

rom是什么意思

只读存储器(Read-Only Memory,即:ROM)是一种只能读取资料的存储器。在制造过程中,....
的头像 发表于 11-19 11:31 542次 阅读
rom是什么意思

Vivado/ISE中不同类型的许可证时常放的错误解析

BY Anatoli Curran 在 Vivado/ISE 中遇到许可问题时,该怎么办呢? 本文介....
的头像 39度创意研究所 发表于 11-18 12:26 468次 阅读
Vivado/ISE中不同类型的许可证时常放的错误解析

FPGA设计中Tcl在Vivado中的基础应用

Tcl介绍 Vivado是Xilinx最新的FPGA设计工具,支持7系列以后的FPGA及Zynq 7....
的头像 39度创意研究所 发表于 11-17 17:32 237次 阅读
FPGA设计中Tcl在Vivado中的基础应用

FPGA案例之衍生时钟约束

约束衍生时钟 系统中有4个衍生时钟,但其中有两个是MMCM输出的,不需要我们手动约束,因此我们只需要....
的头像 39度创意研究所 发表于 11-17 16:28 182次 阅读
FPGA案例之衍生时钟约束

FPGA之主时钟约束解析

约束主时钟 在这一节开讲之前,我们先把wave_gen工程的wave_gen_timing.xdc中....
的头像 电子设计 发表于 11-16 17:45 644次 阅读
FPGA之主时钟约束解析

Vivado时序约束中详细的Tcl命令

get_clocks后面的对象是我们之前通过create_clocks或者create_genera....
的头像 39度创意研究所 发表于 11-16 15:07 516次 阅读
Vivado时序约束中详细的Tcl命令

Git进行Vivado工程管理的教程分享

作者:猫叔 git有多好用我就不用多说了,可谓是程序员必备技能之一。对于一般的软件代码来说,只需把源....
的头像 39度创意研究所 发表于 11-16 14:59 161次 阅读
Git进行Vivado工程管理的教程分享

vivado版本升级后,怎么简单移植软核。

将程序从低版本的vivado搬移到高版本的vivado的时,直接在高版本的vivado下升级软核中的各个IP后,在综合过程中报错。在低版本...
发表于 11-14 20:57 281次 阅读
vivado版本升级后,怎么简单移植软核。

如何实现 FPGA 构建环境的自动化

作者:Andreas Braun Stefan Wiehler 设计工程师,MLE 公司 创建 FP....
的头像 39度创意研究所 发表于 11-14 11:23 344次 阅读
如何实现 FPGA 构建环境的自动化

如何不建Vivado工程,也能看Device视图呢

在FPGA设计与开发中,Device视图和Package视图发挥着重要的作用。在Device视图下:....
的头像 Lauren的FPGA 发表于 11-13 18:11 409次 阅读
如何不建Vivado工程,也能看Device视图呢

基于Project模式Vivado GUI使用的配置文件自动化生成管理

BY 卢昊 曾就职于上海贝尔(阿尔卡特朗讯),任FPGA工程师。目前从事FPGA加速计算方面的工作。....
的头像 39度创意研究所 发表于 11-13 12:48 245次 阅读
基于Project模式Vivado GUI使用的配置文件自动化生成管理

Vivado IDE全面了解XDC文件的约束顺序

Vivado IDE约束管理器将任何已编辑的约束保存回XDC文件中的原始位置,但不会保存在Tcl脚本....
的头像 39度创意研究所 发表于 11-13 10:53 171次 阅读
Vivado IDE全面了解XDC文件的约束顺序

关于Vivado中三种操作Debug的方式

Vivado中提供了多种Debug的操作方式,下面就来总结一下: 1. 代码中例化ILA IP核 第....
的头像 39度创意研究所 发表于 11-11 17:07 212次 阅读
关于Vivado中三种操作Debug的方式

基于FPGA的音乐蜂鸣器设计

本设计使用的是无源蜂鸣器,也可称为声响器,原理电路图如下所示。它没有内部驱动电路,无源蜂鸣器工作的理....
的头像 电子发烧友网工程师 发表于 11-11 09:48 444次 阅读
基于FPGA的音乐蜂鸣器设计

Vivado工程模式和非工程模式的比较

01. Vivado的两种工作模式 Vivado设计有工程和非工程两种模式: 1. 工程模式: 工程....
的头像 39度创意研究所 发表于 11-09 17:15 466次 阅读
Vivado工程模式和非工程模式的比较

Vivado中模块封装成edif和dcp

发表于 11-09 14:50 303次 阅读
Vivado中模块封装成edif和dcp

Vivado HLS和Vitis HLS 两者之间有什么区别

Vivado HLS 2020.1将是Vivado HLS的最后一个版本,取而代之的是VitisHL....
的头像 Lauren的FPGA 发表于 11-05 17:43 944次 阅读
Vivado HLS和Vitis HLS 两者之间有什么区别

Vivado的ECO流程

通常在设计网表中,需要在基础上微调逻辑,这样既无需修改代码,也无需重新做综合,在设计调试中可以节省时....
的头像 电子发烧友网工程师 发表于 11-04 10:25 260次 阅读
Vivado的ECO流程

Vivado中进行ZYNQ硬件部分设计方案

ZYNQ概述 ZYNQ内部包含PS和PL两部分,PS中包含以下4个主要功能模块: Applicati....
的头像 39度创意研究所 发表于 11-03 12:33 710次 阅读
Vivado中进行ZYNQ硬件部分设计方案

使用FPGA实现LPM ROM创建的教程说明

很多人在运用QUARTUS II 9.0 创建LPM_ROM 时,都惊讶地发现它不翼而飞了。( LP....
发表于 11-02 17:53 93次 阅读
使用FPGA实现LPM ROM创建的教程说明

FPGA设计中两种IO约束:管脚约束,延迟约束

I/O约束 I/O约束是必须要用的约束,又包括管脚约束和延迟约束。 管脚约束 管脚约束就是指管脚分配....
的头像 39度创意研究所 发表于 10-30 16:08 929次 阅读
FPGA设计中两种IO约束:管脚约束,延迟约束

一起体验Vivado 的ECO流程

作者:Hong Han,来源:赛灵思中文社区论坛 有时我们需要在设计网表的基础上微调一下逻辑,这样可....
的头像 FPGA开发圈 发表于 10-26 09:45 473次 阅读
一起体验Vivado 的ECO流程

如何用Tcl实现Vivado设计流程介绍

Vivado有两种工作模式:project模式和non-project模式。这两种模式都可以借助Vi....
的头像 Lauren的FPGA 发表于 10-21 10:58 337次 阅读
如何用Tcl实现Vivado设计流程介绍

浅析单片机语音芯片精简指令的优缺点

优点:相对执行速度快,大部分是单周期指令,需要的存储空间也相对小,大部分是一个存储空间 (我这里的一....
的头像 我快闭嘴 发表于 10-15 15:39 496次 阅读
浅析单片机语音芯片精简指令的优缺点

通过HLS封装一个移位流水灯的程序案例

当我们安装好Vivado 的时候,也同时装好了Vivado HLS.。 这是个什么东西?我就有一种想....
的头像 39度创意研究所 发表于 10-14 15:17 805次 阅读
通过HLS封装一个移位流水灯的程序案例

高通QCC3008蓝牙模块的数据手册免费下载

QCC3008 QFN包含一个片内balun,该balun结合了PA on传输的平衡输出,并为接收时....
发表于 10-09 08:00 198次 阅读
高通QCC3008蓝牙模块的数据手册免费下载

IP definition not found for VLNV: xilinx.com:ip:axi_vdma:6.2 ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.要如何解决呢

在Xilinx ZYNQ平台上对HDMI进行测试,参考ADI的官方Demo。 系统编译时报错 ERROR: [BD 5-390] IP...
发表于 10-06 22:22 243次 阅读
IP definition not found for VLNV: xilinx.com:ip:axi_vdma:6.2  ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.要如何解决呢

企业加快向云迁移 企业如何才能可以获得采用云带来的好处

许多企业在疫情爆发前就已经转向云技术。Megaport首席执行官Vincent English写道,....
的头像 39度创意研究所 发表于 09-30 17:00 1323次 阅读
企业加快向云迁移 企业如何才能可以获得采用云带来的好处

Vivado中进行HDL代码设计

在Vivado中进行HDL代码设计,不仅需要描述数字逻辑电路中的常用功能,还要考虑如何发挥Xilinx器件的架构优势。目前常用的H...
发表于 09-29 10:08 303次 阅读
Vivado中进行HDL代码设计

Vivado的多种RAM编写方式

Vivado综合可以理解多种多样的RAM编写方式,将其映射到分布式RAM或块RAM中。两种实现方法在向RAM写入数据时都是采取...
发表于 09-29 09:40 303次 阅读
Vivado的多种RAM编写方式

vivado入门资料,vivado工作模式简介.pdf,FPGA入门教程—详尽的基础知识

发表于 09-16 15:04 159次 阅读
vivado入门资料,vivado工作模式简介.pdf,FPGA入门教程—详尽的基础知识

vivado入门资料,FPGA设计流程指南--pdf

发表于 09-08 09:44 235次 阅读
vivado入门资料,FPGA设计流程指南--pdf

请问如何在Vivado中导出IO端口跟踪长度?

大家好, 我从Vivado导出了CSV文件,其中有关于I / O端口的最小和最大跟踪延迟的Igot信息,但没有关于跟踪长度的信息。 ...
发表于 08-28 07:40 101次 阅读
请问如何在Vivado中导出IO端口跟踪长度?

vivado设备视图与包视图相反?

我检查两个型号k7和spartan7,它是一样的 pack视图与toug475_7Series_Pkg_Pinout相同 设备视图是底视图? Michael ------...
发表于 08-26 14:56 101次 阅读
vivado设备视图与包视图相反?