FPGA與DDR3 SDRAM的接口設(shè)計
DDR3 SDRAM內(nèi)存的總線速率達到600 Mbps to 1.6 Gbps (300 to 800 MHz),1.5V的低功耗工作電壓,采用90nm制程達到2Gbits的高密度。這個架構(gòu)毫無疑問更快、更大,每比特的功耗也更低,但是如何實現(xiàn)FPGA和DDR3 SDRAM DIMM條的接口設(shè)計呢?
本文引用地址:http://www.ex-cimer.com/article/201610/308601.htm關(guān)鍵字:均衡(leveling)
如果FPGA I/O結(jié)構(gòu)中沒有包含均衡功能,那么它與DDR3的連接將會很復(fù)雜,需要有很多外圍器件包括延遲線及相關(guān)控制。
均衡的定義和重要性
為了提高高速電路的信號完整性,JEDEC通過時鐘和命令/地址線定義了fly-by端接方案,它通過在時鐘和數(shù)據(jù)間人為的加入走線擺率(flight-time skew)來降低共同切換噪聲(SSN)。
走線擺率可以達到0.8tCK,這個寬度導(dǎo)致無法確定在哪兩個時鐘周期獲取數(shù)據(jù),因此,JEDEC為DDR3定義了校準(zhǔn)功能,它可以使控制器通過調(diào)整每byte的時序來補償走線擺率。
目前的FPGA在連接雙倍速SDRAM內(nèi)存時都有很多功能,但是如何與最新的DDR3連接還需要一個新的調(diào)整方案。
FPGA I/O結(jié)構(gòu)
高性能的Altera Stratix III 系列FPGA的I/O速率最高可以達到400MHz(800Mbps)。
讀均衡
讀操作時內(nèi)存控制器必須補償fly-by內(nèi)存拓?fù)渌鸬难訒r,此時不僅僅要考慮數(shù)據(jù)通路上的I/O延時,還需要1T(用來保存一個完整雙數(shù)據(jù)周期數(shù)據(jù)的寄存器)和負(fù)沿寄存器來對準(zhǔn)和調(diào)整所有的數(shù)據(jù)。每一個DQS需要獨立去調(diào)整resync時鐘的相移。
最初,每一個獨立的DQS看上去相移90°并捕獲到相應(yīng)的DQ數(shù)據(jù);接下來,一個自由振蕩resync時鐘將數(shù)據(jù)將數(shù)據(jù)從捕獲區(qū)轉(zhuǎn)移到均衡電路,此時每一個DQS組有獨立的Resynd時鐘。
然后,DQ數(shù)據(jù)進入1T寄存器。此時1T寄存器就可以對特定DQS組的DQ數(shù)據(jù)按照需要進行延時處理,對于給定通道是否進行處理可以由PHY IP核中的均衡方案自動確定。
最后,所有DQS組進入負(fù)沿寄存器。同樣的,由自動均衡方案可確定有哪些寄存器參與工作。至此,可以把上下兩個通道的數(shù)據(jù)同步在同一個resync時鐘上,實現(xiàn)了一個源同步的接口,F(xiàn)PGA可以得到一個完全對齊或均衡的單速率數(shù)據(jù)。
寫均衡
寫均衡和讀過程方向相反,過程類似。DQS組為了統(tǒng)一時鐘在不同時刻啟動工作,它們必須滿足tDQSS參數(shù)±0.25 tCK。控制器通過建立反饋回路來調(diào)整DQS-to-CK的關(guān)系,數(shù)據(jù)捕獲點為了最佳建立和保持時間就在寫周期的中間位置。
FPGA I/O的其它創(chuàng)新點
高端FPGA在I/O特性上還有許多創(chuàng)新點可以用來簡化和增強內(nèi)存接口設(shè)計,比如動態(tài)片內(nèi)端接(OCT),可變I/O延時以及半數(shù)據(jù)率功能。
FPFA 晶圓和封裝的設(shè)計必須考慮到在高速內(nèi)存接口設(shè)計時所需的信號完整性。另外,F(xiàn)PGA除了具有可編程的驅(qū)動能力來匹配不同的標(biāo)準(zhǔn)外,還應(yīng)該能夠提供動態(tài)的OCT和可變擺率,以此來管理信號的上升和下降時間。
結(jié)論
DDR3在未來即將超越DDR2的使用,高端FPGA提供的低成本、高效能、高密度和良好的信號完整性方案必須滿足JEDEC讀寫均衡要求。
評論