1.软件与硬件平台
软件平台:win10+ISE14.7
硬件平台:FPGA型号 XC6SLX45
2.任务要求
调用ISE内部IP核生成ROM,初始化ROM数据。利用chipscope观察ROM读时序和从中读取的数据。
3.各模块例化
3.1 创建ROM初始化文件
Xilinx FPGA的片内ROM支持初始化数据配置。我们创建一个名为rom_init.coe的文件,注意它的后缀一定是“.coe”。
初始化文件的内容格式有一定的要求,第3行到底第34行表32*8bit大小的数据。
3.2 ROM IP的产生
在添加 ROM IP 之前先新建一个 rom_test 的工程, 以下为向工程中添加 ROM IP 的方法。
- 在Prpject里选择New Source,在“New Source Wizard”界面中选择文件类型为“IP(CORE Generator & Architecture Wizard)”。File name 栏输入 rom_ip, 文件所存放的路径无需修改。
2.在“Select IP” 页面中,找到“Memories & Storage Elements->RAMs & ROMs->Block Memory Generator” ,单击选中它,接着点击“Next” 进入下一步。
弹出“Summary”页面,点击“Finish”。
3.接下来是配置页面的选项选择。“Interface Type” 选择默认的“Native” ,然后点击“Next”
到下一个配置页面。
4.弹出的第 2 个页面中,“Memory Type” 选择“Single Port ROM” ,其他配置默认即可,
然后点击“Next” 到下一个配置页面。
5.ROM 位宽“Read Width” 输入“8”bit;ROM 深度“Depth” 输入“32” 。和我们之前初始化的数据一致,其他配置默认即可,然后点击“Next” 到下一个配置页面。
6.如图所示勾选“Memory Initiazation” 下的“Load Init File” ,然后点击“Browse” 定位到前面创建的 rom_init.coe 文件所在路径。我这里是放在了工程目录下。
7.余下 2 个页面均使用默认设置即可,点击“Generate