0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-23 08:11 ? 次閱讀

簡(jiǎn)介

QDR SRAM 器件為滿足更高的帶寬存儲(chǔ)要求而開發(fā),以網(wǎng)絡(luò)和電信應(yīng)用為目標(biāo)?;?QDR 架構(gòu)具有獨(dú)立的讀、寫數(shù)據(jù)通路,便于同時(shí)操作。每個(gè)時(shí)鐘周期內(nèi),兩個(gè)通路均使用雙倍數(shù)據(jù)速率 (DDR) 傳輸發(fā)送兩個(gè)字,一個(gè)在時(shí)鐘上升沿發(fā)送,一個(gè)在時(shí)鐘下降沿發(fā)送。結(jié)果,在每個(gè)時(shí)鐘周期內(nèi)會(huì)傳輸四個(gè)總線寬度的數(shù)據(jù)(兩個(gè)讀和兩個(gè)寫),這就是四倍數(shù)據(jù)速率的由來(lái)。

QDR I 和 QDR II 的規(guī)范由 QDR 聯(lián)盟(Cypress、IDT、NEC、Samsung 和 Renesas)共同定義和開發(fā)。

QDR 存儲(chǔ)器器件以 2 字突發(fā)和 4 字突發(fā)架構(gòu)提供。針對(duì)每個(gè)讀或?qū)懻?qǐng)求,2 字突發(fā)器件傳輸兩個(gè)字。DDR 地址總線用于在前半個(gè)時(shí)鐘周期允許讀請(qǐng)求,在后半個(gè)時(shí)鐘周期允許寫請(qǐng)求。與之相反,4 字突發(fā)器件針對(duì)每個(gè)讀或?qū)懻?qǐng)求傳輸四個(gè)字,這樣便只需要一個(gè)單倍數(shù)據(jù)速率 (SDR)地址總線,就能最大程度地利用數(shù)據(jù)帶寬。讀、寫操作請(qǐng)求必須在交替的時(shí)鐘周期(即不重疊的時(shí)鐘周期)內(nèi)進(jìn)行,以分享地址總線。

本應(yīng)用指南所討論的參考設(shè)計(jì)針對(duì)的是 4 字突發(fā) QDR II SRAM 器件。QDR II 架構(gòu)的獨(dú)特性能之一是源同步回送時(shí)鐘 (CQ) 輸出,它與器件輸入時(shí)鐘 (K) 頻率相同,與通過(guò)讀通路輸出 (Q) 傳輸?shù)臄?shù)據(jù)邊沿對(duì)齊。CQ 時(shí)鐘輸出使用 QDR II 存儲(chǔ)器器件內(nèi)的延遲鎖定環(huán) (DLL) 電路被重新安排,使其與 Q 數(shù)據(jù)輸出對(duì)齊。對(duì)于在遠(yuǎn)端器件上進(jìn)行的讀數(shù)據(jù)采集操作,此種時(shí)鐘傳輸(亦稱源同步)接口方法允許較大的時(shí)序余量。

4 字突發(fā) QDR II 存儲(chǔ)器接口上的并發(fā)讀/ 寫操作。QDR II 存儲(chǔ)器的所有輸入與輸入時(shí)鐘(K 和 K)同步,傳輸給存儲(chǔ)器時(shí),數(shù)據(jù)中心通常與輸入時(shí)鐘 K 及 K 邊沿對(duì)齊。

注: 低有效的讀控制 (R) 和寫控制 (W) 引腳在時(shí)鐘周期內(nèi)交替出現(xiàn),以實(shí)現(xiàn)單獨(dú) SDR 地址總線 (SA) 的共享。

寫總線數(shù)據(jù)輸入 (D) 值在 DDR 模式下被發(fā)送到存儲(chǔ)器,開始于寫控制引腳激活后的下一個(gè)K時(shí)鐘上升沿。讀總線數(shù)據(jù)輸出 (Q) 值在 DDR 模式下從存儲(chǔ)器中發(fā)送,并與 CQ 和 CQ 源同步回送時(shí)鐘輸出邊沿對(duì)齊。在 CQ 時(shí)鐘輸出的上升沿(緊隨 K 輸入時(shí)鐘的下一個(gè)上升沿之后),讀總線中的第一個(gè)字開始發(fā)送。

在從數(shù)據(jù)輸入 (D) 字中選擇要寫入存儲(chǔ)器的特定字節(jié)時(shí),QDR II 存儲(chǔ)器還可使用低有效的字節(jié)寫 (BW) 使能引腳。為清晰起見,圖1 中省略了這些信號(hào)。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

圖1 的時(shí)序圖表示 2 字突發(fā) QDR II 存儲(chǔ)器接口上的并發(fā)讀/ 寫操作。在時(shí)鐘的前半個(gè)周期,DDR 地址總線允許讀地址被傳輸給存儲(chǔ)器;在時(shí)鐘的后半個(gè)周期,DDR 地址總線允許寫地址出現(xiàn)于其中。因此,低有效的讀控制 (/R) 和寫控制 (/W) 引腳可在同一時(shí)鐘周期內(nèi)設(shè)定。

