《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 如何實(shí)現(xiàn)從FPGA到DDR3 SDRAM存儲(chǔ)器的連接,?

如何實(shí)現(xiàn)從FPGA到DDR3 SDRAM存儲(chǔ)器的連接,?

2012-07-31
關(guān)鍵詞: FPGA DDR3 SDRAM 連接 Stratix III
采用90nm工藝制造的DDR3 SDRAM存儲(chǔ)器架構(gòu)支持總線速率為600 Mbps-1.6 Gbps (300-800 MHz)的高帶寬,工作電壓低至1.5V,因此功耗小,,存儲(chǔ)密度更可高達(dá)2Gbits,。該架構(gòu)無疑速度更快,,容量更大,,單位比特的功耗更低,但問題是如何實(shí)現(xiàn)DDR3 SDRAM DIMM與FPGA的接口呢,?

關(guān)鍵詞——均衡,!

如果沒有將均衡功能直接設(shè)計(jì)到FPGA I/O架構(gòu)中,,那么任何設(shè)備連接到DDR3 SDRAM DIMM都將是復(fù)雜的,而且成本還高,,需要大量的外部元器件,,包括延時(shí)線和相關(guān)的控制。

什么是均衡,?為什么如此重要,?

為 了在支持更高頻率時(shí)提高信號(hào)完整性,JEDEC委員會(huì)定義了一個(gè)fly-by(飛越式)端接方案,,該方案采用了時(shí)鐘和命令/地址總線信號(hào)來改善信號(hào)完整性 以支持更高的性能,。當(dāng)時(shí)鐘和地址/命令通過DIMM時(shí),fly-by拓?fù)浣Y(jié)構(gòu)通過故意引起每個(gè)DRAM上的時(shí)鐘和數(shù)據(jù)/選通之間的飛行時(shí)間偏移(flight-time skew)來減小并發(fā)開關(guān)噪聲(SNN),,如圖1所示,。

飛行時(shí)間偏移可能高達(dá)0.8 tCK,當(dāng)該偏移被擴(kuò)展得足夠?qū)挄r(shí),,將不知道數(shù)據(jù)在兩個(gè)時(shí)鐘周期中的哪個(gè)內(nèi)返回,。因此,均衡功能可以使控制器通過調(diào)節(jié)每個(gè)字節(jié)通道內(nèi)的時(shí)序來補(bǔ)償這一偏移,。最新的FPGA能夠?yàn)楦鞣N應(yīng)用提供與雙倍數(shù)據(jù)率SDRAM存儲(chǔ)器接口的許多功能,。但是,要與最新的DDR3 SDRAM一道使用,,還需要更魯棒的均衡方案,。

FPGA I/O結(jié)構(gòu)

像Altera Stratix III系列高性能FPGA提供的I/O速度高達(dá)400 MHz (800 Mbps),還具有很高的靈活性,,能夠支持現(xiàn)有的和新興的外部存儲(chǔ)器標(biāo)準(zhǔn),如DDR3,。

 

圖1:DDR3 SDRAM DIMM:飛行時(shí)間偏移降低了SSN,,數(shù)據(jù)必須被控制器調(diào)高到兩個(gè)時(shí)鐘周期。
圖1:DDR3 SDRAM DIMM:飛行時(shí)間偏移降低了SSN,,數(shù)據(jù)必須被控制器調(diào)高到兩個(gè)時(shí)鐘周期,。

讀均衡

在 讀取操作中,存儲(chǔ)器控制器必須補(bǔ)償由飛越存儲(chǔ)器拓?fù)湟鸬?、影響讀取周期的延時(shí),。均衡可以被視作為出現(xiàn)在數(shù)據(jù)通道上的比I/O本身延時(shí)還要大的延時(shí)。每個(gè) DQS都要求一個(gè)同步時(shí)鐘位置的獨(dú)立相移(經(jīng)過了工藝,、電壓和溫度(PVT)補(bǔ)償),。圖2顯示出同一讀取命令下從DIMM返回的兩個(gè)DQS組。

 

圖2:I/O單元中的1T,、下降沿和均衡寄存器,。
圖2:I/O單元中的1T,、下降沿和均衡寄存器。

