新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設(shè)計

基于Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設(shè)計

作者: 時間:2010-08-27 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/151612.htm

  用不了一分鐘,MIG 工具即可生成 RTL 和 UCF 文件,前者是 HDL 代碼文件,后者是約束文件。這些文件是用一個經(jīng)過硬件驗證的參考庫生成的,并根據(jù)用戶輸入進(jìn)行了修改。

  人員享有完全的靈活性,可進(jìn)一步修改 RTL 代碼。與提供“黑匣子”實現(xiàn)方法的其他解決方案不同,此中的代碼未加密,設(shè)計人員完全可以對設(shè)計進(jìn)行任意修改和進(jìn)一步定制。輸出文件按模塊分類,這些模塊被應(yīng)用于此設(shè)計的不同構(gòu)建模塊:用戶界面、物理層、狀態(tài)機等等。因此,設(shè)計人員可選擇對控制組存取算法的狀態(tài)機進(jìn)行自定義。由 MIG 工具生成的 Virtex-4 和 Virtex-5 的組存取算法彼此不同。Virtex-5 設(shè)計采用一種最近最少使用 (LRU) 算法,使多達(dá)四組中的一行總是打開,以縮減因打開/ 關(guān)閉行而造成的開銷。如果需要在一個新組中打開一行,會關(guān)閉最近最少使用組中的行,并在新組中打開一行。而在 Virtex-4 實現(xiàn)中,任何時候只有單個組有一個打開的行。每個應(yīng)用都可能需要有自己的存取算法來最大化吞吐量,設(shè)計人員可通過改變 RTL 代碼來修改算法,以更加適合其應(yīng)用的訪問模式。

  修改可選代碼之后,設(shè)計人員可再次進(jìn)行仿真,以驗證整體設(shè)計的功能。MIG 工具還可生成具有校驗功能的可綜合測試平臺。該測試平臺是一個設(shè)計示例,用于 基礎(chǔ)設(shè)計的功能仿真和硬件驗證。測試平臺向存儲控制器發(fā)出一系列寫和讀回命令。它還可以用作模板,來生成自定義的測試平臺。

  設(shè)計的最后階段是把 MIG 文件導(dǎo)入 ISE 項目,將它們與其余 設(shè)計文件合并,然后進(jìn)行綜合、布局和布線,必要時還運行其他時序仿真,并最終進(jìn)行硬件驗證。MIG軟件工具還會生成一個批處理文件,包括相應(yīng)的綜合、映射以及布局和布線選項,以幫助優(yōu)化生成最終的 bit 文件。

  高性能系統(tǒng)設(shè)計

  實現(xiàn)高性能遠(yuǎn)遠(yuǎn)不止實現(xiàn) 片上設(shè)計,它需要解決一系列芯片到芯片的難題,例如對信號完整性的要求和電路板設(shè)計方面的挑戰(zhàn)。

  信號完整性的挑戰(zhàn)在于控制串?dāng)_、地彈、振鈴、噪聲容限、阻抗匹配和去耦合,從而確??煽康男盘栍行Т翱凇irtex-4 和 Virtex-5 所采用的列式架構(gòu)能使 I/O、時鐘、電源和接地引腳部署在芯片的任何位置,而不光是沿著外圍排列。此架構(gòu)緩解了與 I/O 和陣列依賴性、電源和接地分布、硬 IP 擴展有關(guān)的問題。此外,Virtex-4 和Virtex-5 FPGA 中所使用的稀疏鋸齒形封裝技術(shù)能對整個封裝中的電源和接地引腳進(jìn)行均勻分配。這些封裝提供了更好的抗串?dāng)_能力,使高性能設(shè)計中的信號完整性得以改善。圖11 所示為 Virtex-5 FPGA 封裝管腳。圓點表示電源和接地引腳,叉號表示用戶可用的引腳;在這樣的布局中,I/O 信號由足夠的電源和接地引腳環(huán)繞,能確保有效屏蔽 SSO 噪音。

  

  對于高性能系統(tǒng)來說,增加數(shù)據(jù)速率并不總能滿足需求;要達(dá)到希望的帶寬,就需要有更寬的數(shù)據(jù)總線。今天,144 或 288 位的已經(jīng)隨處可見。多位同時切換可導(dǎo)致信號完整性問題。對 SSO 的限制由器件供應(yīng)商標(biāo)明,它代表器件中用戶可為每組同時使用的信號引腳的數(shù)量。憑借稀疏鋸齒形封裝技術(shù)良好的 SSO 噪音屏蔽優(yōu)勢和同質(zhì)的 I/O 結(jié)構(gòu),寬數(shù)據(jù)總線完全可能實現(xiàn)。

  表1 列出了 Virtex-5 LX 器件和滿足 600 Mb/s 數(shù)據(jù)速率下的 SSO 需求的最大數(shù)據(jù)總線寬度。

  

  設(shè)計大容量或密集型存儲器系統(tǒng)的另一個挑戰(zhàn)是容量負(fù)載。高性能存儲器系統(tǒng)可能需要由地址和命令信號共用的一條總線驅(qū)動的多存儲器器件。大容量無緩沖 DIMM 接口就是一個例子。如果每個單列 DIMM 擁有 18 個組件,那么包含兩個 72 位無緩沖DIMM 的接口可以在地址和命令總線上擁有多達(dá) 36 個接收器。由 JEDEC 標(biāo)準(zhǔn)推薦,并在通用系統(tǒng)中常見的最大負(fù)載是兩個無緩沖 DIMM。總線上所產(chǎn)生的容量負(fù)載會極其龐大,導(dǎo)致信號邊沿上升和下降需要多于一個時鐘周期,從而使存儲器器件的建立和保持出錯。圖12 所示為 IBIS 仿真所提供的眼圖,使用的是不同配置:一個寄存DIMM、一個無緩沖 DIMM 和兩個單列無緩沖 DIMM。容量負(fù)載的范圍從使用寄存DIMM 時的 2 個接收器到使用無緩沖 DIMM 時的 36 個接收器不等。

  

  這些眼圖清楚地顯示了地址總線的容量負(fù)載效果;寄存 DIMM 提供地址和命令總線上一個打得很開的有效窗口。一個 DIMM 的眼張開度在 267 MHz 下仍然不錯。然而,當(dāng)負(fù)載為 32 時,地址和命令信號有效窗口便大為縮小,而傳統(tǒng)的實現(xiàn)方法已不足以可靠地與兩個無緩沖 DIMM 接口。

  這個簡單的測試示例說明負(fù)載會導(dǎo)致邊沿明顯變慢的同時,眼圖在更高的頻率下閉上。對于總線負(fù)載不可減少的系統(tǒng),降低操作的時鐘頻率不失為使信號完整性維持在可接受水平上的一種方法。然而,還有其他方法可以在不降低時鐘頻率的情況下解決容量負(fù)載問題:在可以往接口添加一個時鐘周期的延遲的應(yīng)用中,使用寄存 DIMM 可以是不錯的選擇。這些 DIMM 使用一個寄存器來緩沖地址和命令一類信號,從而降低容量負(fù)載。使用在地址和命令信號上采用兩個時鐘周期(稱為 2T 時序)的設(shè)計技術(shù),地址和命令信號可以用系統(tǒng)時鐘頻率的一半發(fā)送。控制好存儲器系統(tǒng)的成本和達(dá)到要求的性能一樣,也是一個很大的挑戰(zhàn)。降低電路板設(shè)計的復(fù)雜性并減少材料費用的一個方法是使用片上終端而不是電路板上的電阻器。Virtex-4 和 Virtex-5 系列 FPGA 提供一種稱為“數(shù)控阻抗 (DCI)”的功能,在設(shè)計中實現(xiàn)該功能可減少電路板上的電阻器數(shù)量。MIG 工具有一個內(nèi)置選項,允許設(shè)計人員在實現(xiàn)存儲器接口設(shè)計時包含針對地址、控制或數(shù)據(jù)總線的上述功能。此時要考慮的一個權(quán)衡因素是當(dāng)終端在片上實現(xiàn)時,片上與片外功耗孰優(yōu)孰劣。

  存儲器接口的開發(fā)板

  對參考設(shè)計進(jìn)行硬件驗證是確保解決方案嚴(yán)密可靠的重要最終步驟。 已經(jīng)驗證了Spartan-3 系列、Virtex-4 和 Virtex-5 FPGA 的存儲器接口設(shè)計。表2 所示為對于每一個開發(fā)板,所支持的存儲器接口。

  

  開發(fā)電路板的范圍涵蓋從低成本 Spartan-3 系列 FPGA 實現(xiàn)到 Virtex-4 和 Virtex-5FPGA 系列器件所提供的高性能解決方案。

  結(jié)論

  有了合適的 FPGA、軟件工具和開發(fā)電路板這樣的利器,使用 667 Mb/s 進(jìn)行存儲器接口控制器設(shè)計便成為一個既快速又流暢的過程,無論是低成本應(yīng)用還是高性能設(shè)計,都可以得心應(yīng)手地完成。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