兩個(gè)寫總線數(shù)據(jù)輸入 (D) 值在 DDR 模式下被發(fā)送到存儲(chǔ)器,開始于寫地址有效前的那個(gè) K 時(shí)鐘上升沿。讀總線數(shù)據(jù)輸出 (Q) 值在 DDR 模式下從存儲(chǔ)器中發(fā)送,并與 CQ 和 /CQ 源同步回送時(shí)鐘輸出邊沿對(duì)齊。在 /CQ 時(shí)鐘輸出的上升沿(緊隨 /K 輸入時(shí)鐘的下一個(gè)上升沿之后),讀總線中的第一個(gè)字開始發(fā)送。

設(shè)計(jì)概述

圖2 為 Virtex-5 QDR II 參考設(shè)計(jì)的高層次框圖,表明了 QDR II 存儲(chǔ)器器件的外部連接以及用于發(fā)送讀/ 寫命令的 FPGA 內(nèi)部資源接口。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

在圖2 中,QDR II 器件的 C 和 C 引腳均被設(shè)定為 High。

如第 4 頁(yè)圖3 所示,Virtex-5 QDR II 參考設(shè)計(jì)由以下四個(gè)主要部分組成:

用戶接口

物理接口

讀/ 寫狀態(tài)機(jī)

延遲校準(zhǔn)狀態(tài)機(jī)

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

此用戶接口使用完全基于 SDR 信號(hào)的簡(jiǎn)單協(xié)議創(chuàng)建讀/ 寫請(qǐng)求。此模塊主要由 FIFO16 基元構(gòu)成,用于在讀/ 寫操作執(zhí)行前后存儲(chǔ)相應(yīng)的地址和數(shù)據(jù)值。有關(guān)用戶接口時(shí)序協(xié)議的詳情,請(qǐng)參閱第 5 頁(yè)“用戶接口”。

讀/ 寫狀態(tài)機(jī)主要負(fù)責(zé)監(jiān)控用戶接口模塊內(nèi) FIFO 的狀態(tài),調(diào)整用戶接口和物理接口間的數(shù)據(jù)流,并向外部存儲(chǔ)器器件發(fā)送實(shí)際讀/ 寫命令。此狀態(tài)機(jī)確保讀/ 寫操作按照 QDR II 存儲(chǔ)器規(guī)范的要求,以并發(fā)方式在最短延遲內(nèi)完成。

物理接口負(fù)責(zé)生成正確的時(shí)序關(guān)系和 DDR 信號(hào),以便以符合其命令協(xié)議和時(shí)序要求的方式與外部存儲(chǔ)器器件通信

延遲校準(zhǔn)狀態(tài)機(jī)是物理層中一個(gè)不可分割的組成部分,大大簡(jiǎn)化了在 FPGA 內(nèi)采集讀數(shù)據(jù)的任務(wù),同時(shí)又可實(shí)現(xiàn)最佳性能。Virtex-5 器件的每個(gè)輸入引腳都包含一個(gè)可動(dòng)態(tài)調(diào)整的可編程延遲元件 (IDELAY),用于控制 5 ns 窗口中輸入通路上的延遲時(shí)間。延遲校準(zhǔn)狀態(tài)機(jī)利用此獨(dú)特功能調(diào)整從存儲(chǔ)器器件返回的讀數(shù)據(jù)的時(shí)序,因此它無(wú)需任何復(fù)雜的數(shù)據(jù)采集技術(shù)即可直接與全局 FPGA 系統(tǒng)時(shí)鐘 (USER_CLK0) 實(shí)現(xiàn)同步。

第 5 頁(yè)表1 總結(jié)了 Virtex-5 QDR II 參考設(shè)計(jì)的規(guī)范,包括性能目標(biāo)和器件應(yīng)用細(xì)節(jié)。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

實(shí)現(xiàn)詳情

實(shí)現(xiàn)QDR II 參考設(shè)計(jì)的目的是利用 Virtex-5 系列的獨(dú)特功能。I/O、時(shí)鐘控制和存儲(chǔ)元件技術(shù)方面的發(fā)展使此設(shè)計(jì)的高性能和全承包操作得以實(shí)現(xiàn)。以下部分對(duì)此設(shè)計(jì)的實(shí)現(xiàn)給出進(jìn)一步的詳細(xì)說(shuō)明。

用戶接口

