ROM简介
只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。
注:ROM只能读数据,不能写数据。
ROM发展
![](https://i-blog.csdnimg.cn/blog_migrate/e22ef138b7db1423d42da986a449434c.png)
ROM IP核配置
在配置IP核之前,需要创建一个mif或hex文件
![](https://i-blog.csdnimg.cn/blog_migrate/3ca858a5b2de330b35516f48e4ea1990.png)
然后选择深度和位宽
![](https://i-blog.csdnimg.cn/blog_migrate/5564aeec29f816630a4dcc71eaa12a58.png)
创建好,右击可一键输入数据
![](https://i-blog.csdnimg.cn/blog_migrate/5549d04443eed2b32123ca94abf1b8af.png)
选择填入数据信息
![](https://i-blog.csdnimg.cn/blog_migrate/006ddb20fe86cb69f4774cd50dc54a43.png)
创建完成后保存。
创建ROM IP核:在IP核处搜索ROM选择ROM类型(以单口ROM为例)
![](https://i-blog.csdnimg.cn/blog_migrate/e2bcf8a50f993729fa2a451a3e89595d.png)
3、
![](https://i-blog.csdnimg.cn/blog_migrate/11127c2d6a3875be387fd842220e48e9.png)
单时钟:输出与输入时钟保持一致
双时钟:输入与输出时钟不同
4、
![](https://i-blog.csdnimg.cn/blog_migrate/e0b9df023a65127e63c3c88495f0f810.png)
q寄存器:将输出q进行寄存,延迟一拍输出。
写使能信号:只有在写使能信号有效时,才能写入信息。
5、载入mif或hex文件
![](https://i-blog.csdnimg.cn/blog_migrate/a1598678ad74a9ed9b08b4ddda1ca2d1.png)
6、默认即可
![](https://i-blog.csdnimg.cn/blog_migrate/f5816b8d5899a592b09eb9e47902a1d5.png)
7、二选一输出文件
![](https://i-blog.csdnimg.cn/blog_migrate/ba0c57e67ea992b83a55158fcd52227b.png)
8、配置完成
![](https://i-blog.csdnimg.cn/blog_migrate/c26de9aea3c2e3db4eba821c54aaba8b.png)
.v 文件就是配置好的ROM文件,使用时例化即可
9、ROM控制文件
使用ROM中的哪个地址的数据时,可写一个ROM的控制文件,输出为地址即可,将地址信号连接到ROM文件中的地址信号,最后输出的q即为想要得到的地址数据。
实验练习:
使用配置好的ROM文件,驱动数码管。
本人为FPGA的初学者,本章为本人在学习过程中的学习笔记,如有不对请批评指正!!!