利用Xilinx FPGA和存儲器接口生成器簡(jiǎn)化存儲器接口

發(fā)布時(shí)間:2010-8-18 00:02    發(fā)布者:conniede
FPGA 設計人員在滿(mǎn)足關(guān)鍵時(shí)序余量的同時(shí)力爭實(shí)現更高性能,在這種情況下,存儲器接口的設計是一個(gè)一向構成艱難而耗時(shí)的挑戰。Xilinx FPGA 提供 I/O 模塊和邏輯資源,從而使接口設計變得更簡(jiǎn)單、更可靠。盡管如此,I/O 模塊以及額外的邏輯還是需要由設計人員在源 RTL 代碼中配置、驗證、執行,并正確連接到其余的 FPGA 上,經(jīng)過(guò)仔細仿真,然后在硬件中驗證,以確保存儲器接口系統的可靠性。

本白皮書(shū)討論各種存儲器接口控制器設計所面臨的挑戰和 Xilinx 的解決方案,同時(shí)也說(shuō)明如何使用 Xilinx軟件工具和經(jīng)過(guò)硬件驗證的參考設計來(lái)為您自己的應用(從低成本的 DDR SDRAM 應用到像 667 Mb/sDDR2 SDRAM 這樣的更高性能接口)設計完整的存
儲器接口解決方案。

存儲器接口趨勢和 Xilinx 解決方案

20 世紀 90 年代后期,存儲器接口從單倍數據速率 (SDR) SDRAM 發(fā)展到了雙倍數據速率 (DDR) SDRAM,而今天的 DDR2 SDRAM 運行速率已經(jīng)達到每引腳 667 Mb/s或更高。當今的趨勢顯示,這些數據速率可能每四年增加一倍,到 2010 年,隨著(zhù)DDR3 SDRAM 的出現,很可能超過(guò)每引腳 1.2 Gb/s。見(jiàn)圖1。

應用通?煞譃閮深(lèi):一類(lèi)是低成本應用,降低器件成本為主要目的;另一類(lèi)是高性能應用,首要目標是謀求高帶寬。

運行速率低于每引腳 400 Mb/s 的 DDR SDRAM 和低端 DDR2 SDRAM 已能滿(mǎn)足大多數低成本系統存儲器的帶寬需求。對于這類(lèi)應用,Xilinx 提供了 Spartan-3 系列FPGA,其中包括 Spartan-3、Spartan-3E 和 Spartan-3A 器件。

高性能應用把每引腳 533 和 667 Mb/s 的 DDR2 SDRAM 這樣的存儲器接口帶寬推到了極限;對于這類(lèi)應用,Xilinx 推出了 Virtex-4 和 Virtex-5 FPGA,能夠充分滿(mǎn)足今天大多數系統的最高帶寬需求。

帶寬是與每引腳數據速率和數據總線(xiàn)寬度相關(guān)的一個(gè)因素。Spartan-3 系列、Virtex-4、Virtex-5 FPGA 提供不同的選項,從數據總線(xiàn)寬度小于 72 位的較小的低成本統,到576 位寬的更大的 Virtex-5 封裝(見(jiàn)圖2)。


高于 400 Mb/s 速率的更寬總線(xiàn)使得芯片到芯片的接口愈益難以開(kāi)發(fā),因為需要更大的封裝、更好的電源和接地-信號比率。Virtex-4 和 Virtex-5 FPGA 的開(kāi)發(fā)使用了先進(jìn)的稀疏鋸齒形 (Sparse Chevron) 封裝技術(shù),能提供優(yōu)良的信號-電源和接地引腳比率。每個(gè) I/O 引腳周?chē)加凶銐虻碾娫春徒拥匾_和板,以確保良好的屏蔽,使由同步交換輸出 (SSO) 所造成的串擾噪音降到最低。

低成本存儲器接口

今天,并不是所有的系統都在追求存儲器接口的性能極限。當低成本是主要的決定因素,而且存儲器的比特率達到每引腳 333 Mb/s 已經(jīng)足夠時(shí),Spartan-3 系列 FPGA配之以 Xilinx 軟件工具,就能提供一個(gè)易于實(shí)現、低成本的解決方案。

