張 超,余 綜
(華北計算技術研究所,北京100083)
在通用或專用計算系統硬件電路設計中,內存芯片與主控芯片的互聯設計是整個系統設計的關鍵,系統能否穩定運行,與內存的讀寫密不可分。DDR3是新型的高速高帶寬內存器件,是目前計算系統采用的主流存儲器。DDR3采用源同步雙數據速率技術,可以支持800/1066/1333Mbps的數據讀寫速率,各組信號遵守STLL15電平規范,接口電壓1.5V。極高的數據傳輸速率表明傳輸信號的頻率進一步增高,降低后的接口電壓造成主控芯片和DDR3之間信號的噪聲容限減小。這些都對系統各接口的信號質量、時序邏輯、抖動和噪聲容限提出了更高更嚴格的要求。系統設計特別是PCB的互聯設計面臨巨大挑戰。
主控芯片與內存芯片之間的互聯是整個計算系統的關鍵網絡。JESD79-3C[1]規范建議主控芯片與多片DDR3之間采用Fly-By拓撲結構,簡化了拓撲復雜度,但引入了時延,端接等其他問題,系統互聯的信號完整性分析變得極其重要。合理的信號完整性設計將保證主控芯片和DDR3芯片之間的時鐘時序和讀寫數據時序準確無誤,進一步確保系統在高速、低電壓環境下穩定地工作,避免諸如信號反射、串擾、地彈噪聲等問題和EMI等問題[2]。文獻 [3]介紹了一種包含了芯片、封裝、板級走線等諸多因素的分析模型,驗證了一些敏感網絡對系統信號完整性和電源完整性的影響。文獻[4]詳細講述了一種基于DDR3 SDRAM信號總線互聯的系統級仿真方法,用以實現在1333Mbps數據傳輸率下每通道支持3個DIMM條的實現方案。文獻 [5]結合DDR2案例,量化分析了DDR系列內存系統的信號完整性設計的各項指標,并給出了設計方案和仿真分析方法等。
為了實現對系統互聯設計進行高效、準確的信號完整性仿真分析,Intel公司開發了針對芯片管腳行為級仿真的IBIS模型。本文以信號完整性相關理論為基礎,結合IBIS模型,給出了一套完整的主控芯片和DDR3內存顆粒芯片互聯設計和優化的方案,通過實例仿真分析驗證了方案的正確性和可行性。本課題基于某型專用計算設備,選用中科龍芯自主公司研制的高性能通用CPU龍芯3A和Micron公司的MT41J256M4JP作為主控芯片和內存顆粒芯片。龍芯3A采用65nm工藝,主頻1GHz,內部集成了 DDR2/DDR3內存控制器,所有內存讀/寫操作都遵守JESD79-2B及JESD79-3C的規定。
IBIS(Input/Output Buffer Information Specification)規范是一種描述IC設備輸入、輸出緩沖器的模擬行為規范。它通過記錄IC器件各端口的I-V數據和V-T數據對輸入、輸出緩沖器進行建模。IBIS規范提出一套通用的文本格式標準,除了記錄IC緩沖器的I-V和V-T數據外,還能記錄驅動端口的輸出阻抗,輸入負載阻抗及信號上升、下降轉換速率等參數信息,在不涉及芯片內部功能結構的前提下,可針對板級反射、串擾、高頻損耗、時序抖動以及EMI等問題進行仿真分析和計算等。IBIS模型基于IBIS規范標準,用ASCII文本文件格式描述,其最初由Intel公司開發并專用于PCB設計和仿真,隨后經國際標準化組織ANSI/EIA認可并維護。因其具備較快的仿真速度,并對不同的EDA軟件提供了一致的描述規范標準,所以獲得了絕大多數IC器件商和提供SI、PI仿真分析功能的EDA軟件的支持。圖1是一個典型的輸入、輸出緩沖器IBIS模型的模塊結構圖。圖1中,每一個方框對應IBIS模型的一個模塊要素,分別包含器件封裝的寄生電氣參數、上拉和下拉曲線、嵌位保護電路參數,信號上升和下降轉化速率等信息。