用戶接口模塊利用六個(gè) FIFO16 模塊來(lái)存儲(chǔ)讀/ 寫操作的地址和數(shù)據(jù)值。三個(gè) FIFO16 模塊用于寫命令,一個(gè)用于存儲(chǔ)寫地址 (USER_AD_WR) 和字節(jié)寫使能 (USER_BW_n) 信號(hào),另外兩個(gè)用于存儲(chǔ)要寫入存儲(chǔ)器的 Low (USER_DWL) 和 High (USER_DWH) 36 位數(shù)據(jù)字。讀命令也使用三個(gè) FIFO16 模塊,一個(gè)用于存儲(chǔ)讀地址 (USER_AD_RD),另兩個(gè)用于存儲(chǔ)由于執(zhí)行讀而從存儲(chǔ)器中返回的 Low (USER_QRL) 和 High (USER_QRH) 36 位數(shù)據(jù)字。

第 6 頁(yè)圖4 表示使用 4 字突發(fā)參考設(shè)計(jì)時(shí),向用戶接口發(fā)送讀/ 寫請(qǐng)求所需的時(shí)序協(xié)議。如前所述,此接口使用了所有已與主 FPGA 設(shè)計(jì)系統(tǒng)時(shí)鐘 (USER_CLK0) 同步的 SDR 信號(hào)。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

寫請(qǐng)求在 USER_CLK0 上升沿期間通過(guò)低有效的 USER_W_n 信號(hào)創(chuàng)建。此 18 位寫地址(USER_AD_WR) 必須在此同一時(shí)鐘邊沿傳輸。此時(shí),要寫入存儲(chǔ)器的第一個(gè)和第二個(gè) 36 位數(shù)據(jù)字也會(huì)分別傳輸給 36 位 USER_DWL 和 USER_DWH 輸入總線。4 字突發(fā)的第三個(gè)字和第四個(gè)字會(huì)在下一個(gè) USER_CLK0 上升沿分別傳輸給 USER_DWL 和 USER_DWH。

讀請(qǐng)求在 USER_CLK0 上升沿期間通過(guò)低有效的 USER_R_n 信號(hào)創(chuàng)建。此 18 位讀地址(USER_AD_RD) 必須在此同一時(shí)鐘邊沿傳輸。執(zhí)行讀命令后,4 字突發(fā)值存儲(chǔ)于讀數(shù)據(jù) FIFO中。在 USER_CLK0 上升沿,一個(gè)低有效的 USER_QEN_n 信號(hào)會(huì)檢索這些值并將其傳輸至 36位 USER_QRL 和 USER_QRH 輸出。第一和第二個(gè)字在首個(gè)周期中傳輸,此時(shí)的USER_QEN_n 設(shè)置為 Low,緊接著是第三和第四個(gè)字在隨后一個(gè)周期中傳輸,此時(shí)的USER_QEN_n 也設(shè)置為 Low。

與 QDR II 存儲(chǔ)器本身不同,用戶接口在同一時(shí)鐘周期接受讀、寫請(qǐng)求(如圖4 所示的第三個(gè)周期)。讀/ 寫狀態(tài)機(jī)管理向外部存儲(chǔ)器器件所發(fā)送的讀與寫請(qǐng)求的交替,使用戶接口免于承擔(dān)這項(xiàng)職責(zé)。

用戶接口還提供了一批用于指示讀/ 寫 FIFO 狀態(tài)的信號(hào),在圖4 中未顯示。高有效的

USER_WR_FULL 輸出表明寫 FIFO 已滿。此情況表明,寫請(qǐng)求隊(duì)列縮減之前將不再接受任何寫請(qǐng)求。USER_WR_FULL 為 High 時(shí)創(chuàng)建的任何寫請(qǐng)求都將被直接忽略。類似情況適用于讀請(qǐng)求的 USER_RD_FULL 信號(hào)。

高有效的 USER_QR_EMPTY 輸出表明不再有讀數(shù)據(jù)值存儲(chǔ)在讀數(shù)據(jù) FIFO 中。在此情況下從USER_QRL 和 USER_QRH 總線讀值的嘗試將被忽略。此情況會(huì)一直持續(xù),直到執(zhí)行其他讀命令并且有相關(guān)數(shù)據(jù)值存入讀數(shù)據(jù) FIFO。

讀/ 寫狀態(tài)機(jī)

第 8 頁(yè)圖5 為 4 字突發(fā)讀/ 寫狀態(tài)機(jī)的狀態(tài)圖。此狀態(tài)機(jī)負(fù)責(zé)調(diào)節(jié)用戶接口和物理接口之間的數(shù)據(jù)流。它根據(jù)保存在用戶接口 FIFO 中的請(qǐng)求向外部存儲(chǔ)器器件發(fā)送讀/ 寫命令。

USER_RESET 每次都會(huì)將狀態(tài)機(jī)恢復(fù)到 INIT 狀態(tài),此時(shí)存儲(chǔ)器暫停運(yùn)行,直到延遲校準(zhǔn)狀態(tài)機(jī)完成所有 QDR_Q 輸入的 IDELAY 模塊上的延遲調(diào)整,使讀通路數(shù)據(jù)與 FPGA 系統(tǒng)時(shí)鐘(USER_CLK0) 中心對(duì)齊。校準(zhǔn)操作完成的信號(hào)是一個(gè)高有效的 DLY_CAL_DONE 輸入,該輸入將讀/ 寫狀態(tài)機(jī)轉(zhuǎn)換到空閑狀態(tài),以等候來(lái)自用戶接口的讀/ 寫請(qǐng)求。

