<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

本文引用地址:http://dyxdggzs.com/article/151612.htm

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

  Virtex-4 和 Virtex-5 參考支持兩種讀數據采集技術(shù)。Virtex-4 支持的直接時(shí)鐘技術(shù)延遲了讀數據,因而使用 IOB 的輸入 DDR 觸發(fā)器中的系統時(shí)鐘可直接寄存讀數據。為將 時(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í)序不確定性要小一些。例如,對于 而言,這些不確定性就是由器件的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è)設計, 開(kāi)發(fā)了存儲器接口生成器 (MIG) 工具。

  設計和集成

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

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

  架構(DDR、、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)權套件的一部分,可從 免費獲取。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)度和引腳分配的控制。

  



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>