基于 FPGA 設計的存儲器接口和控制器由三個(gè)基本構建模塊組成:讀寫(xiě)數據接口、存儲器控制器狀態(tài)機,以及將存儲器接口設計橋接到 FPGA 設計的其余部分的用戶(hù)界面(圖3)。這些模塊都在 FPGA 資源中實(shí)現,并由數字時(shí)鐘管理器 (DCM) 的輸出作為時(shí)鐘來(lái)驅動(dòng)。在 Spartan-3 系列實(shí)現中,DCM 也驅動(dòng)查找表 (LUT) 延遲校準監視器(一個(gè)確保讀數據采集具有正確時(shí)序的邏輯塊)。延遲校準電路用來(lái)選擇基于 LUT 的延遲單元的數量,這些延遲單元則用于針對讀數據對選通脈沖線(xiàn) (DQS) 加以延遲。延遲校準電路計算出與 DQS 延遲電路相同的一個(gè)電路的延遲。校準時(shí)會(huì )考慮所有延遲因素,包括所有組件和布線(xiàn)延遲。


用戶(hù)界面是一種握手型的界面。用戶(hù)發(fā)出一條讀或寫(xiě)命令,如果是寫(xiě)命令的話(huà)還包括地址和數據,而用戶(hù)界面邏輯以 User_cmd-ack 信號回應,于是下一條命令又可發(fā)出。

在 Spartan-3 系列實(shí)現中,使用可配置邏輯塊 (CLB) 中的 LUT 來(lái)實(shí)現讀數據采集。在讀事務(wù)過(guò)程中,DDR 或 DDR2 SDRAM 器件將讀數據選通脈沖 (DQS) 及相關(guān)數據按照與讀數據 (DQ) 邊沿對齊的方式發(fā)送給 FPGA。在高頻率運行的源同步接口中采集讀數據是一項頗具挑戰性的任務(wù), 因為數據在非自由運行 DQS 的每個(gè)邊沿上都會(huì )改變。讀數據采集的實(shí)現使用了一種基于 LUT 的 tap 延遲機制。DQS 時(shí)鐘信號被適量延遲,使其放置后在讀數據有效窗口中具有足夠的余量,以在 FPGA 內被采集。

讀數據的采集是在基于 LUT 的雙端口分布式 RAM 中完成的(見(jiàn)圖4)。LUT RAM 被配置成一對 FIFO,每個(gè)數據位都被輸入到上升邊沿 (FIFO 0) 和下降邊沿 (FIFO 1)的FIFO 中,如圖4 所示。這些深度為 16 個(gè)輸入的 FIFO 異步運行,具有獨立的讀寫(xiě)端口。


來(lái)自存儲器的讀數據寫(xiě)到經(jīng)過(guò)延遲的 DQS 上升邊沿的 FIFO_0 中,并寫(xiě)到經(jīng)過(guò)延遲的DQS 下降邊沿的 FIFO_1 中。將讀數據從 DQS 時(shí)鐘域傳輸到存儲器控制器時(shí)鐘域就是通過(guò)這些異步 FIFO 完成的。在存儲器控制器的時(shí)鐘域中,可以從 FIFO_0 和FIFO_1 同時(shí)讀出數據。FIFO 的讀指針在 FPGA 的內部時(shí)鐘域中生成。寫(xiě)使能信號(FIFO_0 WE 和 FIFO1_WE)的生成通過(guò) DQS 和一個(gè)外部回送(亦即歸一化)信號完成。外部歸一化信號作為輸出傳送至輸入/ 輸出模塊 (IOB),然后通過(guò)輸入緩沖器作為輸入取出。這種技術(shù)可補償 FPGA 與存儲器器件之間的 IOB、器件和跡線(xiàn)延遲。從FPGA 輸入管腳發(fā)出的歸一化信號在進(jìn)入 LUT 延遲電路之前使用與 DQS 相似的布線(xiàn)資源,以與布線(xiàn)延遲相匹配。環(huán)路之跡線(xiàn)延遲應為發(fā)送給存儲器的時(shí)鐘和 DQS 之跡線(xiàn)延遲的總和(圖4)。