圖1 輸入/輸出緩沖器IBIS模型模塊化結構
IBIS模型由IC生產廠商建立并維護,成本昂貴。目前由于資金問題和市場需求,國內IC廠商提供的IBIS模型精確度甚至正確度均有待提高。IBIS模型的精確度將直接影響后續仿真設計的可信性,故運用IBIS模型仿真前,有必要對模型中包含的關鍵數據進行驗證。
IBIS模型的文本文件包含頭文件、器件和引腳信息、MODEL及其子參數、工作電壓和溫度、波形轉換數據等。其中U-I數據中的關鍵字 [Pull-up]、[Pull-down]以及波形轉換數據中的關鍵字[ramp]等數據,是整個IBIS模型的關鍵,是決定仿真是否精確可靠的重要數據因素。以龍芯3A的IBIS模型為例,闡述各個數據間的關系,用以指導在獲取芯片的IBIS模型后進行模型的準確性驗證[8]。
包含于[ramp]關鍵字中的R-load是獲取轉換速率的關鍵。通過將R-load接地可以獲取管腳的波形上升轉換速率。對應地,將R-load接電源可以獲取管腳的波形下降轉換速率。在[ramp]中,波形上升轉化速率表示為dV/dt_r,其中V_h的取值為電壓幅值的15% ~85%,此區間內波形上升斜率較為穩定。故可取V_h≈V_hamp×60%,其中V_hamp為上升轉換時的電壓幅值。高電壓趨于穩定時的電流I_htyp=V_hamp/R_load,電壓Voltage_h=Vcc-V_hamp,上述的I_htyp和Voltage_h應該與Pullup數據中的某值相等或接近。對應地,[ramp]中的波形上升轉化速率表示為dV/dt_f,取V_f≈V_famp×60%,V_famp為下降轉換時的電壓幅值。低電壓趨于穩定時的電流值I_ftyp=V_famp/R_load,電壓Voltage_f=Vcc-V_famp,電壓穩定時。I_ftyp和Voltage_f的值應該與Pulldown數據中的某值相對應。截取龍芯3A的IBIS模型文件如下:
[Ramp]
typ min
max
dV/dt_ r 823.21816mV/221.5701ps 771.72621mV/350.50443ps 862.28669mV/188.52855ps
dV/dt_ f 812.29431mV/196.46721ps 759.53237mV/284.74106ps867.03683mV/169.98271ps
R_load=50.0
[Pullup]
Voltage typ min
max
410.0 mV -26.33598mA -25.50012mA
-25.685mA
430.0 mV -27.55998mA -26.70209mA
-26.847mA
[Pulldown]
Voltage typ min
max
430.0 mV 26.14215mA 25.08766mA
27.46301 mA
450.0 mV 27.29014mA 26.21261mA
28.61401 mA
根據上文描述方法,驗證過程如下:V_hamp=V_h/0.6=0.823V/0.6=1.372V,I_htyp=-V_hamp/R_load=-1.372/50= -27.440mA,Voltage_h=Vcc-V_hamp=1.8-1.372=428mV,對比IBIS文件中[Pullup]數據,計算結果和模型數據相當接近。對應地,可以驗證 [Pulldown]中數據,驗證計算的過程不再贅述,計算結果為I_ftyp=27.067mA,Voltage_f=446mV,驗證結果和文件數據吻合較好。故可基本判斷該數據所描述的MODEL型端口行為信息是準確的。
上述方法基于IBIS模型中關鍵數據 [Pullup]、[Pulldown]和[Ramp]的內在聯系,通過管腳的緩沖電路模型結合[Ramp]中的波形轉換速率和負載數據,計算出穩態時管腳的電壓和電流,并與[Pullup]、[Pulldown]中數據比對,進而驗證IBIB模型是否準確。該方法的局限性在于,如果 [Ramp]和 [Pullup]、 [Pulldown]中數據同時出錯,則該方法不再適用。但是三者同時出錯的概率極小,故本方案對于驗證IBIS模型的準確性有一定意義。
DDR3的時鐘信號由CPU提供,選用的DDR3芯片MT41J256M4JP,外部時鐘頻率可達667MHz,確保DDR時鐘信號的穩定、控制時鐘信號抖動是保證內存乃至整個系統正常工作的前提。DDR系列內存芯片使用差分信號提供外部時鐘。差分信號是以兩根等長且相互耦合的單端傳輸線傳輸一對反相信號,兩線上的電壓差即為所傳輸的最終信號。相比于單端傳輸線,差分傳輸線具有較強的抗噪聲和抗干擾性,在惡劣的電磁環境下依然能保持良好的電平和準確的時序邏輯[9]。但差分線對于布線要求較高,時延差要求較精確,構成差分線的單端傳輸線需嚴格保持等長,線距、線寬等因素會影響差分阻抗等。差分線在傳輸差分信號的同時,也容易攜帶共模信號并傳送至接收端。因而在使用差分線對時,需要對信號完整性問題進行約束處理。
差分信號需要端接電阻以抵消反射。傳統的端接方法是在差分線的末端,將端接電阻串聯接入兩條差分線之間,其端接方式如圖2。端接電阻的阻值應等于該對差分線的差分阻抗。差分線的差分阻抗等于兩條單端傳輸線特性阻抗之和,本課題中DDR3差分時鐘線的單端阻抗Z0=50Ω,則差分阻抗為100Ω,端接電阻的阻值應選擇100Ω。

