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

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

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

如何實現(xiàn)DS34S132與DDR3存儲器的對接

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-26 08:10 ? 次閱讀

DS34S132 32端口TDM - over –Packet IC采用外部DDR同步DRAM (DDR1)存儲器緩存數(shù)據(jù)。內(nèi)存空間需提供足夠的緩存區(qū)域,以支持256條偽線(PW)/綁定中每一偽線的256ms數(shù)據(jù)包延遲變化(PDV)。如果數(shù)據(jù)包交換網(wǎng)絡(luò)(PSN)沒按正確的先后次序排列數(shù)據(jù),存儲器需確保對接收數(shù)據(jù)包的重新排序。由于目前DDR3已成為主流存儲器件,為了使DS34S132更方便地采用DDR3,本應(yīng)用介紹了如何實現(xiàn)DS34S132與DDR3存儲器的對接。

圖1所示為利用FPGA和DDR3取代DDR1的推薦電路框圖。

如何實現(xiàn)DS34S132與DDR3存儲器的對接

圖1 用DDR3和FPGA取代DDR1

借助DDR SDRAM數(shù)據(jù)信號時鐘信號的混合時序控制,DDR SDRAM接口能夠支持速率高于典型SDRAM數(shù)據(jù)傳輸。例如,一個125MHz時鐘頻率的DDR SDRAM,可以實現(xiàn)同等頻率SDRAM幾乎兩倍的帶寬(BW)。因此,Maxim開始在其方案中用DDR1取代SDRAM,SDRAM用于Maxim的上一代TDM over Packet(TDMoP)器件。

DDR3 SDRAM采用的是DRAM接口規(guī)范。實際的DRAM存儲數(shù)據(jù)陣列的存儲架構(gòu)與早期類型相似,具有相似的性能指標(biāo)。DDR3 SDRAM的數(shù)據(jù)傳輸速率是DDR1的4倍,具有更寬頻帶。

目前,DDR1存儲器模塊的使用不如DDR2或DDR3廣泛。但DDR2和DDR3向下、向上都不兼容DDR1.因此,DDR2或DDR3存儲器模塊不能工作在早期采用DDR的主板設(shè)計中,反之亦然。

DS34S132的DDR接口配置

針對DS34S132 TDMoP器件內(nèi)部配置:

l DDR1接口必須設(shè)置成3類列地址選通(CAS)

l 必須計算"刷新頻率",針對DDR3存儲模塊配置足夠快的時間間隔

l DDR時鐘頻率為125MHz

值得注意的是,DDR3有8個扇區(qū),DS34S132只有2個扇區(qū)選擇位。因此,其中一半的DDR3存儲器模塊(上區(qū))沒有使用。

DDR3配置

DDR3應(yīng)該運行在500MHz時鐘速度,該頻率是DDR1 125MHz時鐘頻率的四倍。

我們采用8位數(shù)據(jù)進(jìn)行Verilog RTL仿真,BW為:500MHz x 2 x 8位。該BW是125MHz x 2 x 16 DDR的兩倍,額外的BW用作從DDR3流水線回傳數(shù)據(jù)給DS34S132,不需占用FPGA的FIFO存儲器。對于DDR3,我們使用以下配置:

CAS延遲:8

CAS寫延遲:6

DLL復(fù)位,然后再使能

我們用Micron DDR3 MT41J128M8(16M x 8 x 8扇區(qū))進(jìn)行仿真。當(dāng)CL= 8(DDR3 - 1066)- 187時,DDR3的周期是1.87ns.如需支持其它DDR3配置/速度,可能還需提升資源配置。我們使用的DDR3仿真具有以下規(guī)格:

'elsif sg187 // sg187 is equivalent to the JEDEC DDR3-1066G (8-8-8) speed bin

eter TCK_MIN 1875; // tCK ps Minimum Clock Cycle Time

eter TJIT_PER 90; // tJIT(per) ps Period JItter

eter TJIT_CC 180; // tJIT(cc) ps Cycle to Cycle jitter

eter TERR_2PER 132; // tERR(2per) ps Accumulated Error (2-cycle)

eter TERR_3PER 157; // tERR(3per) ps Accumulated Error (3-cycle)

eter TERR_4PER 175; // tERR(4per) ps Accumulated Error (4-cycle)