一開始,,每個(gè)分開的DQS被移相90度,,從而捕獲與該組相關(guān)的DQ數(shù)據(jù)。然后用一個(gè)自由運(yùn)行的再同步時(shí)鐘(頻率和相位與DQS相同)將數(shù)據(jù)從捕獲域轉(zhuǎn)移到圖2所示用粉紅色和橙色連線表示的均衡電路中,。在這個(gè)階段,,每個(gè)DQS組都有一個(gè)獨(dú)立的再同步時(shí)鐘。

接 著DQ數(shù)據(jù)被送到1T寄存器,。圖2中給出了一個(gè)1T寄存器實(shí)例,,在上層通道中需要用這個(gè)1T寄存器對(duì)特定DQS組中的DQ數(shù)據(jù)位進(jìn)行延時(shí)。注意在該例中,, 下層通道不需要1T寄存器,。通過該過程開始對(duì)齊上層和下層通道。任何一個(gè)指定的通道是否需要1T寄存器是自動(dòng)確定的,,這是免費(fèi)物理層IP內(nèi)核中校準(zhǔn)方案的 一部分功能,。

隨后兩個(gè)DQS組被傳送到下降沿寄存器。如果需要的話,,還可以在啟動(dòng)時(shí)通過自動(dòng)校準(zhǔn)過程把可選寄存器切換進(jìn)來或切換出去,。最后是將上層和下層通道對(duì)齊到同一再同步時(shí)鐘上,這樣就形成了一個(gè)將完全對(duì)齊的或經(jīng)過均衡的單倍數(shù)據(jù)率(SDR)數(shù)據(jù)傳遞到FPGA結(jié)構(gòu)的源同步接口,。

寫均衡

與讀均衡類似,,不過方向相反,DQS組在不同的時(shí)刻發(fā)出信號(hào),,以便與到達(dá)DIMM上的器件的時(shí)鐘一致,,并且必須滿足tDQSS參數(shù)要求的+/- 0.25 tCK??刂破鞅仨毻ㄟ^創(chuàng)建反饋環(huán)路來調(diào)整DQS與CK的關(guān)系,,在此過程中,控制器會(huì)將數(shù)據(jù)寫入DRAM,,再通過順序相位進(jìn)行掃描讀回,,直到發(fā)現(xiàn)寫入窗的終點(diǎn)。為了更好的建立和保持余量,,數(shù)據(jù)應(yīng)該在好窗口的中間點(diǎn)發(fā)出,。

其他的FPGA I/O功能創(chuàng)新

高性能的Stratix III FPGA還具有許多創(chuàng)新性的其他I/O功能,可以實(shí)現(xiàn)到各種存儲(chǔ)器接口的簡(jiǎn)單且魯棒性連接,,這種功能包括了動(dòng)態(tài)片上端接(OCT),、可變的I/O延時(shí)以及半數(shù)據(jù)率(HDR)等。

動(dòng)態(tài)OCT

并行和串行OCT為讀寫總線提供合適的線路端接和阻抗匹配,,因此FPGA周邊不需要外接電阻,,從而減少了外接元件成本,,節(jié)約了電路板面積,而且降低了布線復(fù)雜度,。另外,,它還大大降低了功耗,因?yàn)椴⒙?lián)端接在寫操作時(shí)可以有效地被旁路掉,。

用于DQ去偏移(deskew)的可變延時(shí)

采 用可變的輸入和輸出延時(shí)來跟蹤長(zhǎng)度失配和電氣去偏移,。精細(xì)的輸入和輸出延時(shí)分辨率(即50皮秒步進(jìn))被用于更精細(xì)的DQS間去偏移(獨(dú)立于均衡功能),這 種偏移是由電路板長(zhǎng)度失配或FPGA和存儲(chǔ)器件上I/O緩存的變化所引起的,,如表1所示,。最終,這增加了每個(gè)DQS組的捕獲余量,。

 

表1:分辨率和絕對(duì)值待定特性,。
表1:分辨率和絕對(duì)值待定特性。

為了將DDR3自動(dòng)去偏移算法成為啟動(dòng)校準(zhǔn)過程的一部分,,需要從運(yùn)行時(shí)的FPGA結(jié)構(gòu)實(shí)現(xiàn)延時(shí)單元,。也可以利用輸出延時(shí)在輸出通道中插入少量偏移來有意地減少同時(shí)開關(guān)的I/O數(shù)量。

可靠的捕獲

