基于Stratix III的DDR3 SDRAM控制器設(shè)計
3.1 ALTMEMPHY設(shè)計
ALTMEMPHY是可配置參數(shù)的宏功能,用戶可根據(jù)設(shè)計需要配置相應(yīng)參數(shù)[3]。ALTMEMPHY主要 包括時鐘與復(fù)位管理、地址與指令通路、讀數(shù)據(jù)通路、寫數(shù)據(jù)通路、自校準等組成模塊。
時鐘與復(fù)位管理模塊主要負責時鐘信號的產(chǎn)生與移相,以及時鐘網(wǎng)絡(luò)類型的控制;地址與 指令通路負責接收控制器輸出的地址和指令信號,并將其從半速率時鐘轉(zhuǎn)換為全速率時鐘;讀 數(shù)據(jù)通路是采集從存儲器讀出的數(shù)據(jù),并將其再同步到系統(tǒng)時鐘域;寫數(shù)據(jù)通路將控制器輸出 的半速率數(shù)據(jù)轉(zhuǎn)換為雙倍速率(DDR)信號,以寫入DDR3器件;自校準模塊用于系統(tǒng)上電時自動 校準DDR3器件的過程變量,以獲得最大的時序余量,消除來自讀數(shù)據(jù)通路的不確定因素,提高 系統(tǒng)高頻工作下的穩(wěn)定性。圖3所為Stratix III器件中讀數(shù)據(jù)通路的結(jié)構(gòu)框圖,由圖中可以看 出DDR與HDR轉(zhuǎn)換的過程中數(shù)據(jù)總線寬度及時鐘頻率的變化。
用戶自定義控制器部分主要由以下模塊組成:主控模塊、地址與指令譯碼、數(shù)據(jù)緩沖、時 鐘同步、初始化與刷新請求等[4]。 主控模塊主要由有限狀態(tài)機實現(xiàn),完成系統(tǒng)從上電開始所有狀態(tài)間的轉(zhuǎn)換、任務(wù)調(diào)度、總 線仲裁、時序同步等,并對其他模塊產(chǎn)生相應(yīng)的控制信號,協(xié)調(diào)各模塊工作;地址與指令譯碼 模塊在主控模塊的控制下,完成對系統(tǒng)各種訪問指令和訪問地址的解碼與匹配;數(shù)據(jù)緩沖負責 在與ALTMEMPHY進行數(shù)據(jù)傳輸過程中對數(shù)據(jù)進行FIFO緩沖和同步;時鐘同步模塊采用了PLL鎖相 環(huán)電路設(shè)計,為ALTMEMPHY提供參考時鐘,同時接收ALTMEMPHY輸出的同步時鐘phy_clk作為系統(tǒng) 時鐘,完成各模塊之間的同步;初始化與刷新請求模塊完成SDRAM器件的初始化及自刷新操作。
3.3 設(shè)計注意事項
本系統(tǒng)工作頻率高,任何微小的時序錯誤都可能導致系統(tǒng)不能正確工作。雖然ALTMEMPHY 結(jié)構(gòu)可以在一定程度上減小時序錯誤,但在設(shè)計過程中仍要做好代碼的優(yōu)化,盡量采用同步電 路設(shè)計方法,消除競爭冒險現(xiàn)象,保證數(shù)據(jù)接口的同步等。
另外,在設(shè)計中要遵照Altera提供的設(shè)計規(guī)范進行設(shè)計,如時鐘信號要從片上PLL專用的全 局時鐘引腳輸入以減小時鐘傾斜;各種時鐘分別配置于各自獨立的時鐘局域網(wǎng)絡(luò)內(nèi)以避免相位 攪動;對周期、建立、保持時間等關(guān)鍵參數(shù)添加相應(yīng)的約束等等,以提高設(shè)計的工作頻率,增 強系統(tǒng)的穩(wěn)定性。
設(shè)計采用的FPGA為Stratix III系列中的EP3SL150F1152-C2。Stratix III是Altera公司剛剛面市高端FPGA系列,也是目前少數(shù)支持DDR3接口的FPGA之一。Stratix III系列提供讀寫均衡、 DQ去斜移I/O延時、動態(tài)片內(nèi)匹配等功能,并且使用可配置鎖相環(huán)(PLL)來補償電壓和溫度變化, 以充分發(fā)揮DDR3存儲器的優(yōu)勢。Stratix III器件支持最大時鐘速率400 MHz、最大數(shù)據(jù)速率800 Mbps的DDR3[5]。軟件設(shè)計在Altera公司的Quartus II 7.2平臺上,運用自頂向下的設(shè)計思想, 采用VHDL語言加電路圖混合設(shè)計的方法完成。測試讀寫仿真時序如圖4所示。
本設(shè)計采用Samsung公司的1Gb容量DDR3 SDRAM芯片K4B1G0846C-ZCF7予以實現(xiàn)。該芯片組織 結(jié)構(gòu)為16Mbit x 8 I/Os x 8banks,速率為800Mbps。通過仿真和工作實測,系統(tǒng)穩(wěn)定工作頻率 達到400MHz,8位數(shù)據(jù)總線帶寬最大傳輸率達到800MB/s[6]。 從設(shè)計的仿真及實現(xiàn)結(jié)果可以看出,這種結(jié)構(gòu)的控制器具有很高的傳輸速度和穩(wěn)定的性能 表現(xiàn),可以作為下一代存儲設(shè)備廣泛運用于各種高速高性能系統(tǒng)設(shè)計中。同時,該設(shè)計為相關(guān) 控制器的開發(fā)和研制提供了實例,具有良好的參考和應(yīng)用價值。
本文作者創(chuàng)新點:提出了一種基于Stratix III的DDR3 SDRAM控制器的設(shè)計方法,采用 ALTMEMPHY宏功能結(jié)合自定義控制器的結(jié)構(gòu),即保證了系統(tǒng)在高速運行時的穩(wěn)定性,又可以根據(jù) 用戶需要靈活改變參數(shù)設(shè)置,可廣泛應(yīng)用于各種相關(guān)高速數(shù)字系統(tǒng)。
評論