eter TERR_5PER 188; // tERR(5per) ps Accumulated Error (5-cycle)

eter TERR_6PER 200; // tERR(6per) ps Accumulated Error (6-cycle)

eter TERR_7PER 209; // tERR(7per) ps Accumulated Error (7-cycle)

eter TERR_8PER 217; // tERR(8per) ps Accumulated Error (8-cycle)

eter TERR_9PER 224; // tERR(9per) ps Accumulated Error (9-cycle)

eter TERR_10PER 231; // tERR(10per)ps Accumulated Error (10-cycle)

eter TERR_11PER 237; // tERR(11per)ps Accumulated Error (11-cycle)

eter TERR_12PER 242; // tERR(12per)ps Accumulated Error (12-cycle)

eter TDS 75; // tDS ps DQ and DM input setup time relative to DQS

eter TDH 100; // tDH ps DQ and DM input hold time relative to DQS

eter TDQSQ 150; // tDQSQ ps DQS-DQ skew, DQS to last DQ valid, per group, per access

eter TDQSS 0.25; // tDQSS tCK Rising clock edge to DQS/DQS# latching transitioneter TDSS 0.20; // tDSS tCK DQS falling edge to CLK rising (setup time)

eter TDSH 0.20; // tDSH tCK DQS falling edge from CLK rising (hold time)

eter TDQSCK 300; // tDQSCK ps DQS output access time from CK/CK#

eter TQSH 0.38; // tQSH tCK DQS Output High Pulse Width

eter TQSL 0.38; // tQSL tCK DQS Output Low Pulse Width

eter TDIPW 490; // tDIPW ps DQ and DM input Pulse Width

eter TIPW 780; // tIPW ps Control and Address input Pulse Width

eter TIS 275; // tIS ps Input Setup Time

eter TIH 200; // tIH ps Input Hold Time

eter TRAS_MIN 37500; // tRAS ps Minimum Active to Precharge command time

eter TRC 52500; // tRC ps Active to Active/Auto Refresh command time

eter TRCD 15000; // tRCD ps Active to Read/Write command time

eter TRP 15000; // tRP ps Precharge command period

eter TXP 7500; // tXP ps Exit power down to a valid command

eter TCKE 5625; // tCKE ps CKE minimum high or low pulse width

eter TAON 300; // tAON ps RTT turn-on from ODTLon reference

eter TWLS 245; // tWLS ps Setup time for tDQS flop

eter TWLH 245; // tWLH ps Hold time of tDQS flop

eter TWLO 9000; // tWLO ps Write levelization output delay

eter TAA_MIN 15000; // TAA ps Internal READ command to first data

eter CL_TIME 15000; // CL ps Minimum CAS Latency

FPGA配置

FPGA的關(guān)鍵性能:

l 在上電時,初始化DDR3存儲器芯片

l 初始化完成后,把從DS34S132發(fā)出DDR1命令轉(zhuǎn)換成DDR3命令/數(shù)據(jù)

i. 讀

ii. 寫

iii. 預(yù)充電

iv. 使用數(shù)字時鐘模塊(DCM)對DS34S132的DDR1時鐘(125MHz)進(jìn)行4倍頻,生成DDR3時鐘(500MHz)。

v. 使用第二個DCM產(chǎn)生四個不同的相位DDR3時鐘,提供DDR3沿觸發(fā)時序。此外,利用一路反饋時鐘(從一個IO端輸出并返回)調(diào)整這些時鐘相對于DDR1時鐘沿的相位關(guān)系,有助于DS34S132及時讀取數(shù)據(jù)。

據(jù)此,F(xiàn)PGA與DDR3存儲器相結(jié)合,構(gòu)成類似于DS34S132的DDR1功能。FPGA代碼包括DCM和早期的DDR IO,可從Maxim網(wǎng)站下載程序和詳細(xì)說明。

FPGA采用Spartan,Verilog RTL仿真速度等級為4,能夠達(dá)到500MHz.FPGA選用接近300的觸發(fā)器,不帶FPGA RAM.我們還使用了兩個DCM轉(zhuǎn)換時鐘頻率。為了驗證DDR1 - DDR3轉(zhuǎn)換設(shè)計方案,在Verilog RTL仿真器進(jìn)行以下測試:

DDR1模式測試并記錄結(jié)果

通過FPGA測試DDR3模式,并記錄結(jié)果

監(jiān)測DDR3獨立的讀、寫操作,并與DDR1讀、寫操作進(jìn)行對比

圖2和圖3顯示了DDR1和DDR3的讀、寫仿真結(jié)果。

在Verilog RTL仿真中,可以成功地通過FPGA從DDR3向器件發(fā)送有效信號,同樣也可成功地讀取器件信號并發(fā)送到DDR3.仿真結(jié)果證明,從DDR1到DDR3轉(zhuǎn)換方案可以正確工作。

如何實現(xiàn)DS34S132與DDR3存儲器的對接

圖2 DDR1(上圖)和DDR3(下圖)的寫操作仿真結(jié)果

如何實現(xiàn)DS34S132與DDR3存儲器的對接

圖3 DDR1(上圖)和DDR3(下圖)的讀操作仿真結(jié)果

結(jié)論

本文利用Micron DDR3 MT41J128M8參數(shù)模型進(jìn)行FPGA的Verilog RTL仿真,確保器件能夠配合DDR3和Spartan FPGA工作。但該方案并不適用于所有DDR3器件,設(shè)計人員需要首先了解利用哪些DDR3進(jìn)行設(shè)計。沒有提供FPGA映射和位文件。

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163092
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    1698

    瀏覽量

    64213
