fpga(field programmable gate array),现场可编程逻辑器件,具有可多次重复编程,当前fpga已经发展到具有大容量、高速度serdes、内嵌arm等sip硬核资源,广泛用于视频、通信等多个领域。
fpga内部的pll,bram等硬核资源非常宝贵,不同的fpga等级,bram容量也相差很大,容量越多的bram,通常是逻辑门数比较多的器件,价格也相对昂贵。当使用低、中等资源规模的fpga,需要大容量存储应用时,通常选择sdram等存储器件,做容量扩展,而sdram有比较复杂的接口操作时序,需要提供灵活且高效的控制器,对于应用产品研发人员以及产品面市时间,提出了更多的挑战。
fpga中常用的bram分为以下三种。
本方案提供一种与bram类似的接口,实现64mb的虚拟bram,使用者按照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器件。