實現高速記憶體介面FPGA打造低成本解決之道

2004-11-26
記憶體已廣泛地應用於當今的電子系統。由於系統頻寬的不斷增加,為了滿足高速和性能的要求,記憶體技術已最佳化...
記憶體已廣泛地應用於當今的電子系統。由於系統頻寬的不斷增加,為了滿足高速和性能的要求,記憶體技術已最佳化。  

結果,這些下一代記憶體介面的設計日益受到挑戰。用可編程元件,諸如FPGA實現高速、高效記憶體介面,對於設計者來說是主要的挑戰。  

記憶體是構成各種系統所需要的元件。不同的應用有不同的記憶體要求。對於網路結構應用,記憶體典型要求為高密度、高性能和高頻寬,並具有高可靠性。在無線應用中,特別是手機和移動元件,低功率記憶體是很重要的;而對於基站應用,高性能是很關鍵的。寬帶應用要求記憶體在成本和性能方面有很好的平衡。計算與消費應用要求記憶體解決方案,諸如DRAM模組,快閃記憶體卡和對成本很敏感的其他元件要滿足目標應用的性能。本文主要討論在網路和通信中的記憶體應用。  

在網路和通信應用中,需要有大容量的、快速記憶體,任務從查找表到流量修整/監控,再到緩衝器管理。用於消費應用的價格便宜、成熟的快速頁模式(FMP) 和擴展資料輸出(EDO)通常是不適用的,因為這是較慢的非同步方式,需要精確時間的命令信號來實現初始化資料轉移。網路設計師傳統上採用靜態RAM來解決執行時間問題,但這樣會導致較高的成本。透過去除讀和寫周期間的等待狀態和空閒周期,ZBT SRAM被廣泛地使用以改進記憶體頻寬。  

最近,系統設計師正致力於在網路結構中使用SDRAM,以減少執行時間來滿足低成本。每一個任務都伴隨唯一的一組需求。例如,低的和中等頻寬的應用要求低執行時間的記憶體,因此ZBT SRAM是理想的。採用除去讀和寫周期間的等待狀態和空閒周期,ZBT改進了記憶體頻寬。  

圖1列舉了典型的網路結構。在10Gbps,一個讀寫比為1000:1的地址查找表能很容易地處理DDR SRAM。連接列表管理、流量修整、統計收集任務有平衡的1:1讀寫比例,需要較高性能的QDR SRAM。另一方面,較大的緩衝記憶體用DDR SDRAM來實現。取代DRAM,SDRAM同步記憶體訪問的處理器時鐘用於快速資料傳輸。達到快速是因為SDRAM允許記憶體的一個區塊被存取,而另一個區塊正準備被存取。與DRAM不同,SDRAM採用流動電流而不是儲存電荷,除去了連續刷新的需要。  

兩個新的競爭者進入了高精度記憶體舞臺。快速周期隨機存取記憶體(FCRAM)改進了性能,它採用了流水線操作和隱蔽的預充電技術以減少隨機存取周期時間,高度分段的記憶體核減少了功耗。記憶體核分段為較小的陣列,這樣資料可以被很快地存取並改進執行時間。這些特徵使得FCRAM被理想地用作緩衝記憶體,用於交換、路由和網路服務器等的高速網路應用中。減少執行時間的DRAM(RLDRAM)提供SRAM類型的介面以及非多工的定址。RLDRAM II技術提供最小執行時間和減少執行周期時間,這些特徵適用於要求關鍵回應時間和快速隨機存取的應用,例如下一代10Gbps以及更加高速的網路應用。  

記憶體控制器的挑戰  

目前記憶體介面經常要求時鐘速度超過200MHz以滿足線卡和交換卡的吞吐量要求,這是FPGA結構的主要挑戰。PLL是基本的允許控制時鐘資料關係的元件。  

下一代記憶體控制器工作在HSTL或SSTL電壓。低電壓電平的擺動是需要的,以便支援記憶體和記憶體控制器的輸入輸出的高速資料操作。對於高速SRAM記憶體來說,HSTL是實際的I/O標準,而對於高速DDR SRAM記憶體,SSTL是實際的I/O標準。  

高頻寬時,高速差分I/O緩衝器和專用電路的組合能夠進行無縫讀寫操作,傳統上這是高級FPGA的領域。LatticeEC FPGA改變了那個範例,採用低成本FPGA結構為高頻寬記憶體控制器。  

DDR記憶體控制器的支援  

實現高性能的DDR記憶體需要在輸入端的讀操作和輸出端的寫操作有專用的DDR寄存器結構。LatticeEC提供此能力,除了寄存器外,EC元件有兩單元簡化用於讀操作的輸入結構設計。這兩個單元是DQS延時塊和極性控制邏輯。這兩塊對於實現可靠的高速DDR SDRAM控制器是關鍵的。由於DQS邏輯很複雜,用FPGA實現高速記憶體控制器時,設計者會遇到問題。LatticeEC提供設計者這些專用區塊,能緩解這問題。  

DLL校準DQS延時塊  

源同步介面通常會要求調整輸入時鐘,以便用輸入寄存器正確捕獲資料。對大多數介面而言,PLL用於這種調整。  

然而對於DDR記憶體,稱為DQS的時鐘是受約束的,因此這種方法不可行。在DDR記憶體介面,DQS至主時鐘關係會有變化,是因為PCB上走線的長度和使用的記憶體所引起的。  

如圖2所示,Lattice DQS電路包括了一個自動時鐘轉移電路,用以簡化記憶體介面的設計和保證穩健的操作。  

此外,DQS延時塊提供用於DDR記憶體介面所需要的時鐘來對齊。來自PAD的DQS信號通過DQS延時單元的時候,會送入專用的佈線資源。DQS信號也送入極性控制邏輯,用於控制輸入寄存器塊中連至同步寄存器的時鐘極性。  

專用DQS延時區塊的溫度、電壓和製程變化由一組校正信號進行補償,校正信號是6位元寬的匯流排,它們來自元件對面的兩個DLL。每個DLL補償元件一半的DQS延時,如圖3所示。DLL用系統時鐘和專用反饋環來補償。這是一個重要的結構特徵,因為這個元件不會受到其他FPGA嚴格的I/O佈局要求的牽制。  

極性控制邏輯  

對於典型的DDR記憶體設計,延時DQS選通脈衝和內部系統時鐘(在讀周期)之間的相位關係是未知的。LatticeEC元件含有專用電路在這些域間傳遞資料。DQS延時和系統時鐘間的域傳遞使用了一個時鐘極性選擇器。  

這改變了鎖存在輸入寄存器塊中同步寄存器中的資料的邊緣。且需要測定在每個讀周期的起始時刻有正確的時鐘極性。DDR記憶體讀操作前,DQS處於三態,由終端上拉,起始時刻DDR記憶體驅動DQS為低電位。一個專用電路用於檢測這個傳遞,這個信號用來控制至同步寄存器的時鐘極性。  

以低成本設計記憶體介面  

由於線路速率繼續增長,DDR SDRAM在網路應用中正在被廣泛地採用。這些正在增加的系統頻寬要求正在推動記憶體介面速度,而成本仍在壓低。設計穩固的記憶體介面並保持成本,是 LatticeEC FPGA系列的主要目標。EC的專用靈活的DDR能力意味著對於下一代記憶體控制器需求,設計者現在有了節省成本的解決方案。  

(本文作者任職於Lattice半導體公司)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!