圖2 差分線傳統端接方式
差分信號描述了差分傳輸線上一對反相信號的差值。但是現實環境中,差分傳輸線對上不可能存在一對嚴格反相的信號。事實上,由于構成差分線的兩條單端傳輸線線長差引起的信號時延、差分線間的耦合、差分線受到的串擾、SSN等影響[10],差分線上的信號組成成分變得復雜起來,信號不再嚴格反相。信號中也包含有許多同相分量。定義共模信號如下

其中V1,V2分別表示兩條單端傳輸線與返回路徑之間的電壓信號。對應地,可以定義差分信號如下

由式 (1)、(2)可知,單端傳輸線上的實際信號可以表示為差分信號和共模信號的組合,表述如下

通過式 (3)、(4)可知,單端傳輸線上的信號同時包含有共模分量和差分分量。故可視共模信號和差分信號在單端傳輸線上獨立傳播。進一步地,差分傳輸線上的共模信號和差分信號也可視作獨立傳播,并且各自受到的阻抗也獨立存在。
由于共模信號的存在,在端接電阻時,除了匹配差分阻抗外,還應匹配共模阻抗以阻止共模信號在電路間振蕩。對于大間距小耦合的差分線,傳統端接方法對共模信號的端接依然有效,共模阻抗可以看做是在傳輸共模信號的模態下兩條傳輸線各自特性阻抗的并聯。圖2所示的傳統端接方法,端接電阻R0亦可被看做兩個電阻R1和R2的串聯,如圖3所示,每個電阻阻值相當于圖2中端接電阻R0的一半。共模端接的等效阻抗可以視作R1與R2的并聯,即共模端接阻抗R12=R1/2=R2/2=R0/4=25Ω。

圖3 差分線傳統端接方式的共模等效端接
然而由于差分線的間距較近,差分線之間存在耦合,造成差分線中每個單端傳輸線在差分模態和共模模態下的特性阻抗發生了變化。其變化趨勢為,差分模態下單端傳輸線的特性阻抗Z0-diff減小,共模模態下單端傳輸線的特性阻抗Z0-comm增大。使用二維場求解器仿真軟件Ansoft軟件,可精確求解出耦合時單端差分線的Z0-diff和Z0-comm。本課題中DDR3時鐘信號的單端線寬為8mil,PCB材質為FR4,邊沿線距為8mil,特性阻抗Z0=50Ω。使用Ansoft的SI2D求解得到,Z0-diff=46.1Ω,Z0-comm=56Ω。根據串并聯法則,緊耦合時差分線對的差分阻抗Zdiff=2×Z0-diff=2×46.1=92.2Ω,共模阻抗為Zcomm=Z0-comm/2=28Ω。
為徹底端接共模信號,采用T型端接方法,見圖4。

圖4 差分線T型端接方式
其中兩個R0串聯用以端接差分阻抗,兩個R0并聯后與R1的串聯等效電阻用以端接共模阻抗。其中R0、R1取值遵循以下公式[11]

由于R1通常較小,差分驅動器的輸出直流電流通常較大,典型差分驅動器對較低的直流電阻控制不足。為了從根本上端接共模信號,需要加入隔直電容C0,C0與端接電阻形成了一節RC振蕩回路,諧振點應遠離信號的上升沿最高頻率,故C0的選擇遵循下列公式

