vivado ROM IP核简单使用

vivado配置

下面选择数据的存储深度和数据的位宽

ROM内存储的数据由coe文件初始化

下面是初始化coe文件的内容

memory_initialization_radix=10;
memory_initialization_vector=
1,
2,
3,
4,
5,
6,
7,
8,
9,
10;       //每个数据后面用逗号或者空格或者换行符隔开,最后一个数据后面加分号

第一行定义的是数据的格式,可以是2进制,10进制,16进制数据,下面的数据要以分号结尾。

仿真结果

`timescale 1ns / 1psmodule tb_ROM();//输入
reg           sys_clk;
reg           sys_rst_n;
reg ena;
//output
wire [15 : 0] douta;//信号初始化
initial beginsys_clk = 1'b0;sys_rst_n = 1'b0;ena = 1'b1;#10sys_rst_n = 1'b1;end//生成时钟
always #10 sys_clk = ~sys_clk;reg   [3 : 0] rom_addr;      //ROM输入地址always @ (posedge sys_clk or negedge sys_rst_n)
beginif(!sys_rst_n | (rom_addr >= 9))rom_addr <= 4'b0;elserom_addr <= rom_addr+1'b1;
end      blk_mem_gen_0 u_blk_mem_gen_0 (.clka(sys_clk),    // input wire clka.ena(ena),      // input wire ena.addra(rom_addr),  // input wire [3 : 0] addra.douta(douta)  // output wire [15 : 0] douta
);endmodule


2022年3月29日
生成ROM有两种不同的方式,分别是Block RAM 和Distributed RAM。
简称是bram和dram。
其中bram是在芯片设计的时候就已经硬件实现了,无论是否使用,都在那里放着,而dram是利用FPGA中的逻辑资源实现的,可以实现使用多少就生成多少。
bram:

  • 存储容量大,且必须使用时钟触发

dram:

  • 使用灵活,且可以使用时钟也可以不使用时钟组合逻辑输出。

二者使用的简单原则一般是:

较大的存储应用,用bram;零星的小ram,用dram。当然只是一般原则,要结合实际项目考虑

vivado ROM IP核简单使用相关推荐

  1. Vivado 下 IP核 之ROM 读写

    目录 Vivado 下 IP核 之ROM 读写 1.实验简介 2.ROM IP 核简介 3.ROM IP 核配置 3.1.创建 ROM 初始化文件 3.2.单端口 ROM 的配置 加载数据文件,将 . ...

  2. Xilinx vivado 常用IP核使用

    目录 1. Accumulator 12.0 2. Aurora 8B10B 11.1 3. Clocking Wizard 3.1. 时钟资源 4. Divider Generator 5.1 5. ...

  3. Vivado FIFO IP核接口信号介绍

    1.1 Vivado FIFO IP核接口信号介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado FIFO IP核接口信号介绍: 5)结束语. 1.1.2 ...

  4. Vivado MMCM IP核接口信号介绍

    1.1 Vivado MMCM IP核接口信号介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado MMCM IP核接口信号介绍: 5)结束语. 1.1.2 ...

  5. FPGA设计中,Vivado 调用IP核详细操作步骤

    FPGA设计中,Vivado 调用IP核详细操作步骤 今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看. 首先咱们来了解一下vivado的IP核,I ...

  6. 弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩

    弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩 IP核:知识产权核,指某一方提供的.形式为逻辑单元的可重用模块.IP核通常已经通过了设计验证,设计人员以IP核为基础进行设计,可以 ...

  7. vivado调用IP核详细介绍

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  8. modelsim 独立仿真vivado fifo IP核

    1.前言 vivado内自带仿真器,或者可以通过vivado启动第三方仿真工具,联合仿真.但是很多时候,我们希望脱离vivado,利用modelsim或者vcs等第三方仿真工具,高效地仿真.本文介绍如 ...

  9. (44)Xilinx ROM IP核配置(五)(第9天)

    (44)Xilinx ROM IP核配置(五)(第9天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Xilinx ROM IP核配置(五)(第9天) 5)技术 ...

最新文章

  1. 20165101刘天野 2018-2019-2《网络对抗技术》第1周 Kali的安装
  2. 学习python是干嘛的-学 Python 都用来干嘛的?
  3. 线程间通信: Handler , Looper, MessageQueue, Message (完结)
  4. 猎豹MFC--CMenu菜单 设置主菜单 给主对话框设置菜单 设置快捷菜单
  5. bool类型0和1真假_MySQL整理5—数据类型和运算符
  6. 2019年一半已过,这些大前端技术你都GET了吗?- 下篇
  7. 从零开始搭建webpack+react开发环境
  8. Power BI能否做帕累托分析
  9. c语言书199页第12题,单片机C语言入门实例和最常见问题分析(含程序部分了)(199页)-原创力文档...
  10. 最通俗易懂的JUC多线程并发编程
  11. GPS信息中提取经纬度坐标信息
  12. python设置桌面壁纸后重启电脑失效解决方案
  13. 最近超火的100句土味情话合集,拿去撩妹撩汉吧!
  14. 张量的基本概念+张量的聚合、拼接、比较、随机化采样、序列化等操作+升维、降维
  15. 基于docker 部署 canvas-lms
  16. 【数学】用C语言实现函数的定积分—— 把 “定积分定义计算出的值” 和 “牛顿-莱布尼兹公式计算出的值” 两者进行误差比较
  17. 《阿里云的这群疯子》
  18. 【CA-TA实战系列九】安全驱动OP-TEE(华为tzdriver)
  19. 学习笔记:《机器人SLAM导航核心技术与实战》序言
  20. 给女朋友做个聊天机器人,这样就能安心写代码了

热门文章

  1. python语言读后感_《利用Python进行数据分析》读书笔记
  2. 阿里双十一大促,技术准备只做了这两件事情?
  3. 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项
  4. python判断矩阵是否对称_矩阵的特征分解(推导+手算+python计算+对称矩阵的特征分解性质)...
  5. java听课心得体会,Java初步学习的一点心得体会
  6. Python学习——编辑器Geany的下载
  7. TPS和QPS的区别
  8. dreamweaver快捷键大全
  9. 数字信号处理之期中斩神篇(一重 搬山)
  10. CRPR能补偿crosstalk吗?