DS34S132 32端口TDM - over –Packet IC采用外部DDR同步DRAM (DDR1)存儲(chǔ)器緩存數(shù)據(jù)。內(nèi)存空間需提供足夠的緩存區(qū)域,以支持256條偽線(PW)/綁定中每一偽線的256ms數(shù)據(jù)包延遲變化(PDV)。如果數(shù)據(jù)包交換網(wǎng)絡(luò)(PSN)沒按正確的先后次序排列數(shù)據(jù),存儲(chǔ)器需確保對(duì)接收數(shù)據(jù)包的重新排序。由于目前DDR3已成為主流存儲(chǔ)器件,為了使DS34S132更方便地采用DDR3,本應(yīng)用介紹了如何實(shí)現(xiàn)DS34S132與DDR3存儲(chǔ)器的對(duì)接。
圖1所示為利用FPGA和DDR3取代DDR1的推薦電路框圖。
圖1 用DDR3和FPGA取代DDR1
借助DDR SDRAM數(shù)據(jù)信號(hào)與時(shí)鐘信號(hào)的混合時(shí)序控制,DDR SDRAM接口能夠支持速率高于典型SDRAM數(shù)據(jù)傳輸。例如,一個(gè)125MHz時(shí)鐘頻率的DDR SDRAM,可以實(shí)現(xiàn)同等頻率SDRAM幾乎兩倍的帶寬(BW)。因此,Maxim開始在其方案中用DDR1取代SDRAM,SDRAM用于Maxim的上一代TDM over Packet(TDMoP)器件。
DDR3 SDRAM采用的是DRAM接口規(guī)范。實(shí)際的DRAM存儲(chǔ)數(shù)據(jù)陣列的存儲(chǔ)架構(gòu)與早期類型相似,具有相似的性能指標(biāo)。DDR3 SDRAM的數(shù)據(jù)傳輸速率是DDR1的4倍,具有更寬頻帶。
目前,DDR1存儲(chǔ)器模塊的使用不如DDR2或DDR3廣泛。但DDR2和DDR3向下、向上都不兼容DDR1.因此,DDR2或DDR3存儲(chǔ)器模塊不能工作在早期采用DDR的主板設(shè)計(jì)中,反之亦然。
DS34S132的DDR接口配置
針對(duì)DS34S132 TDMoP器件內(nèi)部配置:
l DDR1接口必須設(shè)置成3類列地址選通(CAS)
l 必須計(jì)算"刷新頻率",針對(duì)DDR3存儲(chǔ)模塊配置足夠快的時(shí)間間隔
l DDR時(shí)鐘頻率為125MHz
值得注意的是,DDR3有8個(gè)扇區(qū),DS34S132只有2個(gè)扇區(qū)選擇位。因此,其中一半的DDR3存儲(chǔ)器模塊(上區(qū))沒有使用。
DDR3配置
DDR3應(yīng)該運(yùn)行在500MHz時(shí)鐘速度,該頻率是DDR1 125MHz時(shí)鐘頻率的四倍。
我們采用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存儲(chǔ)器。對(duì)于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時(shí),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 在上電時(shí),初始化DDR3存儲(chǔ)器芯片
l 初始化完成后,把從DS34S132發(fā)出DDR1命令轉(zhuǎn)換成DDR3命令/數(shù)據(jù)
i. 讀
ii. 寫
iii. 預(yù)充電
iv. 使用數(shù)字時(shí)鐘模塊(DCM)對(duì)DS34S132的DDR1時(shí)鐘(125MHz)進(jìn)行4倍頻,生成DDR3時(shí)鐘(500MHz)。
v. 使用第二個(gè)DCM產(chǎn)生四個(gè)不同的相位DDR3時(shí)鐘,提供DDR3沿觸發(fā)時(shí)序。此外,利用一路反饋時(shí)鐘(從一個(gè)IO端輸出并返回)調(diào)整這些時(shí)鐘相對(duì)于DDR1時(shí)鐘沿的相位關(guān)系,有助于DS34S132及時(shí)讀取數(shù)據(jù)。
據(jù)此,F(xiàn)PGA與DDR3存儲(chǔ)器相結(jié)合,構(gòu)成類似于DS34S132的DDR1功能。FPGA代碼包括DCM和早期的DDR IO,可從Maxim網(wǎng)站下載程序和詳細(xì)說明。
FPGA采用Spartan,Verilog RTL仿真速度等級(jí)為4,能夠達(dá)到500MHz.FPGA選用接近300的觸發(fā)器,不帶FPGA RAM.我們還使用了兩個(gè)DCM轉(zhuǎn)換時(shí)鐘頻率。為了驗(yàn)證DDR1 - DDR3轉(zhuǎn)換設(shè)計(jì)方案,在Verilog RTL仿真器進(jìn)行以下測(cè)試:
DDR1模式測(cè)試并記錄結(jié)果
通過FPGA測(cè)試DDR3模式,并記錄結(jié)果
監(jiān)測(cè)DDR3獨(dú)立的讀、寫操作,并與DDR1讀、寫操作進(jìn)行對(duì)比
圖2和圖3顯示了DDR1和DDR3的讀、寫仿真結(jié)果。
在Verilog RTL仿真中,可以成功地通過FPGA從DDR3向器件發(fā)送有效信號(hào),同樣也可成功地讀取器件信號(hào)并發(fā)送到DDR3.仿真結(jié)果證明,從DDR1到DDR3轉(zhuǎn)換方案可以正確工作。
圖2 DDR1(上圖)和DDR3(下圖)的寫操作仿真結(jié)果
圖3 DDR1(上圖)和DDR3(下圖)的讀操作仿真結(jié)果
結(jié)論
本文利用Micron DDR3 MT41J128M8參數(shù)模型進(jìn)行FPGA的Verilog RTL仿真,確保器件能夠配合DDR3和Spartan FPGA工作。但該方案并不適用于所有DDR3器件,設(shè)計(jì)人員需要首先了解利用哪些DDR3進(jìn)行設(shè)計(jì)。沒有提供FPGA映射和位文件。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21800瀏覽量
606276 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7529瀏覽量
164383 -
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
1959瀏覽量
64865
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
JEDEC發(fā)布DDR3存儲(chǔ)器標(biāo)準(zhǔn)的DDR3L規(guī)范
DS34S132與TDMoP器件互操作的實(shí)現(xiàn)
![<b class='flag-5'>DS34S132</b>與TDMoP器件互操作的<b class='flag-5'>實(shí)現(xiàn)</b>](https://file1.elecfans.com//web2/M00/A5/DC/wKgZomUMOnuAdApkAAAZfFz9C6o782.jpg)
DDR3存儲(chǔ)器接口控制器IP助力數(shù)據(jù)處理應(yīng)用
基于DDR3存儲(chǔ)器的數(shù)據(jù)處理應(yīng)用
如何用中檔FPGA實(shí)現(xiàn)高速DDR3存儲(chǔ)器控制器?
如何去實(shí)現(xiàn)高速DDR3存儲(chǔ)器控制器?
DS34S132,pdf datasheet (32-Por
DDR3存儲(chǔ)器接口控制器IP核在視頻數(shù)據(jù)處理中的應(yīng)用
![<b class='flag-5'>DDR3</b><b class='flag-5'>存儲(chǔ)器</b>接口控制<b class='flag-5'>器</b>IP核在視頻數(shù)據(jù)處理中的應(yīng)用](https://file1.elecfans.com//web2/M00/A5/A5/wKgZomUMOWaAZiYeAACA4DnDfBA970.jpg)
如何實(shí)現(xiàn)DS34S132與其它TDMoP器件的互操作
![如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>DS34S132</b>與其它TDMoP器件的互操作](https://file1.elecfans.com//web2/M00/A5/DD/wKgZomUMOn2AfjtfAAAQs2aHceA430.gif)
DS34S132使用DDR3內(nèi)存模塊應(yīng)用筆記
DS34S132 32路獨(dú)立TDM端口
![<b class='flag-5'>DS34S132</b> 32路獨(dú)立TDM端口](https://file1.elecfans.com//web2/M00/A6/04/wKgZomUMO0yAI1NIAAAT_Xb0Xe4398.jpg)
基于FPGA的DDR3多端口讀寫存儲(chǔ)管理的設(shè)計(jì)與實(shí)現(xiàn)
![基于FPGA的<b class='flag-5'>DDR3</b>多端口讀寫<b class='flag-5'>存儲(chǔ)</b>管理的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>](https://file1.elecfans.com//web2/M00/A6/EC/wKgZomUMQUmAeBNVAABqXZtsUKo943.png)
Stratix III FPGA的特點(diǎn)及如何實(shí)現(xiàn)和高速DDR3存儲(chǔ)器的接口
FPGA如何與DDR3存儲(chǔ)器進(jìn)行正確的數(shù)據(jù)對(duì)接?
如何實(shí)現(xiàn)DS34S132與TDMOP器件的互操作
![如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>DS34S132</b>與TDMOP器件的互操作](https://file.elecfans.com/web1/M00/D2/90/pIYBAF_JnAKAMBHEAAEq0v7RI6A823.png)
評(píng)論