RAM的多种例化和初始化方法

目录

RAM的例化

RAM的初始化

IP Catalog例化的RAM的初始化

自定义数组和XPM RAM的初始化

初始化数据的可读性


 

本文所述的内容均以使用Xilinx器件为前提,不需要进行修改,或者做出少量修改就可以在Altera器件上应用。

RAM的例化

我常使用的例化方法主要有三种。

  • 使用IP Catalog例化
  • 通过代码让编译器推断出RAM
  • 调用原语

上述方法各有优缺点。

IP Catalog的方法容易上手,但是修改起来很是繁琐,需要重新customize,重新OOC综合......,而且不能实现参数化;通过特定代码风格使编译器推断出RAM的方式更为灵活,也可以实现参数化,而且只要设计者对Xilinx的一些约束足够熟悉(比如RAM_STYLE、ROM_STYLE)也可以达到其他方式一样的效果,同时只有这种实现方法可以实现代码在不同厂商间兼容,只是该方法对设计者要求高,尤其是一些复杂应用,如非对称RAM;调用原语的好处是使用灵活,修改方便,可参数化。

个人认为,如果不是为了厂商间兼容,使用原语(即XPM)是更好的实现方式。

通过代码让编译器推断出RAM时,可以参考ug901的RAM HDL Coding Techniques章节。如果使用XPM则可以参考ug974。

RAM的初始化

IP Catalog例化的RAM的初始化

这种情况下都是通过COE文件进行初始化。在IP生成向导中有步骤让使用者指定所需要的COE文件,当然文件内容需要使用者编辑。COE文件具体格式通过直接搜索“COE File Syntax”就可以找到,不同内容的COE文件的格式略有区别,大致都是下面的样子。

******************************************************************
********  Example of Single Port Block Memory .COE file  *********
************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值