寫(xiě)數據命令和時(shí)序由寫(xiě)數據接口生成并控制。寫(xiě)數據接口使用 IOB 觸發(fā)器和 DCM 的90 度、180 度和 270 度輸出,發(fā)送按照 DDR 和 DDR2 SDRAM 的時(shí)序要求與命令位和數據位正確對齊的 DQS。

用于 Spartan-3 系列 FPGA 的一種 DDR 和 DDR2 SDRAM 存儲器接口實(shí)現已通過(guò)硬件進(jìn)行了充分驗證。一個(gè)利用 Spartan-3A 入門(mén)套件的低成本 DDR2 SDRAM 參考設計示例已完成。此設計為板上 16 位寬 DDR2SDRAM 存儲器器件而開(kāi)發(fā),并使用了XC3S700A-FG484。此參考設計僅利用了 Spartan-3A FPGA 器件可用資源的一小部分:13% 的 IOB、9% 的邏輯 Slice、16% 的 BUFG MUX 和八個(gè) DCM 中的一個(gè)。這一實(shí)現為其余部分 FPGA 設計所需的其他功能留下了可用資源。

使用存儲器接口生成器 (MIG) 軟件工具(本白皮書(shū)后面的部分有說(shuō)明),設計人員可以很容易地定制 Spartan-3 系列的存儲器接口設計,以適合自己的應用。

高性能存儲器接口

隨著(zhù)數據速率的提高,滿(mǎn)足接口時(shí)序方面的要求變得愈益困難了。與寫(xiě)入存儲器相比,從存儲器中讀數據時(shí),存儲器接口時(shí)鐘控制方面的要求通常更難滿(mǎn)足。追求更高數據速率的趨勢使得設計人員面臨巨大挑戰,因為數據有效窗口(此為數據周期內的一段時(shí)間,其間可獲得可靠的讀數據)比數據周期本身縮小得快。造成這種情況的原因是,影響有效數據窗口尺寸大小的系統和器件性能參數具有種種不確定性,它們縮小的速率與數據周期不同。

如果比較一下運行速度為 400 Mb/s 的 DDR SDRAM 數據有效窗口和運行速度為 667Mb/s 的 DDR2 存儲器技術(shù),這種情況就一目了然了。數據周期為 2.5 ns 的 DDR 器件擁有 0.7 ns 的數據有效窗口,而數據周期為 1.5 ns 的 DDR2 器件僅有 0.14 ns 的數據有效窗口(圖5)。


顯然,數據有效窗口的加速減損給 FPGA 設計人員帶來(lái)了一堆全新的設計挑戰,要創(chuàng )建和維護可靠的存儲器接口性能,就得采用更有效的方法。

正如 Spartan-3 系列 FPGA 中所實(shí)現的那樣,使用讀數據 DQS 可以把讀數據采集到可配置邏輯塊 (CLB) 中,但是使用 LUT 把 DQS 或時(shí)鐘與數據有效窗口中心對齊時(shí),所用的延遲 tap 卻很粗糙。CLB 中實(shí)現的延遲 tap 具有大約幾百微微秒 (ps) 的分辨率,然而,對于超過(guò) 400 Mb/s 的數據速率的讀取采集時(shí)序,所需的分辨率要比基于CLB 的 tap 高一個(gè)數量級。Virtex-4 和 Virtex-5 FPGA 采用 I/O 模塊中的專(zhuān)用延遲和時(shí)鐘資源(稱(chēng)為 ChipSync? 技術(shù))來(lái)解決這一難題。內置到每個(gè) I/O 中的 ChipSync模塊都含有一串延遲單元(tap 延遲),在 Virtex-4 中稱(chēng)為 IDELAY,而在 Virtex-5FPGA 中稱(chēng)為 IODELAY,其分辨率為 75 ps (見(jiàn)圖6)。