式 (7)、(8)中,RT為信號上升沿時長。
選用明導公司的信號完整性和電源完整性設計軟件Hyperlynx對DDR3時鐘差分信號的端接進行仿真。圖5所示為差分線傳統端接和T型端接下的信號仿真。對比圖5中(a)和 (b)可以看出,傳統端接由于共模信號的反射影響,單端信號和整體差分信號電平出現偏移。而采用T型端接,共模信號被完全端接,信號電平穩定。這表明,選取適當阻值的電阻和電容進行T型端接,對差分線共模信號的端接有明顯作用,提高了差分線的共模抑制比,以減少共模信號對相鄰其他信號的串擾、EMI等。

圖5 差分線傳統端接和T型端接仿真波形
DDR3采用典型的同步并行總線,其接口信號類型包括數據信號,地址、命令、控制信號以及時鐘信號。其中數據信號 (DQ,DQS,DM等)一般采用點對點的互聯結構,故其互聯方式不需采用任何拓撲結構。點對點互聯中,通過計算傳輸線的特性阻抗、調整并行總線間距、提取芯片封裝模型和傳輸線S參數模型的方法可以實現阻抗匹配,進而保證信號完整性。對于地址、命令、控制、時鐘信號組,存在多點互聯形式,即CPU的一個信號接口對應連接多個DDR3顆粒芯片接口,需要選擇一個合適的拓撲結構來保證信號完整性。常見的DDR3拓撲結構有樹型拓撲、菊花鏈型拓撲、Fly-By拓撲等[11]。

表1 Fly-By拓撲結構的優缺點
Fly-By拓撲結構是一種特殊的菊花鏈,該結構拓撲結構相對簡單,端接器件少,連線長度較短,是一種性能良好的拓撲結構[12],JEDEC建議 DDR3使用 Fly-By拓撲結構。表1所示為Fly-By拓撲結構的主要優缺點。
由于地址、時鐘、命令和控制信號到達各個內存芯片存在時延,而數據信號 (DQ,DQS,DM等)采用點對點互聯。為確保點到點互聯信號與它們相應的多點互聯地址信號在接收端同步,DDR3內存設計標準中引入寫平衡(Write Leveling)機制,圖6為寫平衡機制下DQS信號時序調整圖。通過DDR3控制器調節每組位線時序來補償這個時延。其中,DRAM提供反饋信號,由控制器調整DQS和CK的相位關系,控制器調整DQS延時,并發送DQS信號。DRAM對CK和DQS比較,如果信號為同相,則命令輸出DQ=1,否則DQ=0。

圖6 Write Leveling機制下的時延補償調節
拓撲結構的仿真采用前仿真和后仿真相結合的方法。仿真軟件選用Hyperlynx。首先使用Linesim設計出CPU與四片內存顆粒互聯的拓撲圖,根據文獻[2]中互聯約束條件對仿真參數進行設置。由于控制信號、地址信號和命令信號的布線規則基本相同,故只需選擇其中一個信號網絡進行仿真即可驗證拓撲結構的可用性。圖7為龍芯3A地址總線端口DDR_A0和四片DDR3的A0端口互聯的Fly-By拓撲結構。傳輸線類型選擇微帶線,特性阻抗58.4Ω,末端端接電阻亦為58.4Ω,最大線長為3500mil,時延長度為500mil。仿真結果如圖8所示。


表2 前仿真測量結果統計
仿真結果顯示,4個信號到達的時延最大值不超過90ns,完全符合JESD79-3C設計要求。圖8中可以看出,U2.1接口處測量信號在第二個波形周期處出現明顯過沖。表2統計結果顯示,過沖值為189.3mV,U3.1、U4.1和U5.1接口信號波形過沖以此遞減,U5.1波形最佳,過沖最大不超過33.2mV,這表明與CPU距離較遠的內存顆粒端口處信號質量好于距CPU較近的內存顆粒。其原因在于后方內存顆粒芯片的接口本身具有輸入阻抗,產生的反射會對前方芯片接口的信號產生不良影響。
PCB布線設計中,CPU與DDR3間的互聯遵照前仿真拓撲結構中的相關數據進行設計。同時,對CPU和DDR3之間的不同網絡組進行等長約束。將設計完成的PCD版圖導入HyperLynx,使用Boardsim對PCB進行布線后仿真[12]。由于龍芯3A采用BGA封裝,互聯線網絡中必然會出現過孔。同時,由于布線規模較大,布線密度較高,PCB疊層較多,勢必會產生串擾、EMI等現象。故板后仿真中可以酌情將上述干擾因素考慮在內。使用Boardsim導入原理圖,選擇和前仿真相同的互聯網絡,選用HyperLynx自帶的過孔模型,串擾值選擇50mV,仿真眼圖如圖8所示。仿真結果測量數據見表3。對比表2與表3,可以看出由于PCB走線、過孔和串擾等因素對信號過沖惡化貢獻較大。四個信號抖動值和眼寬比較穩定,眼高變化反映了遠端內存顆粒信號質量較近端有明顯提高。

