由于線路速率繼續(xù)增長,DDR SDRAM在網(wǎng)絡(luò)應(yīng)用中正在被廣泛地采用。不斷增加的系統(tǒng)帶寬要求正在推動存儲器接口速度提高,而成本仍不斷壓低。LatticeEC FPGA系列的專門而靈活的DDR能力使設(shè)計者擁有滿足下一代存儲器控制器需求的低成本解決方案。
存儲器已廣泛地應(yīng)用于當今的電子系統(tǒng)。由于系統(tǒng)帶寬的不斷增加,存儲器技術(shù)針對更高的速度和性能進行了優(yōu)化。結(jié)果,下一代存儲器接口的設(shè)計變得越來越具有挑戰(zhàn)性。在諸如FPGA的可編程器件中實現(xiàn)高速、高效的存儲器接口對于設(shè)計者來說一直是一個主要的挑戰(zhàn)。以往,只有少數(shù)FPGA??持能可靠地與下一代高速器件接口的構(gòu)建模塊,這些FPGA通常是高端的昂貴器件。不過,現(xiàn)在LatticeEC FPGA系列也提供在低成本FPGA結(jié)構(gòu)中實現(xiàn)下一代DDR2、QDR2以及RLDRAM控制器所需的構(gòu)建模塊、高速FPGA結(jié)構(gòu)、時鐘管理資源和I/O結(jié)構(gòu)。
存儲器應(yīng)用
存儲器是各種系統(tǒng)的組成部份之一,不同的應(yīng)用有不同的存儲器要求。對于網(wǎng)絡(luò)基礎(chǔ)設(shè)施應(yīng)用,所需的存儲器通常為高密度、高性能和高帶寬,并具有高可靠性;在無線應(yīng)用中,特別是手機和移動設(shè)備,低功率存儲器是很重要的;而對于基站應(yīng)用,高性能很關(guān)鍵。寬帶應(yīng)用要求存儲器在成本和性能方面有很好的平衡;計算與消費類應(yīng)用則需要諸如DRAM模塊、閃存卡和其它對成本很敏感的存儲器解決方案,同時要滿足這些應(yīng)用的性能目標。本文主要討論在網(wǎng)絡(luò)和通信中的存儲器應(yīng)用。
網(wǎng)絡(luò)和通信應(yīng)用需要大的、快速存儲器,完成從小的地址查找到流量修整/監(jiān)控再到緩沖器管理等各種任務(wù)。用于消費應(yīng)用的價格便宜、成熟的FMP和EDO DRAM通常不適用,因為它采用了較慢的異步方式,且需要時序精確的命令信號來初始化數(shù)據(jù)轉(zhuǎn)移。網(wǎng)絡(luò)系統(tǒng)架構(gòu)師一般轉(zhuǎn)向采用靜態(tài)RAM,解決時延問題,但這導(dǎo)致較高的成本。通過去除讀和寫周期間的等待狀態(tài)和空閑周期,ZBT SRAM被廣泛地用于改進存儲器帶寬。
最近,系統(tǒng)架構(gòu)師在網(wǎng)絡(luò)基礎(chǔ)設(shè)施應(yīng)用中轉(zhuǎn)向使用SDRAM,以便減少時延、滿足低成本要求。上述任務(wù)的每一個都伴隨一組獨特的需求。例如,低的和中等帶寬的應(yīng)用要求低時延的存儲器,因此ZBT SRAM是理想的。
圖1:網(wǎng)絡(luò)中的存儲器。不同的功能需要不同的方法。
表1:為用于高速網(wǎng)絡(luò)應(yīng)用的存儲器綜合比較。
圖1顯示了典型的網(wǎng)絡(luò)架構(gòu)。在10Gbps,一個讀寫比為1000:1的地址查找可很容易地在DDR SRAM中得到處理。連接列表管理、流量修整、統(tǒng)計收集任務(wù)通常具有平衡的1:1讀寫比,需要較高性能的QDR SRAM。另一方面,較大的緩沖存儲器一般在DDR SDRAM中實現(xiàn)。作為DRAM的替代,SDRAM同步存儲器訪問的處理器時鐘用于快速數(shù)據(jù)傳輸。達到快速是因為SDRAM允許存儲器的一個塊被存取,而另一個塊準備被存取。與DRAM不同,SDRAM采用流動電流而不是存儲電荷,除去了連續(xù)刷新的需要。
圖2:LatticeEC FPGA中的專用DQS電路。
兩個新的競爭者進入了高精度存儲器舞臺??焖僦芷陔S機存取存儲器(FCRAM)改進了性能,它采用了流水線操作和隱蔽的預(yù)充電技術(shù)以減少隨機存取周期時間,高度分段的存儲器核減少了功耗。存儲器核分段為較小的陣列,這樣數(shù)據(jù)可以被很快地存取并改進執(zhí)行時間。這些特征使得FCRAM被理想地用作緩沖存儲器,用于諸如交換、路由和網(wǎng)絡(luò)服務(wù)器等的高速網(wǎng)絡(luò)應(yīng)用中。時延減少的DRAM(RLDRAM)提供SRAM類型的接口以及非多路復(fù)用的尋址。RLDRAM II技術(shù)提供最小時延并可減少行周期時間,這些特征很適用于要求關(guān)鍵響應(yīng)時間和快速隨機存取的應(yīng)用,例如下一代10Gbps以及更加高速的網(wǎng)絡(luò)應(yīng)用。
存儲器控制器的挑戰(zhàn)
目前存儲器接口經(jīng)常要求時鐘速度超過200MHz以滿足線卡和交換卡的吞吐量要求,這是FPGA架構(gòu)的主要挑戰(zhàn)。PLL是基本的允許控制時鐘數(shù)據(jù)關(guān)系的部件。
下一代存儲器控制器工作在HSTL或SSTL電壓。低電壓電平的擺動是需要的,以便??持存儲器和存儲器控制器的輸入輸出的高速數(shù)據(jù)操作。對于高速SRAM存儲器來說,HSTL是實際的I/O標準,而對于高速DDR SRAM存儲器,SSTL是實際的I/O標準。
高速差分I/O緩沖器和專用電路的組合能夠在高帶寬下進行無縫讀寫操作,傳統(tǒng)上這屬于高級FPGA的領(lǐng)域。LatticeEC FPGA改變了那個慣例,通過低成本FPGA架構(gòu)實現(xiàn)了高帶寬存儲器控制器。
表1:為用于高速網(wǎng)絡(luò)應(yīng)用的存儲器綜合比較。
DDR存儲器控制器的支持
實現(xiàn)高性能的DDR存儲器需要在輸入端的讀操作和在輸出端的寫操作有專用的DDR寄存器結(jié)構(gòu),LatticeEC提供這個能力。除這些寄存器外,EC器件有兩個單元簡化用于讀操作的輸入結(jié)構(gòu)設(shè)計,這兩個單元是DQS延時塊和極性控制邏輯。這兩個塊對于實現(xiàn)可靠的高速DDR SDRAM控制器十分關(guān)鍵。由于DQS邏輯的復(fù)雜性,用FPGA實現(xiàn)高速存儲器控制器時,設(shè)計者會遇到問題。LatticeEC為設(shè)計者提供這些專用塊,能夠緩解這個問題。
DLL校準DQS延時塊
源同步接口通常要求調(diào)整輸入時鐘,以便用輸入寄存器正確捕獲數(shù)據(jù)。對大多數(shù)接口而言,PLL被用于這種調(diào)整。然而對于DDR存儲器,稱為DQS的時鐘是受約束的,因此這種方法不可行。在DDR存儲器接口,DQS與主時鐘的關(guān)系會有變化,這是由于PCB上走線的長度和使用的存儲器所引起的。
圖3:DLL校準總線和DQS/DQS轉(zhuǎn)移分布。
如圖2所示,Lattice DQS電路包括一個自動時鐘轉(zhuǎn)移電路,用以簡化存儲器接口設(shè)計和保證穩(wěn)健的操作。此外,DQS延時塊還提供用于DDR存儲器接口所需的時鐘對列。來自焊盤的DQS信號通過DQS延時單元送入專用的布線資源。DQS信號也送入極性控制邏輯,用于控制輸入寄存器塊中連至同步寄存器的時鐘極性。
專用DQS延時塊的溫度、電壓和工藝變化由一組校準信號(6位寬的總線)進行補償,它們來自器件兩側(cè)的兩個DLL。每個DLL補償器件一半的DQS延時,如圖3所示。DLL用系統(tǒng)時鐘和專用反饋環(huán)來補償。這是一個重要的結(jié)構(gòu)特征,因為這個器件不會受到通常其它FPGA嚴格的I/O布局要求的牽制。
極性控制邏輯
對于典型的DDR存儲器設(shè)計,延時DQS選通脈沖和內(nèi)部系統(tǒng)時鐘(在讀周期)之間的相位關(guān)系是未知的。Lattice-EC器件含有專用電路在這些域間傳遞數(shù)據(jù)。為了防止建立和保持時間發(fā)生變化,即DQS延時和系統(tǒng)時鐘間的域傳遞,它使用了一個時鐘極性選擇器,這改變了鎖存在輸入寄存器塊中同步寄存器中的數(shù)據(jù)的邊沿。這需要測定在每個讀周期的起始時刻有正確的時鐘極性。DDR存儲器讀操作前, DQS處于三態(tài)(由端接上拉)。起始時刻DDR存儲器驅(qū)動DQS為低電平,一個專用電路用于檢測這個傳遞,這個信號用來控制至同步寄存器的時鐘極性。