此實(shí)現的架構基于幾個(gè)構建模塊。用戶(hù)界面負責把存儲器控制器和物理層接口橋接到其余 FPGA 設計,它使用 FIFO 架構(圖7)。FIFO 有三套:命令/ 地址 FIFO、寫(xiě)FIFO、讀 FIFO。這些 FIFO 保存著(zhù)命令、地址、寫(xiě)數據和讀數據。主要的控制器模塊控制讀、寫(xiě)和刷新操作。其他兩個(gè)邏輯模塊執行讀操作的時(shí)鐘-數據中心對齊:初始化控制器和校準邏輯。


用于地址、控制和數據的物理層接口在 I/O 模塊 (IOB) 中實(shí)現。讀數據在鎖存器的第二級(也是 IOB 的一部分)重新采集。

Virtex-4 和 Virtex-5 FPGA 存儲器接口參考設計支持兩種讀數據采集技術(shù)。Virtex-4FPGA 支持的直接時(shí)鐘技術(shù)延遲了讀數據,因而使用 IOB 的輸入 DDR 觸發(fā)器中的系統時(shí)鐘可直接寄存讀數據。為將 FPGA 時(shí)鐘對齊到最佳狀態(tài),對每個(gè)讀數據位都會(huì )單獨進(jìn)行校驗。這種技術(shù)為高達 240 MHz 的時(shí)鐘速率提供了足夠的性能。

第二種技術(shù)稱(chēng)為基于 DQS 的技術(shù)。此技術(shù)用于更高的時(shí)鐘速率,Virtex-4 和 Virtex-5FPGA 二者都支持此技術(shù)。它使用存儲器 DQS 來(lái)采集相應的讀數據,數據被此 DQS的延遲信號(通過(guò)一個(gè)局部 I/O 時(shí)鐘緩沖器 (BUFIO) 分配)寄存。此數據然后在觸發(fā)器的第二級與系統的時(shí)鐘域同步。IOB 中的輸入串行器/ 解串器功能用于讀數據采集;第一對觸發(fā)器把數據從延遲的 DQS 域中傳輸到系統的時(shí)鐘域(圖8)。

兩種技術(shù)都涉及到 tap 延遲 (IDELAY) 單元的應用, 在由校驗邏輯實(shí)現的校驗程序中,這些延遲單元會(huì )有所變化。在系統初始化期間,會(huì )執行此校準程序以設置 DQS、數據和系統時(shí)鐘之間的最佳相位。這樣做的目的是使時(shí)序余量最大化。校準會(huì )消除任何由過(guò)程相關(guān)的延遲所導致的不確定性,從而補償對于任何一塊電路板都不變的那些通路延遲成分。這些成分包括 PCB 跡線(xiàn)延遲、封裝延遲和過(guò)程相關(guān)的傳播延遲成分(存儲器和 FPGA 中都有),以及 FPGA I/O 模塊中采集觸發(fā)器的建立/ 保持時(shí)間。有的延遲是由系統初始化階段的過(guò)程、電壓和溫度所決定的,校準即負責解決這些延遲的變動(dòng)。

在校準過(guò)程中會(huì )增加 DQS 和數據的延遲 tap 以執行邊沿檢測,檢測方式是通過(guò)連續從存儲器中讀回數據并對預編寫(xiě)培訓模式或存儲器 DQS 本身進(jìn)行采樣,直到確定數據選通脈沖 (DQS) 的前沿或前后兩沿。之后數據或 DQS 的 tap 數被設定,以提供最大的時(shí)序余量。對“基于 DQS”的采集而言,DQS 和數據可以有不同的 tap 延遲值,因為同步實(shí)質(zhì)上分為兩個(gè)階段:一個(gè)先在 DQS 域中采集數據,另一個(gè)把此數據傳輸到系統時(shí)鐘域。

