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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > DDR4的PCB設(shè)計(jì)及仿真

          DDR4的PCB設(shè)計(jì)及仿真

          作者: 時(shí)間:2024-05-13 來源:頭條 收藏

          相對(duì)于DDR3, 首先在外表上就有一些變化,比如將內(nèi)存下部設(shè)計(jì)為中間稍微突出,邊緣變矮的形狀,在中央的高點(diǎn)和兩端的低點(diǎn)以平滑曲線過渡,這樣的設(shè)計(jì)可以保證金手指和內(nèi)存插槽有足夠的接觸面從而確保內(nèi)存穩(wěn)定,另外,內(nèi)存的金手指設(shè)計(jì)也有明顯變化,金手指中間的防呆缺口也比DDR3更加靠近中央。當(dāng)然,DDR4最重要的使命還是提高頻率和帶寬,總體來說,DDR4具有更高的性能,更好的穩(wěn)定性和更低的功耗,那么從SI的角度出發(fā),主要有下面幾點(diǎn), 下面章節(jié)對(duì)主要的幾個(gè)不同點(diǎn)進(jìn)行說明。

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


          表1 DDR3和DDR4差異

          1.2
          POD 和SSTL的比較

          POD作為DDR4新的驅(qū)動(dòng)標(biāo)準(zhǔn),最大的區(qū)別在于接收端的終端電壓等于VDDQ,而DDR3所采用的SSTL接收端的終端電壓為VDDQ/2。這樣做可以降低寄生引腳電容和I/O終端功耗,并且即使在VDD電壓降低的情況下也能穩(wěn)定工作。其等效電路如圖1(DDR4), 圖2(DDR3)。


          圖1 POD ((Pseudo Open Drain)


          圖2 SSTL(Stub Series Terminated Logic)

          可以看出,當(dāng)DRAM在低電平的狀態(tài)時(shí),SSTL和POD都有電流流動(dòng)


          圖3 DDR4


          圖4 DDR3

          而當(dāng)DRAM為高電平的狀態(tài)時(shí),SSTL繼續(xù)有電流流動(dòng),而POD由于兩端電壓相等,所以沒有電流流動(dòng)。這也是DDR4更省電的原因


          圖5 DDR4

          圖6 DDR3

          1.3
          數(shù)據(jù)總線倒置 (DBI)

          如上面描述,根據(jù)POD的特性,當(dāng)數(shù)據(jù)為高電平時(shí),沒有電流流動(dòng),所以降低DDR4功耗的一個(gè)方法就是讓高電平盡可能多,這就是DBI技術(shù)的核心。舉例來說,如果在一組8-bit的信號(hào)中,有至少5-bit是低電平的話,那么對(duì)所有的信號(hào)進(jìn)行反轉(zhuǎn),就有至少5-bit信號(hào)是高電平了。DBI信號(hào)變?yōu)榈捅硎舅行盘?hào)已經(jīng)翻轉(zhuǎn)過(DBI信號(hào)為高表示原數(shù)據(jù)沒有翻轉(zhuǎn))。這種情況下,一組9根信號(hào)(8個(gè)DQ信號(hào)和1個(gè)DBI信號(hào))中,至少有五個(gè)狀態(tài)為高,從而有效降低功耗。

          圖7 DBI Example

          1.4
          ODT控制

          為了提升信號(hào)質(zhì)量, 從DDR2開始將DQ, DM, DQS/DQS#的Termination電阻內(nèi)置到Controller和DRAM中, 稱之為ODT (On Die Termination)。Clock和ADD/CMD/CTRL信號(hào)仍需要使用外接的Termination電阻。


          圖8 On Die Termination

          在DRAM中,On-Die Termination的等效電阻值通過Mode Register (MR)來設(shè)置,ODT的精度通過參考電阻RZQ來控制,DDR4的ODT支持240, 120, 80, 60, 48, 40, 34 歐姆。

          和DDR3不同的是,DDR4的ODT有四種模式:Data termination disable, RTT_NOM,RTT_WR, 和 RTT_PARK。Controller可以通過讀寫命令以及ODT Pin來控制RTT狀態(tài),RTT_PARK是DDR4新加入的選項(xiàng),它一般用在多Rank的DDR配置中,比如一個(gè)系統(tǒng)中有Rank0, Rank1以及Rank2, 當(dāng)控制器向Rank0寫數(shù)據(jù)時(shí),Rank1和Rank2在同一時(shí)間內(nèi)可以為高阻抗(Hi-Z)或比較弱的終端(240,120,80,etc.), RTT_Park就提供了一種更加靈活的終端方式,讓Rank1和Rank2不用一直是高阻模式,從而可以讓DRAM工作在更高的頻率上。

          一般來說,在Controller中可以通過BIOS調(diào)整寄存器來調(diào)節(jié)ODT的值,但是部分Controller廠商并不推薦這樣做,以Intel為例,Intel給出的MRC Code中已經(jīng)給出了最優(yōu)化的ODT的值,理論上用戶可以通過等方法來得到其他ODT值并在BIOS中修改,但是由此帶來的所有問題將有設(shè)計(jì)廠商來承擔(dān)。下面表格是Intel提供的優(yōu)化方案。


          表2 DQ Write ODT Table for 3DPC


          表3 DQ Read ODT Table for 3DPC

          1.5
          參考電壓Vref

          眾所周知,DDR信號(hào)一般通過比較輸入信號(hào)和另外一個(gè)參考信號(hào)(Vref)來決定信號(hào)為高或者低,然而在DDR4中,一個(gè)Vref卻不見了,先來看看下面兩種設(shè)計(jì),可以看出來,在DDR4的設(shè)計(jì)中,VREFCA和DDR3相同,使用外置的分壓電阻或者電源控制芯片來產(chǎn)生,然而VREFDQ在設(shè)計(jì)中卻沒有了,改為由芯片內(nèi)部產(chǎn)生,這樣既節(jié)省了設(shè)計(jì)費(fèi)用,也增加了Routing空間。

          圖9 DDR3設(shè)計(jì)

          圖10 DDR4設(shè)計(jì)

          DRAM內(nèi)部VREFDQ通過寄存器(MR6)來調(diào)節(jié),主要參數(shù)有Voltage range, step size, VREF step time, VREF full step time,如下表所示。

          表4 參考電壓

          每次開機(jī)的時(shí)候,DRAM Controller都會(huì)通過一系列的校準(zhǔn)來調(diào)整DRMA端輸入數(shù)據(jù)信號(hào)的VREFDQ,優(yōu)化Timing和電壓的Margin,也就是說,VREFDQ 不僅僅取決于VDD, 而且和傳輸線特性,接收端芯片特性都會(huì)有關(guān)系,所以每次Power Up的時(shí)候,VREFDQ的值都可能會(huì)有差異。

          因?yàn)閂ref的不同,Vih/Vil都會(huì)有差異,可以通過調(diào)整ODT來看Vref的區(qū)別,用一個(gè)的例子來說明。對(duì)于DDR3,調(diào)整ODT波形會(huì)上下同步浮動(dòng),而調(diào)整DDR4 OOT的時(shí)候,波形只有一邊移動(dòng)。


          圖11 拓?fù)?/p>


          圖12 DDR3仿真結(jié)果


          圖13 DDR4仿真結(jié)果

          1.6
          DDR4 Layout Routing新方法

          在所有的Layout走線中,DDR無需質(zhì)疑是最復(fù)雜的,不僅要考慮阻抗匹配,還要考慮長(zhǎng)度匹配,而且數(shù)量眾多的數(shù)據(jù)、地址線,不得不考慮串?dāng)_的影響。

          DDR4數(shù)據(jù)速率提高以后,這些方面的影響變得更為嚴(yán)重,尤其是現(xiàn)在很多設(shè)計(jì)為了節(jié)省成本,PCB尺寸和層數(shù)都要求盡可能的變小,這樣對(duì)阻抗和串?dāng)_的要求就變的更有挑戰(zhàn)性,一般SI工程師和Layout工程師都會(huì)想各種辦法來滿足這些需求,很多時(shí)候也不得不妥協(xié)折衷,比如在做疊層設(shè)計(jì)的時(shí)候盡量讓線寬變小,在BGA Breakout區(qū)域采用更細(xì)的線,等等。但這些方法只能對(duì)設(shè)計(jì)做微小的調(diào)整,其實(shí)很難從根本上解決問題。最近Intel研究發(fā)現(xiàn)的一種新方法很有意思,可以在一定程度上很好的平衡阻抗(線寬)和串?dāng)_(線間距)。在此整理出來供大家參考。

          先來看一個(gè)實(shí)際的Layout例子,兩根紅線之間的走線采用鋸齒形狀。沒錯(cuò),這就是Intel新研究出來的新方法,官方名稱為“Tabbed Routing”。


          圖14 DDR4 Tabbed Routing

          Tabbed Routing主要的方法是在空間比較緊張的區(qū)域(一般為BGA區(qū)域和DIMM插槽區(qū)域),減小線寬,而增加凸起的小塊(Tab),如下圖所示。


          圖15 Tab routing方法

          這種方法可以增加兩根線之間的互容特性而保持其電感特性幾乎不變,而增加的電容可以有效控制每一層的的阻抗,減小外層的遠(yuǎn)端串?dāng)_。仿真結(jié)果如下圖所示。



          圖16 HFSS仿真結(jié)果

          由仿真結(jié)果可以看出來,該方法對(duì)阻抗和遠(yuǎn)端串?dāng)_確實(shí)可以很好的平衡,當(dāng)然,對(duì)于Tab的尺寸,需要根據(jù)實(shí)際PCB做詳細(xì)的仿真設(shè)計(jì),Intel也提供了一些Tool可以參考。有興趣的讀者,可以參閱更多資料

          2DDR4 Simulation

          2.1
          Pre-Simulation with HyperLynx

          如果Controller和DRAM都有IBIS模型,可以用HyperLynx對(duì)DDR4進(jìn)行很方便的Simulation, 仿真方法和其他DDR相同,通過Pre-Simulation, 可以對(duì)整個(gè)系統(tǒng)的拓?fù)湟约耙恍┘?xì)節(jié)進(jìn)行確定,比如Impedance(由Stackup以及線寬和線間距來確定),ODT值的選擇,T型結(jié)構(gòu)中Stub長(zhǎng)度的控制,ADD/CMD/CTRL終端電阻的取值大小等等。

          2.1.1 ADD/CMD/CTRL終端電阻取值

          假設(shè)ADD電路如下,工作在2400MTs(Add/CMD為1.2Gbps),發(fā)送端為U16,采用Fly-By結(jié)構(gòu)到五組DRAM芯片,每組DRAM采用T結(jié)構(gòu)(實(shí)際Layout中,Top面一個(gè)DRAM芯片,Bottom面一個(gè)DRAM芯片),T型長(zhǎng)度的Stub為77mil, 終端電阻為32歐姆,終端電壓為0.6V。


          圖17 ADD仿真拓?fù)?/p>

          由仿真結(jié)果可以看出來,T型結(jié)構(gòu)兩端因?yàn)橥耆珜?duì)稱,所以波形幾乎一樣,為了方便觀察,只看其中一個(gè)波形,離Controller由近及遠(yuǎn),DRAM分別為U5, U4, U3, U2, U1, 其眼圖分別如下:

          可以看出來,距離Controller越近的芯片,其波形越“亂”,但是上升沿卻很快,而距離終端電阻越近的芯片,其波形越好,但是上升沿卻變慢。那么如何才能得到最優(yōu)化的波形呢,下面通過掃描終端電阻的值看看是否會(huì)提高信號(hào)質(zhì)量,通過HyperLynx的Sweep功能,設(shè)置終端電阻阻值為27,33,39,45四個(gè)阻值。

          圖18 Sweep設(shè)置 圖19 Sweep設(shè)置

          U5(距離Controller最近)的眼圖如下,依次對(duì)應(yīng)終端電阻阻值為27,33,39,45歐姆:


          U4的眼圖如下,依次對(duì)應(yīng)終端電阻阻值為27,33,39,45歐姆:

          U3的眼圖如下,依次對(duì)應(yīng)終端電阻阻值為27,33,39,45歐姆:

          U2的眼圖如下,依次對(duì)應(yīng)終端電阻阻值為27,33,39,45歐姆

          U1的眼圖如下,依次對(duì)應(yīng)終端電阻阻值為27,33,39,45歐姆

          從上面的波形可以看出來,對(duì)應(yīng)每一個(gè)DRAM的第三張波形都是最好的,也就是說對(duì)應(yīng)39歐姆的終端電阻可以得到最優(yōu)化的波形。

          2.1.2 Data信號(hào)Stub的長(zhǎng)度

          一般DDR4的設(shè)計(jì)中,Data信號(hào)都采用Pin to Pin的設(shè)計(jì)方式,但在某些設(shè)計(jì)中,由于PCB空間限制或者控制器限制,也有需要采用一拖二的設(shè)計(jì)(T型結(jié)構(gòu)),在筆者所遇到的一個(gè)設(shè)計(jì)中,就遇到這種情況,綜合考慮下面兩種方案,如果采用T型拓?fù)浣Y(jié)構(gòu),如圖20所示,可以最大可能的節(jié)約PCB空間,但是如果DIMM0或者DIMM1只插一根的時(shí)候,另一邊會(huì)有較長(zhǎng)的Stub出現(xiàn),對(duì)信號(hào)質(zhì)量會(huì)有影響。如果采用菊花鏈結(jié)構(gòu),如圖21所示,在只插DIMM0的情況下,同樣會(huì)有Stub影響。而且這種拓?fù)浣Y(jié)構(gòu)需要DIMM0和DIMM1之間的信號(hào)線之間滿足長(zhǎng)度匹配,在DIMM0和DIMM1比較靠近的情況下,繞線會(huì)有一定難度。而如果增加DIMM0和DIMM1的距離,其Stub會(huì)變得更長(zhǎng),信號(hào)質(zhì)量沒有辦法得到控制。從信號(hào)完整性方面考慮,兩種方案均會(huì)存在Stub的影響,但是從Layout的角度來看,方案一有一定便利性,而且其Stub可以控制在500mil以內(nèi)。所以最終選擇方案一作為最終方案。當(dāng)然,這種設(shè)計(jì)是以犧牲信號(hào)Margin作為代價(jià)的,信號(hào)速率會(huì)收到一定影響,在筆者的項(xiàng)目中,在只插一根內(nèi)存的時(shí)候,信號(hào)速率最大只能跑到1866Mb/s.


          圖20 DDR4 T型結(jié)構(gòu)

          圖21 DDR4菊花鏈結(jié)構(gòu)

          從仿真的角度出發(fā),這種仿真需要考慮的因素很多,控制器模型,PCB模型,Connector模型,以及最后的內(nèi)存條模型,而通常情況下,Connector模型和內(nèi)存條模型很難拿到,而且有時(shí)候就算拿到,也是不同類型的模型,整體Channel仿真需要更多時(shí)間和精力來完成。

          如果時(shí)間有限,需要對(duì)設(shè)計(jì)做快速評(píng)估,用HyperLynx做快速仿真也是可以參考的,在下面的例子中,假設(shè)一個(gè)Conntorller需要驅(qū)動(dòng)兩根DIMM或者兩顆內(nèi)存顆粒,系統(tǒng)工作在2400Mb/s, TL2和TL3的長(zhǎng)度可以用來大概評(píng)估PCB Stub長(zhǎng)度加上Connector長(zhǎng)度加上內(nèi)存條長(zhǎng)度。(此處只是用來做大概評(píng)估,如果時(shí)間條件運(yùn)行,強(qiáng)烈建議拿到各個(gè)部分精確模型做比較準(zhǔn)確的仿真)。

          從這個(gè)簡(jiǎn)單的仿真可以看出來,Stub對(duì)于信號(hào)質(zhì)量的影響還是很明顯的,特別對(duì)于一根內(nèi)存槽懸空的狀態(tài)下,上面的例子中,Stub達(dá)到1000 mil的時(shí)候,在只插一根內(nèi)存的情況下,眼圖已經(jīng)非常糟糕,所以在實(shí)際設(shè)計(jì)中,需要在設(shè)計(jì)成本和信號(hào)速率之間進(jìn)行均衡,取舍。在筆者所做的設(shè)計(jì)中,因?yàn)镻CB空間限制,最終選擇在單根內(nèi)存的時(shí)候只跑到1866Mb/s。


          圖22 數(shù)據(jù)線仿真拓?fù)?/p>

          在Stub長(zhǎng)度為500mil的時(shí)候,兩根內(nèi)存都插和只插一根的眼圖如下:

          在Stub長(zhǎng)度為1000mil的時(shí)候,兩根內(nèi)存都插和只插一根的眼圖如下:

          在用Intel的芯片作為DDR Controller做設(shè)計(jì)的時(shí)候,Intel所提供的SI Model可以提供一個(gè)比較完整的仿真,Intel所提供的Simulation Deck中,包含了DDR連接器,DIMM模型,如果能找到和實(shí)際項(xiàng)目匹配的模型,可以替換Deck中的模型,如果找不到模型,直接用Deck中所提供的模型也是非常有參考意義的。

          2.2
          Intel SISTAI仿真

          Intel所提供的Memory Bit Error Rate Executable (MBERE) tool集成在其Intel SISTAI(Signal Integrity Support Tools for Advanced Interfaces)網(wǎng)站系統(tǒng)上面,SISTAI可以進(jìn)行PCIE,SATA, USB,QPI等等高速信號(hào)的仿真,DDR4仿真模塊為MBER, 其基本思想是先基于Hspice產(chǎn)生一個(gè)Step Response, 然后把仿真結(jié)果.TR0文件放進(jìn)SISTAI系統(tǒng)進(jìn)行計(jì)算,產(chǎn)生Worse Case的眼圖,大致仿真流程如下:

          2.2.1 DDR通道建模

          Intel的仿真基于10根線模型,八根DQ線加上兩根DQS線,可以用Intel提供的Causal-W Element Tool來產(chǎn)生W Element models, 也可以用ADS,Hspice等工具對(duì)傳輸線建模,對(duì)于Post-Layout來說,可以使用PowerSI, Siwave等軟件提取DDR通道的S參數(shù)。注意這里的DQ和DQS的順序必須和Intel提供的順序相同,如圖23所示。

          圖23 DDR數(shù)據(jù)線建模

          2.2.2 Hspice仿真

          Intel仿真模型還是比較詳細(xì),提供了各種模型以及各種不同情況下的Simulation Deck, 在實(shí)際仿真的時(shí)候,需要用實(shí)際設(shè)計(jì)的模型替換Deck中的參數(shù),以S參數(shù)為例,假設(shè)提取了整個(gè)DDR通道的S參數(shù),那么需要在pcakage的參數(shù)之后加入PCB通道模型,如下圖第二個(gè)紅框所示,之前的一些參數(shù),可以刪除或者加上*號(hào)來Block掉。

          圖24 Intel仿真模型


          圖25 Hspice編輯實(shí)例

          Hspice仿真得到Step Response, 結(jié)果如下:


          圖26 Hspice仿真結(jié)果

          2.2.3 SISTAI仿真

          得到Tr0文件后,需要把Tro放到SISTAI系統(tǒng)中進(jìn)行計(jì)算,操作流程如下:

          圖27 SISTAI仿真方法

          點(diǎn)擊Success可以得到仿真結(jié)果,比較遺憾的是,SISTAI只能看到眼寬,眼高等仿真數(shù)據(jù),并不提供眼圖的顯示。


          圖28 SISTAI仿真結(jié)果

          Intel的文件中也提供了Spec可以對(duì)仿真結(jié)果進(jìn)行對(duì)比判斷


          表5 DQ Write Eye Target Minimums


          表6 DQ Read Eye Target Minimums

          3DDR4 RMT Margin測(cè)試Fail問題實(shí)例

          3.1
          設(shè)計(jì)情況

          該設(shè)計(jì)采用Intel Haswell-EP CPU作為DDR4 Controller, 采用3DPC(DIMM Per Channel)的設(shè)計(jì),如下圖29所示。DDR4運(yùn)行速率為1600Mb/s。


          圖29 DDR4設(shè)計(jì)拓?fù)?/p>

          3.2
          問題描述

          主板做好后,需要對(duì)DDR4信號(hào)進(jìn)行測(cè)試驗(yàn)證,但是對(duì)于內(nèi)存條類的DDR4,測(cè)試點(diǎn)非常難找,測(cè)試結(jié)果也很不準(zhǔn)確,所有選擇只測(cè)試Memory Margin。在用Intel提供的Margin測(cè)試工具RMT進(jìn)行測(cè)試的時(shí)候,測(cè)試了各種不同廠商的內(nèi)存條,分別有Hynix 8G, Hynix 16G, Samsung 8G, Samsung 16G, Samsung 32G, Micron 8G, Micron 16G, 其中只有Micron 8G 結(jié)果顯示RxVLow, RxVhigh的值小于14(Spec為大于等于14),其他內(nèi)存條測(cè)試結(jié)果均滿足Spec要求。


          表6 RMT測(cè)試結(jié)果

          3.3
          Memory Margin Test

          上面說了RMT測(cè)試Fail,但是RMT測(cè)試是什么呢?下面對(duì)Memory的一般測(cè)試做大概介紹。眾所周知,實(shí)際PCB做好后,我們需要對(duì)其進(jìn)行測(cè)試以驗(yàn)證信號(hào)完整性。通常是采用示波器測(cè)試對(duì)DDR信號(hào)線在讀寫時(shí)的信號(hào)質(zhì)量,但是這種測(cè)試存在很大的局限性,比如DDR信號(hào)到達(dá)每一個(gè)Component端的測(cè)點(diǎn)無法被點(diǎn)測(cè)到,測(cè)試點(diǎn)往往距離芯片pad還有一段距離,需要一些額外的測(cè)試設(shè)備,這樣勢(shì)必會(huì)影響準(zhǔn)確性,另外,DDR信號(hào)讀寫分離一直都比較難處理,即使使用儀器廠商提供的專業(yè)測(cè)試軟件,也往往看不到非常準(zhǔn)確的波形,還有測(cè)試點(diǎn)只位于芯片外部, Memory Controller內(nèi)部對(duì)信號(hào)Timing的調(diào)整無法被測(cè)到,所以在采用示波器測(cè)試波形之外, 還非常有必要進(jìn)行Memory Margin測(cè)試。

          圖30 DDR4測(cè)試設(shè)備

          圖31 DDR4測(cè)試眼圖

          簡(jiǎn)單的Memory Margin的測(cè)試方法是, 在Controller和DRAM都使用外部VREF供電的條件下, 調(diào)節(jié)VREF的電壓幅度, 同時(shí)運(yùn)行Memory Stress Test軟件(如: Golden Memory, MSTRESS 等等), 直到出現(xiàn)測(cè)試Fail的VREF值同默認(rèn)VREF值間的差值, 記為VREF Margin。調(diào)節(jié)VREF并不會(huì)影響信號(hào)傳輸?shù)牟ㄐ? 因?yàn)閂REF只是芯片接收端(Controller或DRAM)判斷輸入為0或1的判斷依據(jù)。然而在DDR4時(shí)代,Vrefdq已經(jīng)集成到芯片內(nèi)部,我們無法對(duì)其進(jìn)行調(diào)節(jié)。

          這個(gè)時(shí)候一些專門的測(cè)試軟件就比較方便,比如Intel就提供了RMT和EVTS做為DDR Margin測(cè)試。


          圖32 Margin測(cè)試原理

          RMT(DDR Rank Margin Tool),其原理是修改設(shè)置, 讓BIOS在開機(jī)時(shí)自動(dòng)運(yùn)行Training程序, 同時(shí)通過Debug Port輸出Training的結(jié)果, 然后分析輸出的打印信息, 從而得到Memory Margin。所得到的結(jié)果不僅僅包含VREF Margin, 還包含Write/Read Timing Margin, ADD/CMD Timing Margin…而EVTS是對(duì)RMT的一個(gè)補(bǔ)充,可以進(jìn)行per-bit margin測(cè)試,如果Margin不佳,左右或上下不對(duì)稱的時(shí)候,可以用EVTS 2D Margin來了解成因是否為眼圖形狀所致。

          3.4
          問題分析

          3.4.1 Micron 8G 本體分析

          因?yàn)槠渌麅?nèi)存條RMT測(cè)試都是PASS的,唯有Micron 8G的測(cè)試是Fail,第一點(diǎn)想到的就是DIMM本身問題,聯(lián)系Micron FAE后,Micron懷疑是測(cè)試的內(nèi)存條生產(chǎn)日期太老,版本變更會(huì)影響測(cè)試結(jié)果,然而拿到最新的樣品后,測(cè)試結(jié)果仍然沒有任何改善。

          同時(shí),用這些樣品在Intel CRB(Custom reference board)上進(jìn)行測(cè)試,卻是可以PASS的。

          由此可以判斷,Micron 8G本身并不是Margin Fail的唯一因素,只能試圖增加主板PCB Margin來改善RMT結(jié)果

          3.4.2 通過Simulation來分析問題

          從問題的描述來看,主板+大部分內(nèi)存條測(cè)試PASS, 有問題的內(nèi)存條+其他主板測(cè)試PASS, 看起來是遇到了最讓人頭疼的Worst Case+Worse Case的情況,這種情況下,單純的從設(shè)計(jì)本身來看,各項(xiàng)設(shè)計(jì)指標(biāo)都可以滿足相關(guān)文檔或者Design Guide,只能從細(xì)節(jié)入手,從一些細(xì)微的調(diào)整和優(yōu)化來提高彼此的Margin, 就這個(gè)Case來說,Micron 8G的Module已經(jīng)量產(chǎn),在沒有足夠的證據(jù)之前,沒有辦法要求廠商來做任何修改,而主板正在設(shè)計(jì)階段,看來只能想辦法來優(yōu)化提高主板Layout從而提高M(jìn)argin了。

          然而對(duì)于DDR來說,如上面所描述,各項(xiàng)設(shè)計(jì)指標(biāo)都滿足相關(guān)設(shè)計(jì)規(guī)則,僅僅通過經(jīng)驗(yàn)猜測(cè),改版,測(cè)試的方式來做,無疑毫無效率性和針對(duì)性而言,而通過仿真的方法,來做各種各樣不同Case的仿真,找到對(duì)于提高M(jìn)argin比較明顯的改善點(diǎn),然后修改Layout,就比較有針對(duì)性,也避免了多次改版所帶來時(shí)間和費(fèi)用上的浪費(fèi)。

          回到設(shè)計(jì)本身,如本文3.1節(jié)所描述,本設(shè)計(jì)采用一個(gè)通道三根內(nèi)存的設(shè)計(jì)(一個(gè)Controller加三個(gè)DIMM),如圖33所示,仔細(xì)分析測(cè)試結(jié)果,Marign最差的均為DIMM2(距離CPU最近的一個(gè)),做一個(gè)簡(jiǎn)單的理論分析,不管從CPU寫數(shù)據(jù)到DIMM2或者從DIMM2讀數(shù)據(jù)到CPU,無論DIMM1和DIMM0處于何種狀態(tài),L2和L3始終存在,對(duì)于DIMM2來說,相當(dāng)于有一段Stub存在,而Stub會(huì)引起信號(hào)反射,從而導(dǎo)致Margin減小,哇,找到Root cause了哎,原來問題這么簡(jiǎn)單,快快改版做下一批PCB吧,可是,萬一下一批還是不行怎么辦?冷靜一下,還是先做仿真驗(yàn)證一下吧。


          圖33 PCB Layout

          冷靜一下,再仔細(xì)分析,對(duì)比主板和Intel CRB的,果然在這邊存在差異,CRB板子L2和L3長(zhǎng)度大概為398 mil, 而我們的主板L2和L3長(zhǎng)度大概為462 mil, 確實(shí)有差異,既然這邊的長(zhǎng)度有差異,從前面我們的分析來看,仿真結(jié)果也肯定會(huì)有差異,我們來仿真看看,如前面所說,Intel SISTAI只能提供仿真數(shù)據(jù),而無法顯示波形,仿真結(jié)果整理如下圖。


          表7 Write仿真結(jié)果


          表8 Read 仿真結(jié)果

          從仿真結(jié)果可以看出來兩點(diǎn),第一,仿真數(shù)據(jù)最差的也是DIMM2,和實(shí)際測(cè)試結(jié)果吻合;第二,我們的主板仿真結(jié)果比Intel CRB的結(jié)果要差,和我們之前分析和猜測(cè)吻合。那么,縮小L2,L3的長(zhǎng)度以后,仿真結(jié)果是不是會(huì)改善呢?由于PCB和Connector本身差異,我們的主板L2和L3最短只能縮小到410 mil左右,那么,PCB改善后的結(jié)果如何呢?仿真數(shù)據(jù)如下表??梢钥闯鰜?,無論Write和Read, D2的結(jié)果都有了改善,可是為什么還是和Intel CRB差異很大呢?


          表9 仿真結(jié)果對(duì)比

          再來對(duì)比Layout,Trace走線已經(jīng)找不出差異,之前沒有關(guān)注過的疊層(Stackup)成為最大的差異點(diǎn),CRB為8層板,而我們的主板為18層板,而且我們的主板DDR走線靠近TOP層,這么大的疊層差異直接導(dǎo)致了PTH Via孔所造成的Stub長(zhǎng)度不同,同樣,DIMM插槽的針腳長(zhǎng)度差異也會(huì)造成Stub影響,CRB采用的DIMM插槽針腳長(zhǎng)度為2.4 mm, 我們主板DIMM插槽針腳長(zhǎng)度為3.2 mm, 沒有找到相對(duì)應(yīng)的DIMM插槽模型,只能采用刪減或增加PCB疊層厚度來簡(jiǎn)單模擬DIMM插槽針腳長(zhǎng)度,減小主板DIMM插槽針腳長(zhǎng)度(采用Stackup變更來簡(jiǎn)單模擬) 到2.4 mm,仿真結(jié)果如下,已經(jīng)非常接近CRB的結(jié)果了。這個(gè)仿真雖然不是非常準(zhǔn)確,但是也是可以看出來Stub對(duì)信號(hào)質(zhì)量的影響。


          表10 最終仿真結(jié)果對(duì)比

          按照分析結(jié)果,縮短L2,L3的長(zhǎng)度,改為陣腳比較短的DIMM插槽(因?yàn)樵O(shè)計(jì)已經(jīng)基本定型,只能進(jìn)行小的改動(dòng),沒有辦法把DDR走線移動(dòng)到靠近Bottom層的Layer),重新改版后,之前測(cè)試Fail的Margin提高了2~3 Step, 終于可以PASS了。

          至此,對(duì)于此Case的分析和仿真基本結(jié)束,DIMM to DIMM之間的長(zhǎng)度以及DIMM插槽針腳長(zhǎng)度(以及PTH VIA Stub)所造成的Stub對(duì)于提高信號(hào)Margin有一定的貢獻(xiàn),所以在針對(duì)3DPC(DIMM per Channel)的設(shè)計(jì),在設(shè)計(jì)初期,就應(yīng)該盡可能減小DIMM TO DIMM的長(zhǎng)度,對(duì)于板厚比較大的Case,盡可能把DDR走線靠近Bottom面,以減小Stub對(duì)信號(hào)質(zhì)量的影響。




          關(guān)鍵詞: DDR4 PCB設(shè)計(jì) 仿真

          評(píng)論


          相關(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); })();