在空閑狀態(tài),寫命令首先假設(shè)向存儲(chǔ)器寫數(shù)據(jù)必須始終發(fā)生在任何有效讀數(shù)據(jù)出現(xiàn)之前。當(dāng)沒有待處理的讀或?qū)懻?qǐng)求時(shí),此狀態(tài)機(jī)將在空閑狀態(tài)下循環(huán)運(yùn)行。

用戶接口 FIFO 中的待處理寫請(qǐng)求會(huì)使?fàn)顟B(tài)機(jī)轉(zhuǎn)入寫狀態(tài),在此狀態(tài)下,寫命令通過(guò)內(nèi)部的WR_INIT_n 選通脈沖發(fā)送。此選通脈沖從 FIFO 中取出寫地址和數(shù)據(jù)值,并使外部 QDR_W_n寫控制選通脈沖進(jìn)入存儲(chǔ)器器件。

如果包含待處理讀請(qǐng)求,此狀態(tài)機(jī)會(huì)隨之轉(zhuǎn)入讀狀態(tài),此時(shí)內(nèi)部 RD_INIT_n 選通脈沖被激活。RD_INIT_n 選通脈沖從 FIFO 中取出讀地址,并向存儲(chǔ)器器件發(fā)送一個(gè)外部 QDR_R_n 選通脈沖。作為此處理過(guò)程的結(jié)果之一,對(duì)讀數(shù)據(jù) FIFO 中的返回值也將進(jìn)行采集。

讀/ 寫狀態(tài)機(jī)持續(xù)監(jiān)控用戶接口 FIFO 狀態(tài)信號(hào),以確定是否存在待處理讀/ 寫請(qǐng)求。連續(xù)不斷的并發(fā)讀/ 寫請(qǐng)求流將導(dǎo)致狀態(tài)機(jī)只在讀狀態(tài)和寫狀態(tài)之間轉(zhuǎn)換,以確保正確無(wú)誤地將請(qǐng)求交替發(fā)送到外部存儲(chǔ)器。一串只寫請(qǐng)求將導(dǎo)致空閑狀態(tài)和寫狀態(tài)輪流出現(xiàn),同樣,一串讀請(qǐng)求也會(huì)在空閑狀態(tài)和讀狀態(tài)間轉(zhuǎn)換。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

物理接口

Virtex-5 QDR II 參考設(shè)計(jì)的物理接口為讀/ 寫命令與外部存儲(chǔ)器器件之間的通信生成實(shí)際的I/O 信號(hào)和時(shí)序關(guān)系,包括 DDR 數(shù)據(jù)信號(hào)。它提供必要的時(shí)序余量及為滿足整體設(shè)計(jì)性能規(guī)范所需的 I/O 信號(hào)標(biāo)準(zhǔn)。QDR II 設(shè)計(jì)的所有 I/O 信號(hào)都使用 HSTL-I 發(fā)送。此部分詳細(xì)介紹物理接口的每個(gè)部件。

時(shí)鐘控制機(jī)制

此 QDR II 設(shè)計(jì)使用的是所有 Virtex-5 I/O 模塊中都有的輸出 DDR (ODDR) 基元。這些內(nèi)置DDR 寄存器功能極大地簡(jiǎn)化了以下任務(wù):生成準(zhǔn)確的時(shí)鐘、地址和數(shù)據(jù),以及與 QDR II 存儲(chǔ)器器件通信的控制信號(hào)。IDDR 和 ODDR 基元都有多種運(yùn)行模式,可分別確定采集或傳輸?shù)腄DR 數(shù)據(jù)以怎樣的方式出現(xiàn)在 FPGA 內(nèi)部資源和 I/O 引腳中。

QDR II 設(shè)計(jì)中的時(shí)鐘控制機(jī)制(第 9 頁(yè)圖6)使用反沿 (opposite-edge) 模式的 ODDR 寄存器來(lái)為存儲(chǔ)器器件生成 QDR_K 和 QDR_K_n 時(shí)鐘。因?yàn)闀r(shí)鐘信號(hào)的時(shí)序與 QDR II 地址、數(shù)據(jù)和控制信號(hào)幾乎相同,此時(shí)鐘傳輸機(jī)制會(huì)有效地從時(shí)序余量因素中刪除 FPGA 的 clock-to-out參數(shù)。因此,就 clock-to-out 參數(shù)而言,所有外部傳輸信號(hào)都得以“匹配”。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

寫通路

QDR II 存儲(chǔ)器的寫通路包括執(zhí)行寫操作所必需的地址、數(shù)據(jù)和控制信號(hào)。寫地址