在更高的時(shí)鐘頻率下,“基于 DQS ”的采集方法就變得十分必要,其二階段方法能提供更好的采集時(shí)序余量,因為 DDR 時(shí)序的不確定性主要限于 IOB 中觸發(fā)器的第一級。此外,因為使用 DQS 來(lái)寄存數據,與時(shí)鐘-數據 (Tac) 變化相比較, DQS -數據變化的時(shí)序不確定性要小一些。例如,對于 DDR2 而言,這些不確定性就是由器件的tDQSQ 和 tQHS 參數給出的。

正如 Spartan-3 系列 FPGA 中所實(shí)現的那樣,Virtex-4 和 Virtex-5 FPGA 的寫(xiě)時(shí)序由DCM 所支持,此 DCM 生成系統時(shí)鐘的兩相輸出。存儲器的 DQS 由一個(gè)輸出 DDR 寄存器來(lái)輸出,這個(gè) DDR 寄存器由系統時(shí)鐘的同相時(shí)鐘驅動(dòng)。寫(xiě)數據則由超前系統時(shí)鐘90° 的一個(gè) DCM 時(shí)鐘輸出進(jìn)行時(shí)鐘控制。這種技術(shù)確保了在 FPGA 的輸出部分,DQS 與寫(xiě)操作的數據中心對齊。

此設計的其他方面包括整體控制器狀態(tài)機的邏輯生成和用戶(hù)接口。為了使設計人員更容易完成整個(gè)設計,Xilinx 開(kāi)發(fā)了存儲器接口生成器 (MIG) 工具。

控制器設計和集成

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

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

架構(DDR、DDR2、QDR II、RLDRAM 等)
組 (bank) 數(存儲器器件之外或之內)
數據總線(xiàn)寬度
存儲器器件的寬度和深度
組和行存取算法

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

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

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

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

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

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

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

高性能系統設計

實(shí)現高性能存儲器接口遠遠不止實(shí)現 FPGA 片上設計,它需要解決一系列芯片到芯片的難題,例如對信號完整性的要求和電路板設計方面的挑戰。

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


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

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


設計大容量或密集型存儲器系統的另一個(gè)挑戰是容量負載。高性能存儲器系統可能需要由地址和命令信號共用的一條總線(xiàn)驅動(dòng)的多存儲器器件。大容量無(wú)緩沖 DIMM 接口就是一個(gè)例子。如果每個(gè)單列 DIMM 擁有 18 個(gè)組件,那么包含兩個(gè) 72 位無(wú)緩沖DIMM 的接口可以在地址和命令總線(xiàn)上擁有多達 36 個(gè)接收器。由 JEDEC 標準推薦,并在通用系統中常見(jiàn)的最大負載是兩個(gè)無(wú)緩沖 DIMM?偩(xiàn)上所產(chǎn)生的容量負載會(huì )極其龐大,導致信號邊沿上升和下降需要多于一個(gè)時(shí)鐘周期,從而使存儲器器件的建立和保持出錯。圖12 所示為 IBIS 仿真所提供的眼圖,使用的是不同配置:一個(gè)寄存DIMM、一個(gè)無(wú)緩沖 DIMM 和兩個(gè)單列無(wú)緩沖 DIMM。容量負載的范圍從使用寄存DIMM 時(shí)的 2 個(gè)接收器到使用無(wú)緩沖 DIMM 時(shí)的 36 個(gè)接收器不等。
這些眼圖清楚地顯示了地址總線(xiàn)的容量負載效果;寄存 DIMM 提供地址和命令總線(xiàn)上一個(gè)打得很開(kāi)的有效窗口。一個(gè) DIMM 的眼張開(kāi)度在 267 MHz 下仍然不錯。然而,當負載為 32 時(shí),地址和命令信號有效窗口便大為縮小,而傳統的實(shí)現方法已不足以可靠地與兩個(gè)無(wú)緩沖 DIMM 接口。

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

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

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


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

結論

有了合適的 FPGA、軟件工具和開(kāi)發(fā)電路板這樣的利器,使用 667 Mb/s DDR2SDRAM 進(jìn)行存儲器接口控制器設計便成為一個(gè)既快速又流暢的過(guò)程,無(wú)論是低成本應用還是高性能設計,都可以得心應手地完成。
本文地址:http://selenalain.com/thread-22054-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页