提要 本應用指南說(shuō)明了利用 Virtex-5 器件實(shí)現 4 字突發(fā)四倍數據速率 (Quad Data Rate, QDR II)SRAM 接口及其時(shí)序的詳細信息。此可綜合的參考設計利用 Virtex-5 系列獨有的 I/O 和時(shí)鐘控制功能,實(shí)現了 300 MHz (600 Mb/s) 的性能水平,使每個(gè) 36 位存儲器接口的總流量達到 43.2Gb/s。 此設計在最大限度降低資源使用量的同時(shí)還大幅簡(jiǎn)化了在 FPGA 內采集讀數據的任務(wù)。此方案提供了一個(gè)簡(jiǎn)單的用戶(hù)接口,可通過(guò)利用一個(gè)或多個(gè) QDR II 接口簡(jiǎn)便地集成到一個(gè)完整的FPGA 設計中。 簡(jiǎn)介 QDR SRAM 器件為滿(mǎn)足更高的帶寬存儲要求而開(kāi)發(fā),以網(wǎng)絡(luò )和電信應用為目標; QDR 架構具有獨立的讀、寫(xiě)數據通路,便于同時(shí)操作。每個(gè)時(shí)鐘周期內,兩個(gè)通路均使用雙倍數據速率 (DDR) 傳輸發(fā)送兩個(gè)字,一個(gè)在時(shí)鐘上升沿發(fā)送,一個(gè)在時(shí)鐘下降沿發(fā)送。結果,在每個(gè)時(shí)鐘周期內會(huì )傳輸四個(gè)總線(xiàn)寬度的數據(兩個(gè)讀和兩個(gè)寫(xiě)),這就是四倍數據速率的由來(lái)。 QDR I 和 QDR II 的規范由 QDR 聯(lián)盟(Cypress、IDT、NEC、Samsung 和 Renesas)共同定義和開(kāi)發(fā)。有關(guān) QDR 規范、QDR 聯(lián)盟和 QDR 存儲器產(chǎn)品的其他信息,請參考第 16 頁(yè)上的“參考”。 QDR 存儲器器件以 2 字突發(fā)和 4 字突發(fā)架構提供。針對每個(gè)讀或寫(xiě)請求,2 字突發(fā)器件傳輸兩個(gè)字。DDR 地址總線(xiàn)用于在前半個(gè)時(shí)鐘周期允許讀請求,在后半個(gè)時(shí)鐘周期允許寫(xiě)請求。與之相反,4 字突發(fā)器件針對每個(gè)讀或寫(xiě)請求傳輸四個(gè)字,這樣便只需要一個(gè)單倍數據速率 (SDR)地址總線(xiàn),就能最大程度地利用數據帶寬。讀、寫(xiě)操作請求必須在交替的時(shí)鐘周期(即不重疊的時(shí)鐘周期)內進(jìn)行,以分享地址總線(xiàn)。 本應用指南所討論的參考設計針對的是 4 字突發(fā) QDR II SRAM 器件。QDR II 架構的獨特性能之一是源同步回送時(shí)鐘 (CQ) 輸出,它與器件輸入時(shí)鐘 (K) 頻率相同,與通過(guò)讀通路輸出 (Q) 傳輸的數據邊沿對齊。CQ 時(shí)鐘輸出使用 QDR II 存儲器器件內的延遲鎖定環(huán) (DLL) 電路被重新安排,使其與 Q 數據輸出對齊。對于在遠端器件上進(jìn)行的讀數據采集操作,此種時(shí)鐘傳輸(亦稱(chēng)源同步)接口方法允許較大的時(shí)序余量。 第 2 頁(yè)圖1 的時(shí)序圖表示 4 字突發(fā) QDR II 存儲器接口上的并發(fā)讀/ 寫(xiě)操作。QDR II 存儲器的所有輸入與輸入時(shí)鐘(K 和 K)同步,傳輸給存儲器時(shí),數據中心通常與輸入時(shí)鐘 K 及 K 邊沿對齊。 注: 低有效的讀控制 (R) 和寫(xiě)控制 (W) 引腳在時(shí)鐘周期內交替出現,以實(shí)現單獨 SDR 地址總線(xiàn) (SA) 的共享。 寫(xiě)總線(xiàn)數據輸入 (D) 值在 DDR 模式下被發(fā)送到存儲器,開(kāi)始于寫(xiě)控制引腳激活后的下一個(gè)K時(shí)鐘上升沿。讀總線(xiàn)數據輸出 (Q) 值在 DDR 模式下從存儲器中發(fā)送,并與 CQ 和 CQ 源同步回送時(shí)鐘輸出邊沿對齊。在 CQ 時(shí)鐘輸出的上升沿(緊隨 K 輸入時(shí)鐘的下一個(gè)上升沿之后),讀總線(xiàn)中的第一個(gè)字開(kāi)始發(fā)送。 在從數據輸入 (D) 字中選擇要寫(xiě)入存儲器的特定字節時(shí),QDR II 存儲器還可使用低有效的字節寫(xiě) (BW) 使能引腳。為清晰起見(jiàn),圖1 中省略了這些信號。 圖1 的時(shí)序圖表示 2 字突發(fā) QDR II 存儲器接口上的并發(fā)讀/ 寫(xiě)操作。在時(shí)鐘的前半個(gè)周期,DDR 地址總線(xiàn)允許讀地址被傳輸給存儲器;在時(shí)鐘的后半個(gè)周期,DDR 地址總線(xiàn)允許寫(xiě)地址出現于其中。因此,低有效的讀控制 (/R) 和寫(xiě)控制 (/W) 引腳可在同一時(shí)鐘周期內設定。 兩個(gè)寫(xiě)總線(xiàn)數據輸入 (D) 值在 DDR 模式下被發(fā)送到存儲器,開(kāi)始于寫(xiě)地址有效前的那個(gè) K 時(shí)鐘上升沿。讀總線(xiàn)數據輸出 (Q) 值在 DDR 模式下從存儲器中發(fā)送,并與 CQ 和 /CQ 源同步回送時(shí)鐘輸出邊沿對齊。在 /CQ 時(shí)鐘輸出的上升沿(緊隨 /K 輸入時(shí)鐘的下一個(gè)上升沿之后),讀總線(xiàn)中的第一個(gè)字開(kāi)始發(fā)送。 設計概述 圖2 為 Virtex-5 QDR II 參考設計的高層次框圖,表明了 QDR II 存儲器器件的外部連接以及用于發(fā)送讀/ 寫(xiě)命令的 FPGA 內部資源接口。 在圖2 中,QDR II 器件的 C 和 C 引腳均被設定為 High。 如第 4 頁(yè)圖3 所示,Virtex-5 QDR II 參考設計由以下四個(gè)主要部分組成: 用戶(hù)接口 物理接口 讀/ 寫(xiě)狀態(tài)機 延遲校準狀態(tài)機 此用戶(hù)接口使用完全基于 SDR 信號的簡(jiǎn)單協(xié)議創(chuàng )建讀/ 寫(xiě)請求。此模塊主要由 FIFO16 基元構成,用于在讀/ 寫(xiě)操作執行前后存儲相應的地址和數據值。有關(guān)用戶(hù)接口時(shí)序協(xié)議的詳情,請參閱第 5 頁(yè)“用戶(hù)接口”。 讀/ 寫(xiě)狀態(tài)機主要負責監控用戶(hù)接口模塊內 FIFO 的狀態(tài),調整用戶(hù)接口和物理接口間的數據流,并向外部存儲器器件發(fā)送實(shí)際讀/ 寫(xiě)命令。此狀態(tài)機確保讀/ 寫(xiě)操作按照 QDR II 存儲器規范的要求,以并發(fā)方式在最短延遲內完成。 物理接口負責生成正確的時(shí)序關(guān)系和 DDR 信號,以便以符合其命令協(xié)議和時(shí)序要求的方式與外部存儲器器件通信。 延遲校準狀態(tài)機是物理層中一個(gè)不可分割的組成部分,大大簡(jiǎn)化了在 FPGA 內采集讀數據的任務(wù),同時(shí)又可實(shí)現最佳性能。Virtex-5 器件的每個(gè)輸入引腳都包含一個(gè)可動(dòng)態(tài)調整的可編程延遲元件 (IDELAY),用于控制 5 ns 窗口中輸入通路上的延遲時(shí)間。延遲校準狀態(tài)機利用此獨特功能調整從存儲器器件返回的讀數據的時(shí)序,因此它無(wú)需任何復雜的數據采集技術(shù)即可直接與全局 FPGA 系統時(shí)鐘 (USER_CLK0) 實(shí)現同步。 第 5 頁(yè)表1 總結了 Virtex-5 QDR II 參考設計的規范,包括性能目標和器件應用細節。 實(shí)現詳情 實(shí)現QDR II 參考設計的目的是利用 Virtex-5 系列的獨特功能。I/O、時(shí)鐘控制和存儲元件技術(shù)方面的發(fā)展使此設計的高性能和全承包操作得以實(shí)現。以下部分對此設計的實(shí)現給出進(jìn)一步的詳細說(shuō)明。 用戶(hù)接口 用戶(hù)接口模塊利用六個(gè) FIFO16 模塊來(lái)存儲讀/ 寫(xiě)操作的地址和數據值。三個(gè) FIFO16 模塊用于寫(xiě)命令,一個(gè)用于存儲寫(xiě)地址 (USER_AD_WR) 和字節寫(xiě)使能 (USER_BW_n) 信號,另外兩個(gè)用于存儲要寫(xiě)入存儲器的 Low (USER_DWL) 和 High (USER_DWH) 36 位數據字。讀命令也使用三個(gè) FIFO16 模塊,一個(gè)用于存儲讀地址 (USER_AD_RD),另兩個(gè)用于存儲由于執行讀而從存儲器中返回的 Low (USER_QRL) 和 High (USER_QRH) 36 位數據字。 第 6 頁(yè)圖4 表示使用 4 字突發(fā)參考設計時(shí),向用戶(hù)接口發(fā)送讀/ 寫(xiě)請求所需的時(shí)序協(xié)議。如前所述,此接口使用了所有已與主 FPGA 設計系統時(shí)鐘 (USER_CLK0) 同步的 SDR 信號。 寫(xiě)請求在 USER_CLK0 上升沿期間通過(guò)低有效的 USER_W_n 信號創(chuàng )建。此 18 位寫(xiě)地址(USER_AD_WR) 必須在此同一時(shí)鐘邊沿傳輸。此時(shí),要寫(xiě)入存儲器的第一個(gè)和第二個(gè) 36 位數據字也會(huì )分別傳輸給 36 位 USER_DWL 和 USER_DWH 輸入總線(xiàn)。4 字突發(fā)的第三個(gè)字和第四個(gè)字會(huì )在下一個(gè) USER_CLK0 上升沿分別傳輸給 USER_DWL 和 USER_DWH。 讀請求在 USER_CLK0 上升沿期間通過(guò)低有效的 USER_R_n 信號創(chuàng )建。此 18 位讀地址(USER_AD_RD) 必須在此同一時(shí)鐘邊沿傳輸。執行讀命令后,4 字突發(fā)值存儲于讀數據 FIFO中。在 USER_CLK0 上升沿,一個(gè)低有效的 USER_QEN_n 信號會(huì )檢索這些值并將其傳輸至 36位 USER_QRL 和 USER_QRH 輸出。第一和第二個(gè)字在首個(gè)周期中傳輸,此時(shí)的USER_QEN_n 設置為 Low,緊接著(zhù)是第三和第四個(gè)字在隨后一個(gè)周期中傳輸,此時(shí)的USER_QEN_n 也設置為 Low。 與 QDR II 存儲器本身不同,用戶(hù)接口在同一時(shí)鐘周期接受讀、寫(xiě)請求(如圖4 所示的第三個(gè)周期)。讀/ 寫(xiě)狀態(tài)機管理向外部存儲器器件所發(fā)送的讀與寫(xiě)請求的交替,使用戶(hù)接口免于承擔這項職責。 用戶(hù)接口還提供了一批用于指示讀/ 寫(xiě) FIFO 狀態(tài)的信號,在圖4 中未顯示。高有效的 USER_WR_FULL 輸出表明寫(xiě) FIFO 已滿(mǎn)。此情況表明,寫(xiě)請求隊列縮減之前將不再接受任何寫(xiě)請求。USER_WR_FULL 為 High 時(shí)創(chuàng )建的任何寫(xiě)請求都將被直接忽略。類(lèi)似情況適用于讀請求的 USER_RD_FULL 信號。 高有效的 USER_QR_EMPTY 輸出表明不再有讀數據值存儲在讀數據 FIFO 中。在此情況下從USER_QRL 和 USER_QRH 總線(xiàn)讀值的嘗試將被忽略。此情況會(huì )一直持續,直到執行其他讀命令并且有相關(guān)數據值存入讀數據 FIFO。 讀/ 寫(xiě)狀態(tài)機 第 8 頁(yè)圖5 為 4 字突發(fā)讀/ 寫(xiě)狀態(tài)機的狀態(tài)圖。此狀態(tài)機負責調節用戶(hù)接口和物理接口之間的數據流。它根據保存在用戶(hù)接口 FIFO 中的請求向外部存儲器器件發(fā)送讀/ 寫(xiě)命令。 USER_RESET 每次都會(huì )將狀態(tài)機恢復到 INIT 狀態(tài),此時(shí)存儲器暫停運行,直到延遲校準狀態(tài)機完成所有 QDR_Q 輸入的 IDELAY 模塊上的延遲調整,使讀通路數據與 FPGA 系統時(shí)鐘(USER_CLK0) 中心對齊。校準操作完成的信號是一個(gè)高有效的 DLY_CAL_DONE 輸入,該輸入將讀/ 寫(xiě)狀態(tài)機轉換到空閑狀態(tài),以等候來(lái)自用戶(hù)接口的讀/ 寫(xiě)請求。 在空閑狀態(tài),寫(xiě)命令首先假設向存儲器寫(xiě)數據必須始終發(fā)生在任何有效讀數據出現之前。當沒(méi)有待處理的讀或寫(xiě)請求時(shí),此狀態(tài)機將在空閑狀態(tài)下循環(huán)運行。 用戶(hù)接口 FIFO 中的待處理寫(xiě)請求會(huì )使狀態(tài)機轉入寫(xiě)狀態(tài),在此狀態(tài)下,寫(xiě)命令通過(guò)內部的WR_INIT_n 選通脈沖發(fā)送。此選通脈沖從 FIFO 中取出寫(xiě)地址和數據值,并使外部 QDR_W_n寫(xiě)控制選通脈沖進(jìn)入存儲器器件。 如果包含待處理讀請求,此狀態(tài)機會(huì )隨之轉入讀狀態(tài),此時(shí)內部 RD_INIT_n 選通脈沖被激活。RD_INIT_n 選通脈沖從 FIFO 中取出讀地址,并向存儲器器件發(fā)送一個(gè)外部 QDR_R_n 選通脈沖。作為此處理過(guò)程的結果之一,對讀數據 FIFO 中的返回值也將進(jìn)行采集。 讀/ 寫(xiě)狀態(tài)機持續監控用戶(hù)接口 FIFO 狀態(tài)信號,以確定是否存在待處理讀/ 寫(xiě)請求。連續不斷的并發(fā)讀/ 寫(xiě)請求流將導致?tīng)顟B(tài)機只在讀狀態(tài)和寫(xiě)狀態(tài)之間轉換,以確保正確無(wú)誤地將請求交替發(fā)送到外部存儲器。一串只寫(xiě)請求將導致空閑狀態(tài)和寫(xiě)狀態(tài)輪流出現,同樣,一串讀請求也會(huì )在空閑狀態(tài)和讀狀態(tài)間轉換。 物理接口 Virtex-5 QDR II 參考設計的物理接口為讀/ 寫(xiě)命令與外部存儲器器件之間的通信生成實(shí)際的I/O 信號和時(shí)序關(guān)系,包括 DDR 數據信號。它提供必要的時(shí)序余量及為滿(mǎn)足整體設計性能規范所需的 I/O 信號標準。QDR II 設計的所有 I/O 信號都使用 HSTL-I 發(fā)送。此部分詳細介紹物理接口的每個(gè)部件。 時(shí)鐘控制機制 此 QDR II 設計使用的是所有 Virtex-5 I/O 模塊中都有的輸出 DDR (ODDR) 基元。這些內置DDR 寄存器功能極大地簡(jiǎn)化了以下任務(wù):生成準確的時(shí)鐘、地址和數據,以及與 QDR II 存儲器器件通信的控制信號。IDDR 和 ODDR 基元都有多種運行模式,可分別確定采集或傳輸的DDR 數據以怎樣的方式出現在 FPGA 內部資源和 I/O 引腳中。 QDR II 設計中的時(shí)鐘控制機制(第 9 頁(yè)圖6)使用反沿 (opposite-edge) 模式的 ODDR 寄存器來(lái)為存儲器器件生成 QDR_K 和 QDR_K_n 時(shí)鐘。因為時(shí)鐘信號的時(shí)序與 QDR II 地址、數據和控制信號幾乎相同,此時(shí)鐘傳輸機制會(huì )有效地從時(shí)序余量因素中刪除 FPGA 的 clock-to-out參數。因此,就 clock-to-out 參數而言,所有外部傳輸信號都得以“匹配”。 寫(xiě)通路 QDR II 存儲器的寫(xiě)通路包括執行寫(xiě)操作所必需的地址、數據和控制信號。寫(xiě)地址 (QDR_AD_WR)、控制選通脈沖 (QDR_W_n) 和字節寫(xiě)使能 (QDR_BW_n) 信號都使用 SDR 格式。不過(guò),寫(xiě)數據值 (QDR_D) 利用 DDR 信號在規定的時(shí)鐘周期實(shí)現所需的 2 字或 4 字突發(fā)。 所有這些寫(xiě)通路信號在傳輸時(shí)都必須與 QDR_K 和 QDR_K_n 時(shí)鐘邊沿中心對齊。因此,這些信號的輸出寄存器與 USER_CLK270 時(shí)鐘同步。信號以同樣的頻率運行,但對于 USER_CLK0則會(huì )出現 270°(時(shí)鐘周期的 75%)的相差。這能確保對輸入 QDR_K 和 QDR_K_n 時(shí)鐘邊沿而言,存儲器器件有足夠的建立與保持余量。 第 10 頁(yè)圖7 說(shuō)明了如何使用 USER_CLK270 和 ODDR 寄存器為 QDR_D 寫(xiě)數據通路生成所需的 DDR 信號。ODDR 寄存器配置為同沿 (same-edge) 模式,允許在 USER_CLK270 的同一上升沿從 FPGA 架構中同時(shí)采集兩個(gè) 36 位數據字(FIFO_DWL 和 FIFO_DWH)。FIFO_DWL 值在此上升沿后立即發(fā)送到 QDR_D 寫(xiě)數據總線(xiàn),隨后,FIFO_DWH 值在 USER_CLK270 的下一個(gè)下降沿從 ODDR 模塊發(fā)送。對此過(guò)程加以重復,以生成一個(gè) 4 字寫(xiě)數據突發(fā)。 使用 I/O 模塊中的單個(gè)觸發(fā)器以類(lèi)似的方式生成讀/ 寫(xiě)地址、字節寫(xiě)使能和讀/ 寫(xiě)控制選通脈沖,以創(chuàng )建與 USER_CLK270 同步的 SDR 信號。 讀數據通路 基于 CQ 的數據采集機制可以實(shí)現以極高的時(shí)鐘速率從存儲器中采集讀數據。此數據采集機制使用在每個(gè) I/O 中都提供的 ISERDES 功能。輸入時(shí)鐘 (CQ) 和數據 (Q) 經(jīng)延遲后與 ISERDES 模塊中的系統時(shí)鐘 (CLK0) 保持同步。 讀數據通路包括兩個(gè)階段:讀數據采集和讀數據重新采集。兩個(gè)階段均在各個(gè) Virtex-5 I/O 的內置 ISERDES 中實(shí)現。途經(jīng) BUFIO 的 CQ 信號將采集 ISERDES 模塊內首組寄存器中的輸入讀數據 (Q)。第二組寄存器用來(lái)將 CQ 域中的數據傳輸至系統時(shí)鐘域。 ISERDES 具有三種時(shí)鐘輸入:CLK、OCLK 和 CLKDIV。讀數據 (Q) 在 CLK (CQ) 域經(jīng)采集完成后,通過(guò) OCLK 和 CLKDIV 傳輸至系統時(shí)鐘(圖8): CLK:布線(xiàn)通過(guò) BUFIO 的讀時(shí)鐘 (CQ) 提供 CLK 時(shí)鐘輸入。 OCLK 和 CLKDIV:這些時(shí)鐘負責對輸入數據進(jìn)行串并轉換。由于數據以與接口速度相同的頻率進(jìn)行傳輸,系統時(shí)鐘 (CLK_0) 提供針對 OCLK 和 CLKDIV 的輸入。 在ISERDES 中采集到的數據可以被寫(xiě)入 Virtex-5 FPGA 中的內置 FIFO36 模塊。 基于 CQ 的數據采集機制要求將讀時(shí)鐘(CQ 和 CQ)置于 clock-capable I/O (CCIO) 中,時(shí)鐘從這些位置可以訪(fǎng)問(wèn)各組 (bank) 內可用的 BUFIO。 對于 x36 寬的 QDR II SRAM 接口,CQ_P 和 CQ_N 均用來(lái)采集讀數據(第 11 頁(yè)圖9)。一個(gè)Virtex-5 器件中的每個(gè)組都包含 40 個(gè) I/O,因此一個(gè) x36 接口的讀數據需要置于兩個(gè)組中。 CQ_P 用來(lái)采集一個(gè)組中的首組字節,而 CQ_N 用來(lái)采集相鄰組中剩余的數據字節。CQ_P 和CQ_N 均需置于相應組中 CCIO 的 P 側。 延遲校準 延遲校準邏輯負責提供讀數據 (Q) 和時(shí)鐘 (CQ) 所需要的延遲,以便將采集到的數據與 FPGA時(shí)鐘中心對齊。當來(lái)自 IDELAYCTRL 的 IDELAY_READY 信號設定為 High,且存儲器初始化所需的時(shí)鐘周期得到滿(mǎn)足時(shí),延遲校準狀態(tài)機就會(huì )啟動(dòng)。校準過(guò)程包含單次寫(xiě),隨后向同一位置連續進(jìn)行讀,直到找到 Q 和 CQ 信號正好需要的延遲值。讀校準開(kāi)始后,校準狀態(tài)機會(huì )執行以下步驟: 1. 增加 CQ 和 Q 上的 tap 延遲值。如果在某個(gè) tap 值上初次獲取了有效數據,則此 tap 值標志著(zhù)數據有效窗口的開(kāi)端。 2. 繼續增加 CQ 和 Q 的 tap 延遲值,直到達到有效窗口的終端。 3. 將 CQ 置于此有效窗口的中央。降低 tap 值,直到 CQ 被固定于數據有效窗口的中央。 4. 對于 CQ 和 FPGA 時(shí)鐘,數據總線(xiàn) (Q) 將置于中央。重新設置 Q 的 tap 值,即可針對 CQ和系統時(shí)鐘 (CLK0) 得出 Q 的有效窗口。對于 CQ 和 FPGA 時(shí)鐘,數據信號 (Q) 將置于中央。 當所有 Q 信號圍繞 CQ 固定后,延遲校準過(guò)程就結束了,并繼之以讀使能校準。 讀使能邏輯對向存儲器發(fā)送的讀命令進(jìn)行校準,為已采集到并寫(xiě)入讀數據 FIFO 的數據生成寫(xiě)使能。校準邏輯使用 SRL16 構建而成,有助于確定讀命令信號所需寄存器級數的數量,以生成正確的寫(xiě)使能信號。 板設計中的考慮因素 盡管 Virtex-5 系列產(chǎn)品提供了許多與 I/O 和時(shí)鐘控制相關(guān)的高級功能,大大簡(jiǎn)化了存儲器接口設計,但為了使接口可靠而高效,仍需注意基本的電路板設計標準。 需特別強調的是,讀和寫(xiě)通路接口的源同步特性要求接口時(shí)鐘、數據及控制信號具有相匹配的電路板布線(xiàn)長(cháng)度。 例如,QDR II 器件輸入信號(QDR_K、QDR_K_n、QDR_W_n、QDR_R_n、QDR_SA、QDR_BW_n 和 QDR_D)的布線(xiàn)長(cháng)度必須完全匹配,以將控制、地址及數據線(xiàn)接至具備充足建立與保持余量的存儲器器件。物理接口的實(shí)現可確保這些信號在離開(kāi) FPGA 器件輸出時(shí)與QDR_K 和 QDR_K_n 時(shí)鐘邊沿中心對齊。電路板布線(xiàn)必須確保這種關(guān)聯(lián)狀態(tài)能持續到存儲器器件輸入。 同樣,QDR II 器件輸出信號(QDR_Q、QDR_CQ)必須具備完全匹配的布線(xiàn)長(cháng)度,以使這些信號在 Virtex-5 器件的輸入端實(shí)現邊沿對齊。要實(shí)現直接時(shí)鐘控制讀數據采集方法,這一點(diǎn)非常關(guān)鍵。所有合理的板設計工具都可以在可接受的容錯范圍內輕松滿(mǎn)足這些布線(xiàn)長(cháng)度。 時(shí)序分析 本 Virtex-5 QDR II 參考設計利用該器件的獨特 I/O 和時(shí)鐘控制功能,可最大限度地提高性能與時(shí)序余量,同時(shí)大大降低對詳細布局和管腳分配分析的需求。 本部分針對地址/ 控制通路、寫(xiě)數據通路及讀(或采集)數據通路給出一個(gè)時(shí)序分析示例。 地址/ 控制通路 先前已討論過(guò),讀/ 寫(xiě)地址總線(xiàn)、字節寫(xiě)使能信號和讀/ 寫(xiě)控制選通脈沖都與USER_CLK270時(shí)鐘保持同步。這可以確保,對于來(lái)自 USER_CLK0 的輸入 QDR_K 和 QDR_K_n 時(shí)鐘邊沿,這些 SDR 信號具備對存儲器器件的有充足的建立與保持余量。 表2 根據用一個(gè) Virtex-5 器件實(shí)現的 300 MHz 4 字突發(fā) QDR II 存儲器器件接口,顯示針對這些信號的一個(gè)時(shí)序分析示例。 寫(xiě)數據通路 寫(xiě)數據 (QDR_D) 也與 USER_CLK270 保持同步。不過(guò),寫(xiě)數據字作為 DDR 進(jìn)行發(fā)送,因此在QDR_K 和 QDR_K_n 上升沿均需具備充足的建立與保持余量。相應地,表3 所示寫(xiě)通路的時(shí)序分析包括了存儲器時(shí)鐘的最大占空比失真,并基于 300 MHz 4 字突發(fā) QDR II 存儲器器件及速度級別為 -11 的 Virtex-5 器件。 讀數據通路(數據采集) 讀數據通路 (QDR_Q) 值直接被采集至 SERDES 內的 USER_CLK0 時(shí)鐘域。表4 顯示讀數據采集的時(shí)序分析。 結論 本應用指南說(shuō)明了利用 Virtex-5 器件實(shí)現 4 字突發(fā) QDR II SRAM 接口及其時(shí)序的詳細信息。 數據采集機制的應用大大簡(jiǎn)化了在 FPGA 內采集讀數據的任務(wù),且為當前及下一代 QDR IISRAM 存儲器器件提供了高效、強大、可擴展的存儲器接口解決方案。 此 QDRII 參考設計可從 Xilinx 網(wǎng)站下載:http://www.xilinx.com/cn/bvdocs/appnotes/xapp853.zip |