FPGA(Field Programmable Gate Array),现场可编程逻辑器件,具有可多次重复编程,当前FPGA已经发展到具有大容量、高速度SERDES、内嵌ARM等SIP硬核资源,广泛用于视频、通信等多个领域。
FPGA内部的PLL,BRAM等硬核资源非常宝贵,不同的FPGA等级,BRAM容量也相差很大,容量越多的BRAM,通常是逻辑门数比较多的器件,价格也相对昂贵。当使用低、中等资源规模的FPGA,需要大容量存储应用时,通常选择SDRAM等存储器件,做容量扩展,而SDRAM有比较复杂的接口操作时序,需要提供灵活且高效的控制器,对于应用产品研发人员以及产品面市时间,提出了更多的挑战。
FPGA中常用的BRAM分为以下三种。
![简化SDRAM存储器接口 实现的FPGA Bram容量扩展 简化SDRAM存储器接口 实现的FPGA Bram容量扩展]()
本方案提供一种与BRAM类似的接口,实现64Mb的虚拟BRAM,使用者按照BRAM接口来操作,来实现大数据缓存。
![简化SDRAM存储器接口 实现的FPGA Bram容量扩展 简化SDRAM存储器接口 实现的FPGA Bram容量扩展]()
实现的虚拟BRAM具有以下特点
▲ 接口时序上,使用者不需关心SDRAM器件的时序、激活、预充电、刷新等繁琐操作;
▲ 每次读写操作长度可以支持超长包(65K及以上);
▲ 虚拟BRAM具有随机跳地址读写、数据掩码操作,通过组合,可实现多种灵活的存储方式;
▲ 方案中使用的32bit位宽 64Mb容量的SDRAM,理论带宽支持6.4Gbps,实际带宽可以跑6.1Gbps,读写效率在95%以上;
▲ 逻辑资源少,花费查找表242个,寄存器533个。可轻量快捷的嵌入到客户工程中;
▲ 时钟频率Fmax可以支持200Mhz以上,基本满足市场上所有SDRAM器件的最大频率;
▲ EG4S可直接使用,外挂时,支可持安路其他系列FPGA器件;
▲通过修文件中的宏定义,可以支持市场上不同容量大小,不同接口位宽的SDRAM;
Anlogic的AL3、EG4S器件,内部集成了64Mb SDRAM,通过上述应用方案,用户不需要额外费时费力编写高效率SDRAM控制器,将FPGA内部的SDRAM当做虚拟BRAM,通过使用BRAM接口的方式访问,快速高效实现数据的花式存储。
该应用方案也可支持Anlogic其他系列的FPGA器件。