(QDR_AD_WR)、控制選通脈沖 (QDR_W_n) 和字節(jié)寫使能 (QDR_BW_n) 信號(hào)都使用 SDR 格式。不過(guò),寫數(shù)據(jù)值 (QDR_D) 利用 DDR 信號(hào)在規(guī)定的時(shí)鐘周期實(shí)現(xiàn)所需的 2 字或 4 字突發(fā)。

所有這些寫通路信號(hào)在傳輸時(shí)都必須與 QDR_K 和 QDR_K_n 時(shí)鐘邊沿中心對(duì)齊。因此,這些信號(hào)的輸出寄存器與 USER_CLK270 時(shí)鐘同步。信號(hào)以同樣的頻率運(yùn)行,但對(duì)于 USER_CLK0則會(huì)出現(xiàn) 270°(時(shí)鐘周期的 75%)的相差。這能確保對(duì)輸入 QDR_K 和 QDR_K_n 時(shí)鐘邊沿而言,存儲(chǔ)器器件有足夠的建立與保持余量。

第 10 頁(yè)圖7 說(shuō)明了如何使用 USER_CLK270 和 ODDR 寄存器為 QDR_D 寫數(shù)據(jù)通路生成所需的 DDR 信號(hào)。ODDR 寄存器配置為同沿 (same-edge) 模式,允許在 USER_CLK270 的同一上升沿從 FPGA 架構(gòu)中同時(shí)采集兩個(gè) 36 位數(shù)據(jù)字(FIFO_DWL 和 FIFO_DWH)。FIFO_DWL 值在此上升沿后立即發(fā)送到 QDR_D 寫數(shù)據(jù)總線,隨后,F(xiàn)IFO_DWH 值在 USER_CLK270 的下一個(gè)下降沿從 ODDR 模塊發(fā)送。對(duì)此過(guò)程加以重復(fù),以生成一個(gè) 4 字寫數(shù)據(jù)突發(fā)。

使用 I/O 模塊中的單個(gè)觸發(fā)器以類似的方式生成讀/ 寫地址、字節(jié)寫使能和讀/ 寫控制選通脈沖,以創(chuàng)建與 USER_CLK270 同步的 SDR 信號(hào)。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

讀數(shù)據(jù)通路

基于 CQ 的數(shù)據(jù)采集機(jī)制可以實(shí)現(xiàn)以極高的時(shí)鐘速率從存儲(chǔ)器中采集讀數(shù)據(jù)。此數(shù)據(jù)采集機(jī)制使用在每個(gè) I/O 中都提供的 ISERDES 功能。輸入時(shí)鐘 (CQ) 和數(shù)據(jù) (Q) 經(jīng)延遲后與 ISERDES 模塊中的系統(tǒng)時(shí)鐘 (CLK0) 保持同步。

讀數(shù)據(jù)通路包括兩個(gè)階段:讀數(shù)據(jù)采集和讀數(shù)據(jù)重新采集。兩個(gè)階段均在各個(gè) Virtex-5 I/O 的內(nèi)置 ISERDES 中實(shí)現(xiàn)。途經(jīng) BUFIO 的 CQ 信號(hào)將采集 ISERDES 模塊內(nèi)首組寄存器中的輸入讀數(shù)據(jù) (Q)。第二組寄存器用來(lái)將 CQ 域中的數(shù)據(jù)傳輸至系統(tǒng)時(shí)鐘域。

ISERDES 具有三種時(shí)鐘輸入:CLK、OCLK 和 CLKDIV。讀數(shù)據(jù) (Q) 在 CLK (CQ) 域經(jīng)采集完成后,通過(guò) OCLK 和 CLKDIV 傳輸至系統(tǒng)時(shí)鐘(圖8):

CLK:布線通過(guò) BUFIO 的讀時(shí)鐘 (CQ) 提供 CLK 時(shí)鐘輸入。

OCLK 和 CLKDIV:這些時(shí)鐘負(fù)責(zé)對(duì)輸入數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換。由于數(shù)據(jù)以與接口速度相同的頻率進(jìn)行傳輸,系統(tǒng)時(shí)鐘 (CLK_0) 提供針對(duì) OCLK 和 CLKDIV 的輸入。

在ISERDES 中采集到的數(shù)據(jù)可以被寫入 Virtex-5 FPGA 中的內(nèi)置 FIFO36 模塊。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

基于 CQ 的數(shù)據(jù)采集機(jī)制要求將讀時(shí)鐘(CQ 和 CQ)置于 clock-capable I/O (CCIO) 中,時(shí)鐘從這些位置可以訪問(wèn)各組 (bank) 內(nèi)可用的 BUFIO。

對(duì)于 x36 寬的 QDR II SRAM 接口,CQ_P 和 CQ_N 均用來(lái)采集讀數(shù)據(jù)(第 11 頁(yè)圖9)。一個(gè)Virtex-5 器件中的每個(gè)組都包含 40 個(gè) I/O,因此一個(gè) x36 接口的讀數(shù)據(jù)需要置于兩個(gè)組中。