DQS信號(hào)用作輸入選通信號(hào),,它必須移位到一個(gè)最佳位置才能捕獲讀取事務(wù),。移相電路可以將輸入的DQS信號(hào)移相0°, 22.5°, 30°, 36°, 45°, 60°, 67.5°, 72°, 90°, 108°, 120°, 135°, 144°或 180°,具體取決于DLL的頻率模式。移相后的DQS信號(hào)隨后被用作I/O單元各個(gè)輸入寄存器的時(shí)鐘,。

延 時(shí)鎖定環(huán)路(DLL)在整個(gè)PVT范圍內(nèi)將相位保持在一個(gè)固定位置,。DLL模塊的相位比較器用于將兩個(gè)輸入之間的相位差保持在零。實(shí)現(xiàn)的方法是均勻地修正 DLL模塊中的特定延時(shí)(10-16),。用于更新DLL中某個(gè)延時(shí)模塊的控制信號(hào)還被發(fā)送到DQS輸入路徑中的時(shí)延模塊,。例如,可以利用DLL中的全部 16個(gè)延時(shí)單元和DQS相移輸入路徑中的第4個(gè)延時(shí)抽頭來實(shí)現(xiàn)90°的相移:

或者選擇DLL中的10個(gè)延時(shí)單元和DQS相移輸入路徑中的抽頭4來實(shí)現(xiàn)36°的相移:

或120°:

該DLL采用頻率基準(zhǔn)為每個(gè)DQS引腳中的延時(shí)鏈動(dòng)態(tài)產(chǎn)生控制信號(hào),,并允許它補(bǔ)償PVT的變化,。在Stratix III FPGA中有4個(gè)DLL,它們都位于器件的邊角,,目的是使每個(gè)DLL能夠覆蓋器件的兩側(cè),從而可以在器件的各個(gè)邊上支持多種DDR3 SDRAM存儲(chǔ)器接口,。

跨越高速數(shù)據(jù)率域和設(shè)計(jì)簡(jiǎn)化

DDR捕獲寄存器和HDR寄存器支持 數(shù)據(jù)從雙倍數(shù)據(jù)率域(數(shù)據(jù)在時(shí)鐘的兩個(gè)邊沿)安全傳送到SDR域(數(shù)據(jù)位于頻率相同的時(shí)鐘的上升沿,,但數(shù)據(jù)寬度加倍),再到HDR域(數(shù)據(jù)位于時(shí)鐘的上升 沿,,數(shù)據(jù)寬度仍是加倍,,但時(shí)鐘頻率僅是SDR域的一半),這樣使得內(nèi)部設(shè)計(jì)時(shí)序更容易實(shí)現(xiàn),。

裸片,、封裝和數(shù)字信號(hào)完整性改進(jìn)

FPGA 裸片和封裝的設(shè)計(jì)必須為高性能的存儲(chǔ)器接口提供更好的信號(hào)完整性(即用戶I/O與地和電源的比例為8:1:1,,并具有最佳的信號(hào)返回路徑,如圖3所示),。 此外,,F(xiàn)PGA應(yīng)該提供動(dòng)態(tài)OCT和可變的偏移率,以便能夠控制信號(hào)的上升和下降時(shí)間以及可編程驅(qū)動(dòng)能力,,從而滿足所用標(biāo)準(zhǔn)(即SSTL 1.5 Class II)的要求,。

 

圖3:連接到每個(gè)電源和地的8個(gè)用戶I/O。
圖3:連接到每個(gè)電源和地的8個(gè)用戶I/O,。

本文小結(jié)

高性能Stratix III FPGA可以通過提供高存儲(chǔ)器帶寬,、改進(jìn)的時(shí)序余量以及系統(tǒng)設(shè)計(jì)中的靈活性來彌補(bǔ)高性能DDR3 SDRAM DIMM的不足。由于DDR3在實(shí)際使用中將很快超過DDR2,,故提供更低成本,、更高性能、更高密度和優(yōu)異的信號(hào)完整性的高端FPGA必須提供與JEDEC兼容的讀寫均衡功能,,以便與高性能的DDR3 SDRAM DIMM相接,。FPGA與DDR3 SDRAM的有機(jī)整合將能夠滿足目前和下一代通信、網(wǎng)絡(luò)以及數(shù)字信號(hào)處理系統(tǒng)的要求,。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]