收藏 人收藏

    評論

    相關(guān)推薦

    JEDEC發(fā)布DDR3存儲器標(biāo)準(zhǔn)的DDR3L規(guī)范

    JEDEC 固態(tài)技術(shù)協(xié)會,微電子產(chǎn)業(yè)標(biāo)準(zhǔn)全球領(lǐng)導(dǎo)制定機構(gòu),今天宣布正式發(fā)布JEDEC DDR3L規(guī)范。這是廣受期待的DDR3存儲器標(biāo)準(zhǔn)JESD79-3 的附件。這是
    發(fā)表于 08-05 09:10 ?3656次閱讀

    DS34S132與TDMoP器件互操作的實現(xiàn)

    互操作性是一個系統(tǒng)經(jīng)過很少甚至無需系統(tǒng)操作員介入而實現(xiàn)與其它系統(tǒng)協(xié)同工作的能力,本應(yīng)用筆記介紹如何設(shè)置DS34S132 TDM-over-Packet (TDMoP) IC,使其與其它TDMoP器件實現(xiàn)互操作
    發(fā)表于 04-18 08:34 ?1903次閱讀
    <b class='flag-5'>DS34S132</b>與TDMoP器件互操作的<b class='flag-5'>實現(xiàn)</b>

    DDR3存儲器接口控制IP助力數(shù)據(jù)處理應(yīng)用

    了設(shè)計的一大挑戰(zhàn)。FPGA可通過在單個FPGA中實現(xiàn)多個視頻處理來提供強大的處理能力。那么現(xiàn)在的挑戰(zhàn)就變成了要使數(shù)據(jù)盡快且高效地從FPGA進(jìn)出。DDR3存儲器系統(tǒng)在大多數(shù)情況下可以為
    發(fā)表于 05-24 05:00

    基于DDR3存儲器的數(shù)據(jù)處理應(yīng)用

    了設(shè)計的一大挑戰(zhàn)。FPGA可通過在單個FPGA中實現(xiàn)多個視頻處理來提供強大的處理能力。那么現(xiàn)在的挑戰(zhàn)就變成了要使數(shù)據(jù)盡快且高效地從FPGA進(jìn)出。DDR3存儲器系統(tǒng)在大多數(shù)情況下可以為
    發(fā)表于 05-27 05:00

    如何用中檔FPGA實現(xiàn)高速DDR3存儲器控制?

    的工作時鐘頻率。然而,設(shè)計至DDR3的接口也變得更具挑戰(zhàn)性。在FPGA中實現(xiàn)高速、高效率的DDR3控制是一項艱巨的任務(wù)。直到最近,只有少數(shù)高端(昂貴)的FPGA有支持與高速的
    發(fā)表于 08-09 07:42

    如何去實現(xiàn)高速DDR3存儲器控制?

    DDR3存儲器控制面臨的挑戰(zhàn)有哪些?如何用一個特定的FPGA系列LatticeECP3實現(xiàn)DDR3
    發(fā)表于 04-30 07:26

    DS34S132,pdf datasheet (32-Por

    The IETF PWE3 SAToP/CESoPSN/HDLC-compliant DS34S132 provides the interworking functions
    發(fā)表于 07-25 22:09 ?16次下載

    DDR3存儲器接口控制IP核在視頻數(shù)據(jù)處理中的應(yīng)用

     DDR3存儲器系統(tǒng)可以大大提升各種數(shù)據(jù)處理應(yīng)用的性能。然而,和過去幾代(DDRDDR2)器件相比,DDR3
    發(fā)表于 07-16 10:46 ?1795次閱讀
    <b class='flag-5'>DDR3</b><b class='flag-5'>存儲器</b>接口控制<b class='flag-5'>器</b>IP核在視頻數(shù)據(jù)處理中的應(yīng)用

    如何實現(xiàn)DS34S132與其它TDMoP器件的互操作

    介紹如何設(shè)置DS34S132 TDM-over-Packet (TDMoP) IC,使其與其它TDMoP器件實現(xiàn)互操作。
    發(fā)表于 03-20 23:11 ?1526次閱讀
    如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>DS34S132</b>與其它TDMoP器件的互操作

    DS34S132使用DDR3內(nèi)存模塊應(yīng)用筆記

    IC with a DDR3 memory chip. The DS34S132 uses an external double data rate (DDR) synchronous DRAM (or
    發(fā)表于 08-29 10:20 ?41次下載

    DS34S132 32路獨立TDM端口

    IETF PWE3 SAToP/CESoPSN/HDLC兼容的DS34S132為L2TPv3/IP、UDP/IP、MPLS (MFA-8)以及城域以太網(wǎng)(MEF-8)網(wǎng)絡(luò)提供將TDM數(shù)據(jù)流轉(zhuǎn)換為TDM-over-Packet (
    發(fā)表于 09-27 11:11 ?1465次閱讀
    <b class='flag-5'>DS34S132</b> 32路獨立TDM端口

    基于FPGA的DDR3多端口讀寫存儲管理的設(shè)計與實現(xiàn)

    為了解決視頻圖形顯示系統(tǒng)中多個端口訪問DDR3的數(shù)據(jù)存儲沖突,設(shè)計并實現(xiàn)了基于FPGA的DDR3存儲管理系統(tǒng)。
    發(fā)表于 11-18 18:51 ?6837次閱讀
    基于FPGA的<b class='flag-5'>DDR3</b>多端口讀寫<b class='flag-5'>存儲</b>管理的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    Stratix III FPGA的特點及如何實現(xiàn)和高速DDR3存儲器的接口

    其他元件,占用了寶貴的電路板空間。 Stratix? III FPGA具有專用內(nèi)置I/O電路,降低了高速DDR3存儲器設(shè)計的難度。觀看這一演示,了解怎樣輕松實現(xiàn)1,067 Mbps DD
    的頭像 發(fā)表于 06-22 02:04 ?3680次閱讀

    FPGA如何與DDR3存儲器進(jìn)行正確的數(shù)據(jù)對接?

    大家好,我叫Paul Evans,是Stratix III產(chǎn)品營銷經(jīng)理。到目前為止,我已經(jīng)從事了6年的雙倍數(shù)據(jù)速率存儲器工作,今天和大家一起討論一下DDR3。DDR3的主要難題之一是它引入了數(shù)據(jù)交錯
    的頭像 發(fā)表于 06-22 05:00 ?8630次閱讀

    如何實現(xiàn)DS34S132與TDMOP器件的互操作

    可能為其它系統(tǒng)提供服務(wù)或接受其它系統(tǒng)的服務(wù),從而使不同廠商的系統(tǒng)能夠協(xié)同工作。本應(yīng)用筆記著重介紹 Maxim TDM-over-Packet (TDMoP) IC,DS34S132。文章介紹了在 DS34S132 與其他廠商 TDMoP 器件之間
    發(fā)表于 12-04 02:21 ?5次下載
    如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>DS34S132</b>與TDMOP器件的互操作