中心議題:
- 存儲器接口設計的性能要求
- 存儲器接口設計的設計難題
- 使用 Spartan-3 FPGA 的存儲器接口
解決方案:
- Xilinx 解決方案
- Spartan-3 系列FPGA與 Xilinx 軟件工具結合
Xilinx FPGA 提供可簡(jiǎn)化接口設計的 I/O 模塊和邏輯資源。盡管如此,這些 I/O 模塊以及額外的邏輯仍需設計人員在源 RTL 代碼中配置、驗證、執行,并正確連接到系統的其余部分,然后仔細仿真并在硬件中進(jìn)行驗證?! ?br />
本文介紹了存儲器接口設計的性能要求、設計難題以及 Xilinx 的解決方案,從使用 Spartan-3 系列 FPGA 的低成本實(shí)現到使用 Virtex-5 FPGA 的最高帶寬接口,無(wú)所不包?! ?br />
性能要求和 Xilinx 解決方案
20 世紀 90 年代后期,存儲器接口從單倍數據速率 SDRAM 發(fā)展為雙倍數據速率 (DDR) SDRAM,而如今的 DDR2 SDRAM 運行速率已達每引腳 667 Mbps 或更高?! ?br />
應用通??煞譃閮深?lèi):
● 低成本應用,器件成本最重要
● 高性能應用,獲得最高帶寬最重要
運行速率低于每引腳 400 Mbps 的 DDR SDRAM 和低端 DDR2 SDRAM 已能滿(mǎn)足大多數低成本系統存儲器的帶寬需求。對于這類(lèi)應用,Xilinx 提供了 Spartan-3 系列 FPGA:Spartan-3、3E、3A 和3AN 器件?! ?br />
對于將存儲器接口帶寬推至極限的應用,如每引腳 667 Mbps 的 DDR2 SDRAM,Xilinx 提供了 Virtex-5 FPGA?! ?br />
帶寬是與每引腳數據速率和數據總線(xiàn)寬度相關(guān)的一個(gè)因素。Spartan-3 系列和 Virtex-5 FPGA 均提供了不同選項,從數據總線(xiàn)寬度小于 72 位的較小的低成本系統,到寬度達 576 位的較大的 Virtex-5 封裝(圖 1)。
這些速度下的較寬總線(xiàn)使芯片對芯片接口的實(shí)現更為困難,因為要求的封裝更大,電源到信號和地面到信號比更佳。Virtex-5 FPGA 的開(kāi)發(fā)使用了先進(jìn)的稀疏鋸齒形 (SparseChevron) 封裝技術(shù),能提供優(yōu)良的信號到電源和地面到引腳比。每個(gè) I/O 引腳周?chē)加凶銐虻碾娫春徒拥匾_和板,以確保良好的屏蔽,使由同步交換輸出 (SSO) 所造成的串擾噪音降到最低?! ?br />
使用 Spartan-3 FPGA 的存儲器接口
對于每引腳 400Mbps低成本應用,Spartan-3 系列FPGA與 Xilinx 軟件工具結合即可提供易于實(shí)現且經(jīng)濟的解決方案?! ?br />
在一個(gè)基于FPGA的設計中,三個(gè)基本構建模塊組成一個(gè)存儲器接口和控制器:讀寫(xiě)數據接口、存儲器控制器狀態(tài)機,以及將存儲器接口設計橋接到 FPGA 設計其余部分的用戶(hù)接口。這些模塊在架構中實(shí)現由數字控制管理器 (DCM) 的輸出信號對其進(jìn)行時(shí)鐘驅動(dòng),在 Spartan-3 系列實(shí)現中,數字控制管理器還對查找表 (LUT) 延遲校準監視器(可確保正確設置讀數據采集時(shí)序的邏輯塊)進(jìn)行驅動(dòng)?! ?br />
在Spartan-3系列實(shí)現中,使用可配置邏輯塊 (CLB) 中的LUT實(shí)現讀數據采集。在讀事務(wù)過(guò)程中,DDR2 SDRAM器件將讀數據選通脈沖 (DQS) 及相關(guān)數據按照與讀數據 (DQ) 邊沿對齊的方式發(fā)送給FPGA。在源同步接口中采集DQ是一項頗具挑戰性的任務(wù),因為數據在非自由運行DQS選通脈沖的每個(gè)邊沿上都會(huì )改變。讀數據采集的實(shí)現使用了一種基于 LUT 的 tap 延遲機制?! ?br />
寫(xiě)數據命令和時(shí)序由寫(xiě)數據接口生成并控制。寫(xiě)數據接口使用輸入/輸出模塊(IOB)觸發(fā)器和DCM的90度、180度和270度輸出端以與命令和數據位剛好對齊的方式發(fā)送DQS選通脈沖?! ?br />
DDR2 SDRAM 存儲器接口的實(shí)現已在硬件中全面經(jīng)過(guò)驗證。設計是在使用了 16 位寬 DDR2 SDRAM 存儲器器件和 XC3S700A-FG484 器件的 Spartan-3A 入門(mén)套件板中實(shí)現的。此參考設計僅利用了 Spartan-3A FPGA 可用資源的一小部分:13% 的 IOB、9% 的邏輯 Slice、16% 的全局緩沖器 (BUFG) 多路復用器 (MUX) 和八個(gè) DCM 中的一個(gè)?! ?br />
可以使用存儲器接口生成器 (MIG)軟件工具輕松定制Spartan-3系列存儲器接口設計,使其符合應用。