ZYNQ-ROM

FPGA本身是SRAM架构,断电后程序就会消失。如何利用FPGA实现 ROM?利用FPGA内部的RAM资源实现ROM,但是不是真正意义上的ROM,而是每次上电都会把初始化的值先写入RAM.使用FPGA内部的ROM,进行数据读取

1、创建ROM初始化文件

ROM,提前准备好数据,FPGA实际运行时,直接读取这些ROM中预存存储好的数据就行。Xilinx FPGA 的片内ROM支持初始化数据配置。创建一个后缀".coe"文件。ROM初始化文件内容格式很简单,第一行为定义数据格式。16代表ROM的数据格式为16进制,从第3行开始到第四行,是32*8bit大小ROM的初始化数据,每行数字后面用逗号,最后一行数字结束用分号。

2、创建工程 

新建rom_test工程,在工程中添加ROM IP,核,实现ROM读取功能。

1)点击 IP Catalog ,在右侧弹出框搜索ROM,找到Block Memory Generator ,双击打开。

2)将Component Namea改为 rom_ip,在Basic 栏目下,将Memory Type改为Single Prot ROM.

3)切换到 Port A Options  栏目下,将ROM位宽 Port A Width 改为8,将ROM深度改为Port A Deth改为32,使能管脚 Enable Port Type 改为Always,并取消Primitives Output Register

4)切换到Other Options栏目下,勾选Load Init File,点击Browse,选中之前制作好的.coe文件。

 

5)点击OK,点击Generate 生成ip 核。

 

3)程序编写

ROM的程序设计简单,每个时钟改变ROM的地址,ROM就会输出当前地址的内部存储数据,例化ila,观察地址和数据的变化。

4)引脚绑定

 

5)仿真 

 

6上板验证

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值