资料介绍
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“rom_test”
FPGA本身是SRAM架构的,断电之后,程序就消失,那么如何利用FPGA实现一个ROM呢,我们可以利用FPGA内部的RAM资源实现ROM,但不是真正意义上的ROM,而是每次上电都会把初始化的值先写入RAM。本实验将为大家介绍如何使用FPGA内部的ROM以及程序对该ROM的数据读操作。
1.实验原理
Xilinx在VIVADO里为我们已经提供了ROM的IP核, 我们只需通过IP核例化一个ROM,根据ROM的读时序来读取ROM中存储的数据。实验中会通过VIVADO集成的在线逻辑分析仪ila,我们可以观察ROM的读时序和从ROM中读取的数据。
2. 程序设计
2.1 创建ROM初始化文件
既然是ROM,那么我们就必须提前给它准备好数据,然后在FPGA实际运行时,我们直接读取这些ROM中预存储好的数据就行。Xilinx FPGA的片内ROM支持初始化数据配置。如下图所示,我们可以创建一个名为rom_init.coe的文件,注意后缀一定是“.coe”,前面的名称当然可以随意起。
ROM初始化文件的内容格式很简单, 如下图所示。第一行为定义数据格式, 16代表ROM的数据格式为16进制。从第3行开始到第34行,是这个32*8bit大小ROM的初始化数据。每行数字后面用逗号,最后一行数字结束用分号。
rom_init.coe编写完成后保存一下, 接下去我们开始设计和配置ROM IP核。
2.2 添加ROM IP核
在添加ROM IP之前先新建一个rom_test的工程, 然后在工程中添加ROM IP,方法如下:
2.2.1 点击下图中IP Catalog,在右侧弹出的界面中搜索rom,找到Block Memory Generator,双击打开。
2.2.2 将Component Name改为rom_ip,在Basic栏目下,将Memory Type改为Single Prot ROM。
2.2.3 切换到Port A Options栏目下,将ROM位宽Port A Width改为8,将ROM深度Port A Depth改为32,使能管脚Enable Port Type改为Always,并取消Primitives Output Register
2.2.4 切换到Other Options栏目下,勾选Load Init File,点击Browse,选中之前制作好的.coe文件。
2.2.5 点击ok,点击Generate生成ip核。
3. ROM测试程序编写
ROM的程序设计非常简单, 在程序中我们只要每个时钟改变ROM的地址, ROM就会输出当前地址的内部存储数据,例化ila,用于观察地址和数据的变化。ROM IP的实例化及程序设计如下:
`timescale1ns/1ps module rom_test( input sys_clk, //25MHz时钟 input rst_n //复位,低电平有效 ); wire[7:0] rom_data; //ROM读出数据 reg [4:0] rom_addr;//ROM输入地址 //产生ROM地址读取数据 always@(posedge sys_clk ornegedge rst_n) begin if(!rst_n) rom_addr <=10'd0; else rom_addr <= rom_addr+1'b1; end //实例化ROM rom_ip rom_ip_inst ( .clka (sys_clk ),//inoput clka .addra (rom_addr ),//input [4:0] addra .douta (rom_data )//output [7:0] douta ); //实例化逻辑分析仪 ila_0 ila_m0 ( .clk (sys_clk), .probe0 (rom_addr), .probe1 (rom_data) ); endmodule
绑定引脚
##################Compress Bitstream############################
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]set_property PACKAGE_PIN AB11 [get_ports sys_clk]set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]create_clock -period 40.000 -name sys_clk -waveform {0.000 20.000} [get_ports sys_clk]set_property IOSTANDARD LVCMOS33 [get_ports {rst_n}]set_property PACKAGE_PIN W13 [get_ports {rst_n}]
4. 仿真
仿真结果如下,符合预期,与RAM的读取数据一样,数据也是滞后于地址一个周期。
5. 板上验证
以地址0为触发条件,可以看到读取的数据与仿真一致。
- 采用Zynq UltraScale+ MPSoC满足汽车ESD和SEED要求
- Zynq UltraScale+ MPSoC中的隔离方法应用笔记
- Zynq UltraScale+ MPSoC生产勘误表
- Zynq UltraScale+ MPSoC数据手册:DC和AC开关特性
- Zynq UltraScale+ MPSoC验证数据手册
- Zynq UltraScale+ MPSoC中的隔离方法
- Zynq UltraScale+ MPSoC的隔离设计示例
- 适用于Xilinx Zynq UltraScale+ MPSoC应用的电源参考设计
- 米尔电子zynq ultrascale+ mpsoc底板外设资源清单分享
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第六章 FPGA片内RAM读写测试实验
- 如何调试 Zynq UltraScale+ MPSoC VCU DDR 控制器?
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第八章FPGA片内FIFO读写测试实验
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介绍
- 电力系统继电保护第七章-微机保护概述(课件)下载.ppt 0次下载
- 高频电子线路第七章答案
- 针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1) 537次阅读
- Xilinx ZYNQ UltraScale+系列产品介绍 2405次阅读
- FPGAs,Zynq和Zynq MPSoC器件的特点 2275次阅读
- 基于Xilinx Zynq UltraScale+ RFSoC ZCU216评估套件详细内容介绍 9162次阅读
- 基于Xilinx Zynq ultraScale+ 系列FPGA的AXU2CGB 开发板评测 9051次阅读
- 米尔科技Zynq UltraScale+ MPSoC技术参考手册介绍 2975次阅读
- 详解Xilinx公司Zynq® UltraScale+™MPSoC产品 3184次阅读
- Xilinx Zynq UltraScale MPSoC可扩展电源设计 1950次阅读
- Xilinx Kintex UltraScale+ FPGA KCU116评估套件主要性能和优势 6734次阅读
- Zynq UltraScale+ MPSoC ZCU102评估套件解决方案 8640次阅读
- Enea OSE可实现对Xilinx UltraScale+ MPSoC的支持 2790次阅读
- Xilinx基于ARM的Zynq-7000和Zynq UltraScale+ MPSoC及RFSoC器件是否存在安全漏洞 2620次阅读
- Zynq UltraScale+ MPSoC 上的多个Linux UIO设计 3219次阅读
- 用ZYNQ MPSoC玩DOOM! 2539次阅读
- Ti推出面向Zynq UltraScale+ MPSoC的电源参考设计 3588次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多