新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 利用Xilinx FPGA和存儲(chǔ)器接口生成器簡化存儲(chǔ)器接口

利用Xilinx FPGA和存儲(chǔ)器接口生成器簡化存儲(chǔ)器接口

作者: 時(shí)間:2012-10-09 來源:網(wǎng)絡(luò) 收藏

控制器設(shè)計(jì)和集成

創(chuàng)建存儲(chǔ)器控制器是一項(xiàng)極其復(fù)雜、精細(xì)的任務(wù), 設(shè)計(jì)人員要解決面臨的一道道難題,就需要 隨附的工具提供更新水平的集成支持。

為設(shè)計(jì)的完整性起見,對包括存儲(chǔ)器控制器狀態(tài)機(jī)在內(nèi)的所有構(gòu)建模塊加以集成,十分必要??刂破鳡顟B(tài)機(jī)因存儲(chǔ)器架構(gòu)和系統(tǒng)參數(shù)的不同而異。狀態(tài)機(jī)編碼也可以很復(fù)雜,它是多個(gè)變量的函數(shù),例如:

架構(gòu)(DDR、DDR2、QDR II、RLDRAM 等)

組 (bank) 數(shù)(存儲(chǔ)器器件之外或之內(nèi))

數(shù)據(jù)總線寬度

存儲(chǔ)器器件的寬度和深度

組和行存取算法

最后,數(shù)據(jù)與 DQS 比 (DQ/DQS) 這類參數(shù)會(huì)進(jìn)一步增加設(shè)計(jì)的復(fù)雜性??刂破鳡顟B(tài)機(jī)必須按正確順序發(fā)出命令,同時(shí)還要考慮存儲(chǔ)器器件的時(shí)序要求。

使用 MIG 軟件工具可生成完整的設(shè)計(jì)。該工具作為 CORE Generator 參考設(shè)計(jì)和知識(shí)產(chǎn)權(quán)套件的一部分,可從 免費(fèi)獲取。MIG 設(shè)計(jì)流程(圖9)與傳統(tǒng) 的設(shè)計(jì)流程非常相似。MIG 工具的優(yōu)點(diǎn)是不必再為物理層接口或存儲(chǔ)器控制器從頭生成RTL 代碼。

MIG 圖形用戶界面 (GUI) 可用于設(shè)置系統(tǒng)和存儲(chǔ)器參數(shù)(圖10)。例如,選定 FPGA器件、封裝方式和速度級(jí)別之后,設(shè)計(jì)人員可選擇存儲(chǔ)器架構(gòu),并挑選實(shí)際存儲(chǔ)器器件或 DIMM。同是這一個(gè) GUI,還可用于選擇總線寬度和時(shí)鐘頻率。同時(shí),對于某些FPGA 器件,它還提供擁有多于一個(gè)控制器的選項(xiàng),以適應(yīng)多個(gè)存儲(chǔ)器總線接口的要求。另外一些選項(xiàng)可提供對時(shí)鐘控制方法、CAS 延遲、突發(fā)長度和引腳分配的控制。

用不了一分鐘,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 工具還可生成具有存儲(chǔ)器校驗(yàn)功能的可綜合測試平臺(tái)。該測試平臺(tái)是一個(gè)設(shè)計(jì)示例,用于 基礎(chǔ)設(shè)計(jì)的功能仿真和硬件驗(yàn)證。測試平臺(tái)向存儲(chǔ)控制器發(fā)出一系列寫和讀回命令。它還可以用作模板,來生成自定義的測試平臺(tái)。

設(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ì),它需要解決一系列芯片到芯片的難題,例如對信號(hào)完整性的要求和電路板設(shè)計(jì)方面的挑戰(zhàn)。

信號(hào)完整性的挑戰(zhàn)在于控制串?dāng)_、地彈、振鈴、噪聲容限、阻抗匹配和去耦合,從而確??煽康男盘?hào)有效窗口。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ì)中的信號(hào)完整性得以改善。圖11 所示為 Virtex-5 FPGA 封裝管腳。圓點(diǎn)表示電源和接地引腳,叉號(hào)表示用戶可用的引腳;在這樣的布局中,I/O 信號(hào)由足夠的電源和接地引腳環(huán)繞,能確保有效屏蔽 SSO 噪音。

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



評論


相關(guān)推薦

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

關(guān)閉