CQ_P 用來(lái)采集一個(gè)組中的首組字節(jié),而 CQ_N 用來(lái)采集相鄰組中剩余的數(shù)據(jù)字節(jié)。CQ_P 和CQ_N 均需置于相應(yīng)組中 CCIO 的 P 側(cè)。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

延遲校準(zhǔn)

延遲校準(zhǔn)邏輯負(fù)責(zé)提供讀數(shù)據(jù) (Q) 和時(shí)鐘 (CQ) 所需要的延遲,以便將采集到的數(shù)據(jù)與 FPGA時(shí)鐘中心對(duì)齊。當(dāng)來(lái)自 IDELAYCTRL 的 IDELAY_READY 信號(hào)設(shè)定為 High,且存儲(chǔ)器初始化所需的時(shí)鐘周期得到滿足時(shí),延遲校準(zhǔn)狀態(tài)機(jī)就會(huì)啟動(dòng)。校準(zhǔn)過(guò)程包含單次寫,隨后向同一位置連續(xù)進(jìn)行讀,直到找到 Q 和 CQ 信號(hào)正好需要的延遲值。讀校準(zhǔn)開始后,校準(zhǔn)狀態(tài)機(jī)會(huì)執(zhí)行以下步驟:

1. 增加 CQ 和 Q 上的 tap 延遲值。如果在某個(gè) tap 值上初次獲取了有效數(shù)據(jù),則此 tap 值標(biāo)志著數(shù)據(jù)有效窗口的開端。

2. 繼續(xù)增加 CQ 和 Q 的 tap 延遲值,直到達(dá)到有效窗口的終端。

3. 將 CQ 置于此有效窗口的中央。降低 tap 值,直到 CQ 被固定于數(shù)據(jù)有效窗口的中央。

4. 對(duì)于 CQ 和 FPGA 時(shí)鐘,數(shù)據(jù)總線 (Q) 將置于中央。重新設(shè)置 Q 的 tap 值,即可針對(duì) CQ和系統(tǒng)時(shí)鐘 (CLK0) 得出 Q 的有效窗口。對(duì)于 CQ 和 FPGA 時(shí)鐘,數(shù)據(jù)信號(hào) (Q) 將置于中央。

當(dāng)所有 Q 信號(hào)圍繞 CQ 固定后,延遲校準(zhǔn)過(guò)程就結(jié)束了,并繼之以讀使能校準(zhǔn)。

讀使能邏輯對(duì)向存儲(chǔ)器發(fā)送的讀命令進(jìn)行校準(zhǔn),為已采集到并寫入讀數(shù)據(jù) FIFO 的數(shù)據(jù)生成寫使能。校準(zhǔn)邏輯使用 SRL16 構(gòu)建而成,有助于確定讀命令信號(hào)所需寄存器級(jí)數(shù)的數(shù)量,以生成正確的寫使能信號(hào)。

板設(shè)計(jì)中的考慮因素

盡管 Virtex-5 系列產(chǎn)品提供了許多與 I/O 和時(shí)鐘控制相關(guān)的高級(jí)功能,大大簡(jiǎn)化了存儲(chǔ)器接口設(shè)計(jì),但為了使接口可靠而高效,仍需注意基本的電路板設(shè)計(jì)標(biāo)準(zhǔn)。

需特別強(qiáng)調(diào)的是,讀和寫通路接口的源同步特性要求接口時(shí)鐘、數(shù)據(jù)及控制信號(hào)具有相匹配的電路板布線長(zhǎng)度。

例如,QDR II 器件輸入信號(hào)(QDR_K、QDR_K_n、QDR_W_n、QDR_R_n、QDR_SA、QDR_BW_n 和 QDR_D)的布線長(zhǎng)度必須完全匹配,以將控制、地址及數(shù)據(jù)線接至具備充足建立與保持余量的存儲(chǔ)器器件。物理接口的實(shí)現(xiàn)可確保這些信號(hào)在離開 FPGA 器件輸出時(shí)與QDR_K 和 QDR_K_n 時(shí)鐘邊沿中心對(duì)齊。電路板布線必須確保這種關(guān)聯(lián)狀態(tài)能持續(xù)到存儲(chǔ)器器件輸入。

同樣,QDR II 器件輸出信號(hào)(QDR_Q、QDR_CQ)必須具備完全匹配的布線長(zhǎng)度,以使這些信號(hào)在 Virtex-5 器件的輸入端實(shí)現(xiàn)邊沿對(duì)齊。要實(shí)現(xiàn)直接時(shí)鐘控制讀數(shù)據(jù)采集方法,這一點(diǎn)非常關(guān)鍵。所有合理的板設(shè)計(jì)工具都可以在可接受的容錯(cuò)范圍內(nèi)輕松滿足這些布線長(zhǎng)度。

時(shí)序分析

