基于Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設(shè)計(jì)
用不了一分鐘,MIG 工具即可生成 RTL 和 UCF 文件,前者是 HDL 代碼文件,后者是約束文件。這些文件是用一個(gè)經(jīng)過硬件驗(yàn)證的參考設(shè)計(jì)庫生成的,并根據(jù)用戶輸入進(jìn)行了修改。
設(shè)計(jì)人員享有完全的靈活性,可進(jìn)一步修改 RTL 代碼。與提供“黑匣子”實(shí)現(xiàn)方法的其他解決方案不同,此設(shè)計(jì)中的代碼未加密,設(shè)計(jì)人員完全可以對設(shè)計(jì)進(jìn)行任意修改和進(jìn)一步定制。輸出文件按模塊分類,這些模塊被應(yīng)用于此設(shè)計(jì)的不同構(gòu)建模塊:用戶界面、物理層、控制器狀態(tài)機(jī)等等。因此,設(shè)計(jì)人員可選擇對控制組存取算法的狀態(tài)機(jī)進(jìn)行自定義。由 MIG 工具生成的 Virtex-4 和 Virtex-5 DDR2 的組存取算法彼此不同。Virtex-5 設(shè)計(jì)采用一種最近最少使用 (LRU) 算法,使多達(dá)四組中的一行總是打開,以縮減因打開/ 關(guān)閉行而造成的開銷。如果需要在一個(gè)新組中打開一行,控制器會(huì)關(guān)閉最近最少使用組中的行,并在新組中打開一行。而在 Virtex-4 控制器實(shí)現(xiàn)中,任何時(shí)候只有單個(gè)組有一個(gè)打開的行。每個(gè)應(yīng)用都可能需要有自己的存取算法來最大化吞吐量,設(shè)計(jì)人員可通過改變 RTL 代碼來修改算法,以更加適合其應(yīng)用的訪問模式。
修改可選代碼之后,設(shè)計(jì)人員可再次進(jìn)行仿真,以驗(yàn)證整體設(shè)計(jì)的功能。MIG 工具還可生成具有存儲器校驗(yàn)功能的可綜合測試平臺。該測試平臺是一個(gè)設(shè)計(jì)示例,用于Xilinx 基礎(chǔ)設(shè)計(jì)的功能仿真和硬件驗(yàn)證。測試平臺向存儲控制器發(fā)出一系列寫和讀回命令。它還可以用作模板,來生成自定義的測試平臺。
設(shè)計(jì)的最后階段是把 MIG 文件導(dǎo)入 ISE 項(xiàng)目,將它們與其余 FPGA 設(shè)計(jì)文件合并,然后進(jìn)行綜合、布局和布線,必要時(shí)還運(yùn)行其他時(shí)序仿真,并最終進(jìn)行硬件驗(yàn)證。MIG軟件工具還會(huì)生成一個(gè)批處理文件,包括相應(yīng)的綜合、映射以及布局和布線選項(xiàng),以幫助優(yōu)化生成最終的 bit 文件。
高性能系統(tǒng)設(shè)計(jì)
實(shí)現(xiàn)高性能存儲器接口遠(yuǎn)遠(yuǎn)不止實(shí)現(xiàn) FPGA 片上設(shè)計(jì),它需要解決一系列芯片到芯片的難題,例如對信號完整性的要求和電路板設(shè)計(jì)方面的挑戰(zhàn)。
信號完整性的挑戰(zhàn)在于控制串?dāng)_、地彈、振鈴、噪聲容限、阻抗匹配和去耦合,從而確??煽康男盘栍行Т翱?。Virtex-4 和 Virtex-5 FPGA 所采用的列式架構(gòu)能使 I/O、時(shí)鐘、電源和接地引腳部署在芯片的任何位置,而不光是沿著外圍排列。此架構(gòu)緩解了與 I/O 和陣列依賴性、電源和接地分布、硬 IP 擴(kuò)展有關(guān)的問題。此外,Virtex-4 和Virtex-5 FPGA 中所使用的稀疏鋸齒形封裝技術(shù)能對整個(gè)封裝中的電源和接地引腳進(jìn)行均勻分配。這些封裝提供了更好的抗串?dāng)_能力,使高性能設(shè)計(jì)中的信號完整性得以改善。圖11 所示為 Virtex-5 FPGA 封裝管腳。圓點(diǎn)表示電源和接地引腳,叉號表示用戶可用的引腳;在這樣的布局中,I/O 信號由足夠的電源和接地引腳環(huán)繞,能確保有效屏蔽 SSO 噪音。
對于高性能存儲器系統(tǒng)來說,增加數(shù)據(jù)速率并不總能滿足需求;要達(dá)到希望的帶寬,就需要有更寬的數(shù)據(jù)總線。今天,144 或 288 位的接口已經(jīng)隨處可見。多位同時(shí)切換可導(dǎo)致信號完整性問題。對 SSO 的限制由器件供應(yīng)商標(biāo)明,它代表器件中用戶可為每組同時(shí)使用的信號引腳的數(shù)量。憑借稀疏鋸齒形封裝技術(shù)良好的 SSO 噪音屏蔽優(yōu)勢和同質(zhì)的 I/O 結(jié)構(gòu),寬數(shù)據(jù)總線接口完全可能實(shí)現(xiàn)。
表1 列出了 Virtex-5 LX 器件和滿足 600 Mb/s 數(shù)據(jù)速率下的 SSO 需求的最大數(shù)據(jù)總線寬度。
設(shè)計(jì)大容量或密集型存儲器系統(tǒng)的另一個(gè)挑戰(zhàn)是容量負(fù)載。高性能存儲器系統(tǒng)可能需要由地址和命令信號共用的一條總線驅(qū)動(dòng)的多存儲器器件。大容量無緩沖 DIMM 接口就是一個(gè)例子。如果每個(gè)單列 DIMM 擁有 18 個(gè)組件,那么包含兩個(gè) 72 位無緩沖DIMM 的接口可以在地址和命令總線上擁有多達(dá) 36 個(gè)接收器。由 JEDEC 標(biāo)準(zhǔn)推薦,并在通用系統(tǒng)中常見的最大負(fù)載是兩個(gè)無緩沖 DIMM。總線上所產(chǎn)生的容量負(fù)載會(huì)極其龐大,導(dǎo)致信號邊沿上升和下降需要多于一個(gè)時(shí)鐘周期,從而使存儲器器件的建立和保持出錯(cuò)。圖12 所示為 IBIS 仿真所提供的眼圖,使用的是不同配置:一個(gè)寄存DIMM、一個(gè)無緩沖 DIMM 和兩個(gè)單列無緩沖 DIMM。容量負(fù)載的范圍從使用寄存DIMM 時(shí)的 2 個(gè)接收器到使用無緩沖 DIMM 時(shí)的 36 個(gè)接收器不等。
這些眼圖清楚地顯示了地址總線的容量負(fù)載效果;寄存 DIMM 提供地址和命令總線上一個(gè)打得很開的有效窗口。一個(gè) DIMM 的眼張開度在 267 MHz 下仍然不錯(cuò)。然而,當(dāng)負(fù)載為 32 時(shí),地址和命令信號有效窗口便大為縮小,而傳統(tǒng)的實(shí)現(xiàn)方法已不足以可靠地與兩個(gè)無緩沖 DIMM 接口。
這個(gè)簡單的測試示例說明負(fù)載會(huì)導(dǎo)致邊沿明顯變慢的同時(shí),眼圖在更高的頻率下閉上。對于總線負(fù)載不可減少的系統(tǒng),降低操作的時(shí)鐘頻率不失為使信號完整性維持在可接受水平上的一種方法。然而,還有其他方法可以在不降低時(shí)鐘頻率的情況下解決容量負(fù)載問題:在可以往接口添加一個(gè)時(shí)鐘周期的延遲的應(yīng)用中,使用寄存 DIMM 可以是不錯(cuò)的選擇。這些 DIMM 使用一個(gè)寄存器來緩沖地址和命令一類信號,從而降低容量負(fù)載。使用基于在地址和命令信號上采用兩個(gè)時(shí)鐘周期(稱為 2T 時(shí)序)的設(shè)計(jì)技術(shù),地址和命令信號可以用系統(tǒng)時(shí)鐘頻率的一半發(fā)送??刂坪么鎯ζ飨到y(tǒng)的成本和達(dá)到要求的性能一樣,也是一個(gè)很大的挑戰(zhàn)。降低電路板設(shè)計(jì)的復(fù)雜性并減少材料費(fèi)用的一個(gè)方法是使用片上終端而不是電路板上的電阻器。Virtex-4 和 Virtex-5 系列 FPGA 提供一種稱為“數(shù)控阻抗 (DCI)”的功能,在設(shè)計(jì)中實(shí)現(xiàn)該功能可減少電路板上的電阻器數(shù)量。MIG 工具有一個(gè)內(nèi)置選項(xiàng),允許設(shè)計(jì)人員在實(shí)現(xiàn)存儲器接口設(shè)計(jì)時(shí)包含針對地址、控制或數(shù)據(jù)總線的上述功能。此時(shí)要考慮的一個(gè)權(quán)衡因素是當(dāng)終端在片上實(shí)現(xiàn)時(shí),片上與片外功耗孰優(yōu)孰劣。
存儲器接口的開發(fā)板
對參考設(shè)計(jì)進(jìn)行硬件驗(yàn)證是確保解決方案嚴(yán)密可靠的重要最終步驟。Xilinx 已經(jīng)驗(yàn)證了Spartan-3 系列、Virtex-4 和 Virtex-5 FPGA 的存儲器接口設(shè)計(jì)。表2 所示為對于每一個(gè)開發(fā)板,所支持的存儲器接口。
開發(fā)電路板的范圍涵蓋從低成本 Spartan-3 系列 FPGA 實(shí)現(xiàn)到 Virtex-4 和 Virtex-5FPGA 系列器件所提供的高性能解決方案。
結(jié)論
有了合適的 FPGA、軟件工具和開發(fā)電路板這樣的利器,使用 667 Mb/s DDR2SDRAM 進(jìn)行存儲器接口控制器設(shè)計(jì)便成為一個(gè)既快速又流暢的過程,無論是低成本應(yīng)用還是高性能設(shè)計(jì),都可以得心應(yīng)手地完成。
評論