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