本 Virtex-5 QDR II 參考設(shè)計(jì)利用該器件的獨(dú)特 I/O 和時(shí)鐘控制功能,可最大限度地提高性能與時(shí)序余量,同時(shí)大大降低對(duì)詳細(xì)布局和管腳分配分析的需求。

本部分針對(duì)地址/ 控制通路、寫數(shù)據(jù)通路及讀(或采集)數(shù)據(jù)通路給出一個(gè)時(shí)序分析示例。

地址/ 控制通路

先前已討論過(guò),讀/ 寫地址總線、字節(jié)寫使能信號(hào)和讀/ 寫控制選通脈沖都與USER_CLK270時(shí)鐘保持同步。這可以確保,對(duì)于來(lái)自 USER_CLK0 的輸入 QDR_K 和 QDR_K_n 時(shí)鐘邊沿,這些 SDR 信號(hào)具備對(duì)存儲(chǔ)器器件的有充足的建立與保持余量。

表2 根據(jù)用一個(gè) Virtex-5 器件實(shí)現(xiàn)的 300 MHz 4 字突發(fā) QDR II 存儲(chǔ)器器件接口,顯示針對(duì)這些信號(hào)的一個(gè)時(shí)序分析示例。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

寫數(shù)據(jù)通路

寫數(shù)據(jù) (QDR_D) 也與 USER_CLK270 保持同步。不過(guò),寫數(shù)據(jù)字作為 DDR 進(jìn)行發(fā)送,因此在QDR_K 和 QDR_K_n 上升沿均需具備充足的建立與保持余量。相應(yīng)地,表3 所示寫通路的時(shí)序分析包括了存儲(chǔ)器時(shí)鐘的最大占空比失真,并基于 300 MHz 4 字突發(fā) QDR II 存儲(chǔ)器器件及速度級(jí)別為 -11 的 Virtex-5 器件。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

讀數(shù)據(jù)通路(數(shù)據(jù)采集)

讀數(shù)據(jù)通路 (QDR_Q) 值直接被采集至 SERDES 內(nèi)的 USER_CLK0 時(shí)鐘域。表4 顯示讀數(shù)據(jù)采集的時(shí)序分析。

利用Virtex-5器件實(shí)現(xiàn)在FPGA內(nèi)實(shí)現(xiàn)QDR SRAM接口設(shè)計(jì)

結(jié)論

本應(yīng)用指南說(shuō)明了利用 Virtex-5 器件實(shí)現(xiàn) 4 字突發(fā) QDR II SRAM 接口及其時(shí)序的詳細(xì)信息。

