<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設(shè)計

          基于Xilinx 和FPGA的DDR2 SDRAM存儲器接口控制器的設(shè)計

          作者: 時間:2010-08-27 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/151612.htm

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

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

            第二種技術(shù)稱為 DQS 的技術(shù)。此技術(shù)用于更高的時鐘速率,Virtex-4 和 Virtex-5FPGA 二者都支持此技術(shù)。它使用 DQS 來采集相應(yīng)的讀數(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)。

            

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

            在校準過程中會增加 DQS 和數(shù)據(jù)的延遲 tap 以執(zhí)行邊沿檢測,檢測方式是通過連續(xù)從存儲器中讀回數(shù)據(jù)并對預(yù)編寫培訓(xùn)模式或存儲器 DQS 本身進行采樣,直到確定數(shù)據(jù)選通脈沖 (DQS) 的前沿或前后兩沿。之后數(shù)據(jù)或 DQS 的 tap 數(shù)被設(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ù)變化的時序不確定性要小一些。例如,對于 而言,這些不確定性就是由器件的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 時鐘輸出進行時鐘控制。這種技術(shù)確保了在 FPGA 的輸出部分,DQS 與寫操作的數(shù)據(jù)中心對齊。

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

            設(shè)計和集成

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

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

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

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

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

            存儲器器件的寬度和深度

            組和行存取算法

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

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

            

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

            



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();