www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]采用Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設計

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

  儲器接口解決方案。

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

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

  


 

  應用通??煞譃閮深悾阂活愂堑统杀緫茫档推骷杀緸橹饕康?另一類是高性能應用,首要目標是謀求高帶寬。

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

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

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

  

 

  高于 400 Mb/s 速率的更寬總線使得芯片到芯片的接口愈益難以開發(fā),因為需要更大的封裝、更好的電源和接地-信號比率。Virtex-4 和 Virtex-5 FPGA 的開發(fā)使用了先進的稀疏鋸齒形 (Sparse Chevron) 封裝技術,能提供優(yōu)良的信號-電源和接地引腳比率。每個 I/O 引腳周圍都有足夠的電源和接地引腳和板,以確保良好的屏蔽,使由同步交換輸出 (SSO) 所造成的串擾噪音降到最低。

  低成本存儲器接口

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

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

  

 

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

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

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

  

 

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

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

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

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

  高性能存儲器接口

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

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

  

 

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

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

  

 

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

  

[!--empirenews.page--]

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

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

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

  

 

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

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

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

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

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

  控制器設計和集成

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

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

  架構(DDR、DDR2、QDR II、RLDRAM 等)

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

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

  存儲器器件的寬度和深度

  組和行存取算法

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

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

  

 

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

  

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

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

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

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