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器件。