圖9 板后仿真眼

表3 后仿真測量結果統計
本仿真實驗,仿真環境設置較為全面,但仍然屬于理想狀況,如若考慮其他因素諸如SSN、地反彈和傳輸線損耗等因素,信號會發生進一步失真和畸變。需要進一步優化信號完整性和電源完整性,以滿足接收端口信號閾值的要求和時序容差的要求。諸如減少過孔,優化拓撲結構,嚴格控制多平行網絡的串擾,關鍵網絡合理端接等等。
本文以某型自研計算系統為應用背景,針對主控芯片和DDR3內存顆粒之間的互聯設計,介紹了一套全面的信號完整性仿真分析和優化方法。通過分析IBIS模型中關鍵數據的制約關系,快速驗證了IBIS模型文件是否準確可用。通過仿真,對比了針對差分信號的傳統端接方法和T型端接方法,仿真結果表明T型端接提高了差分線的共模抑制比。通過前仿真和后仿真結合的方法分析驗證了Fly-By拓撲結構的時序和各接收端信號質量。上述方法和仿真結論對基于DDR3的系統互聯設計以及其他高速電路設計具有指導意義和參考價值。
[1]JEDEC.DDR3 SDRAM specification:JESD79-3C [S].2008.
[2]ZHOU Xiquan,HUI Pengfei,MIAO Fengjuan,et al.High-speed signal transmission on signal integrity analysis[C]//Qiqihar:Proceeding of 3rd International Conference on Future Biomedical Information Engineering,2010:240-242.
[3]CHUANG Haohsiang,GUO Weida,LIN Yuhsiang,et al.Power integrity chip-package-PCB co-simulation for I/O interface of DDR3 high-speed memory[C]//Seoul,Korea:Proceeding of IEEE E-lectrical Design of Advanced Packaging and Systems Symposium,2008:31-34.
[4]Dowling Jonathan.Signal integrity analysis of bus turn-around on a DDR3 SDRAM memory channel[C]//Austin,USA:Proceeding of IEEE 19th Conference on Electrical Performance of Electronic Packaging and Systems,2010:25-28.
[5]Geoff Lawday,David Ireland,Greg Edlund.A signal integrity engineer's companion[M].Beijing:Publishing House of Electronics industry,2010:79-106(in Chinese).[Geoff Lawday,David Ireland,Greg Edlund.信號完整性指南[M].北京:電子工業出版社,2010:79-106.]
[6]Pulici P,Girardi A,Vanalli G P,et al.A modified IBIS model aimed at signal integrity analysis of systems in package[J].IEEE Transactions on Circuits and SystemsⅠ,Regular papers,2008,55(7):1921-1928.
[7]LIU Wei.Signal integrity analysis based on FDTD method and IBIS model[D].Guangzhou:South China University of Technology,2010(in Chinese).[劉偉.基于FDTD法與IBIS模型的信號完整性分析[D].廣州:華南理工大學,2010.]
[8]ANSI/EIA.ANSI-EIA-656-B Standard:I/O Buffer Information Specification(Version 5.0)[S].2008.
[9]Shiue Guang-Hwa,WU Ruey-Beei.Reduction in reflections and ground bounce for signal line over slotted power plane using differential coupled microstrip lines[J].IEEE Transactions on Advanced Packaging,2009,32(2):581-588.
[10]Frederic Broyde,Evelyne Clavelier.Crosstalk in balanced interconnections used for differential signal transmission[J].IEEE Transactions on Circuits and Systems Ⅰ:Regular papers,2007,54(7):1562-1572.
[11]LIU S,QIAO H.Topology optimization of continuum structures with different tensile and compressive properties in bridge layout design[J].Structural and multidisciplinary optimization,2011,43(3):369-380.
[12]Phil Murray,Altera Corporation.Challenges in implementing DDR3 memory interface on PCB systems:a methodology for interfacing DDR3 SDRAM DIMM to an FPGA [C]//Santa Clara,USA:Proceeding of Design Con Conference,2008:1-12.