數(shù)據(jù)采集機(jī)制的應(yīng)用大大簡(jiǎn)化了在 FPGA 內(nèi)采集讀數(shù)據(jù)的任務(wù),且為當(dāng)前及下一代 QDR IISRAM 存儲(chǔ)器器件提供了高效、強(qiáng)大、可擴(kuò)展的存儲(chǔ)器接口解決方案。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598908
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163091
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    697

    瀏覽量

    64935
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Virtex-5器件QDR II SRAM接口設(shè)計(jì)

    些位置可以訪問(wèn)各組 (bank) 內(nèi)可用的 BUFIO。對(duì)于 x36 寬的 QDR II SRAM 接口,CQ_P 和 CQ_N 均用來(lái)采集讀數(shù)據(jù)(第 11 頁(yè)圖9)。一個(gè)
    發(fā)表于 04-22 07:00

    如何在VIrtex-5器件實(shí)現(xiàn)擴(kuò)展LVDS?

    根據(jù)Virtex-5用戶指南:擴(kuò)展LVDS提供更高的驅(qū)動(dòng)能力和電壓擺幅(350-750),但如何實(shí)現(xiàn)擴(kuò)展LVDS而不是通用LVDS。非常感謝。
    發(fā)表于 05-27 11:38

    virtex-5的io引腳的時(shí)鐘速度是多少

    喜 我正在使用xcv5sx95t,我正在使用一個(gè)時(shí)鐘速度為150mhz的qdr ram作為我的記憶,這個(gè)界面我想從外部給一個(gè)150 mhz的時(shí)鐘到virtex-5,以便與其他設(shè)備正確同步(而不是
    發(fā)表于 06-03 14:24

    Virtex-5 FPGA中如何使用BRAM代替SRAM

    知道深度遠(yuǎn)不及SRAM提供的,但是我想利用Virtex-5中的BRAM選項(xiàng)作為緩沖區(qū)來(lái)保持它。暫時(shí)取樣直到被PC取得。這有多難實(shí)現(xiàn)?
    發(fā)表于 06-17 11:31

    如何利用Virtex-5器件實(shí)現(xiàn)QDR II SRAM接口

    如何利用Virtex-5器件實(shí)現(xiàn)QDR II SRAM接口
    發(fā)表于 04-30 06:02

    Xilinx Virtex-5 FXT FPGA開發(fā)方案

    Xilinx公司的Virtex-5 FXT FPGA器件在業(yè)界率先集成了嵌入式PowerPC 440處理器模塊、高速RocketIO GTX收發(fā)器和專用XtremeDSP 處理能力。作為65nm
    發(fā)表于 11-24 11:17 ?32次下載

    利用Virtex-5 FPGA迎接存儲(chǔ)器接口設(shè)計(jì)挑戰(zhàn)

    利用Virtex-5 FPGA迎接存儲(chǔ)器接口設(shè)計(jì)挑戰(zhàn):在不支持新的接口協(xié)議時(shí),存儲(chǔ)器接口設(shè)計(jì)師總
    發(fā)表于 04-25 10:28 ?57次下載

    基于Virtex-5 FPGA的音視頻監(jiān)視系統(tǒng)設(shè)計(jì)

    引言 本文探討在Virtex-5 FPGA實(shí)現(xiàn)設(shè)計(jì)的一些難題,然后用一個(gè)項(xiàng)目作為示范來(lái)詳解充分利用其功能集的
    發(fā)表于 11-12 09:44 ?887次閱讀
    基于<b class='flag-5'>Virtex-5</b> <b class='flag-5'>FPGA</b>的音視頻監(jiān)視系統(tǒng)設(shè)計(jì)

    QDR SRAM與Spartan3 FPGA接口設(shè)計(jì)

    以CY7C1302為例來(lái)詳細(xì)介紹QDR的工作原理及其與Spartan3系列FPGA接口設(shè)計(jì)。CY7C1302是賽普拉斯公司生產(chǎn)的一種QDR SRA
    發(fā)表于 06-01 09:57 ?5175次閱讀
    <b class='flag-5'>QDR</b> <b class='flag-5'>SRAM</b>與Spartan3 <b class='flag-5'>FPGA</b>的<b class='flag-5'>接口</b>設(shè)計(jì)

    利用Virtex-5 SXT 的高性能DSP解決方案

    Xilinx Virtex-5 SXT FPGA 平臺(tái)提供了獨(dú)特的單芯片解決方案,充分利用大規(guī)模并行計(jì)算達(dá)到超高性能,同時(shí)將功耗降到最低。
    發(fā)表于 08-20 15:22 ?1100次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>Virtex-5</b> SXT 的高性能DSP解決方案

    基于Virtex-5的串行傳輸系統(tǒng)的實(shí)現(xiàn)

    為了解決下一代無(wú)線通信基站中多天線(MIMO)信號(hào)處理所帶來(lái)的巨大數(shù)據(jù)吞吐量要求,本文基于Virtex-5 FPGA的GTP單元給出了一種在高級(jí)電信計(jì)算架構(gòu)(ATCA)機(jī)箱內(nèi)實(shí)現(xiàn)單對(duì)差分線進(jìn)行3.125Gbps串
    發(fā)表于 08-25 10:37 ?1416次閱讀
    基于<b class='flag-5'>Virtex-5</b>的串行傳輸系統(tǒng)的<b class='flag-5'>實(shí)現(xiàn)</b>

    WWP248 - 移植到Virtex-5 FPGA的指南

    由于Virtex-5 器件的基礎(chǔ)架構(gòu)與以往的FPGA 器件不同,因此,要為特定設(shè)計(jì)選擇合適的Virtex-5
    發(fā)表于 01-17 17:36 ?33次下載

    WP245 - 使用Virtex-5系列FPGA獲得更高系統(tǒng)性能

    Virtex-5 器件包括基于第二代高級(jí)硅片組合模塊 (ASMBL) 列架構(gòu)的多平臺(tái) FPGA 系列。集成了為獲得最佳性能、更高集成度和更低功耗設(shè)計(jì)的若干新型架構(gòu)元件,Virtex-5
    發(fā)表于 02-17 14:39 ?51次下載
    WP245 - 使用<b class='flag-5'>Virtex-5</b>系列<b class='flag-5'>FPGA</b>獲得更高系統(tǒng)性能

    基于Virtex-5 RocketI0TM GTP收發(fā)器實(shí)現(xiàn)串行高速接口的開發(fā)應(yīng)用

    Virtex-5 RocketIOTM GTP收發(fā)器的串行高速系統(tǒng)接口開發(fā)過(guò)程中位寬轉(zhuǎn)換的幾個(gè)技術(shù)問(wèn)題提出了解決方案,并以SATA2.0開發(fā)為例,通過(guò)Xilinx Virtex-5 XC5
    的頭像 發(fā)表于 06-24 16:10 ?2793次閱讀
    基于<b class='flag-5'>Virtex-5</b> RocketI0TM GTP收發(fā)器<b class='flag-5'>實(shí)現(xiàn)</b>串行高速<b class='flag-5'>接口</b>的開發(fā)應(yīng)用

    基于直流和開關(guān)特性的Virtex-5 FPGA產(chǎn)品介紹

    基于直流和開關(guān)特性的Virtex-5 FPGA產(chǎn)品介紹
    發(fā)表于 07-12 14:11 ?18次下載