热度 23
2015-9-9 16:11
3076 次阅读|
2 个评论
初次接觸高速訊號或DDR設計的人,可以找到一些在談走線繞等長的 舊資料(當中不乏過去大廠的design guide),但近幾年一些DDRII(或更快)的design rule,漸漸改以定義setup time, hold time budget with jitter取代length-matching routing rule,並且改以強調對時序圖的理解與使用模擬(margin predict)的重要性。簡單說:rule就是不管你怎麼layout設計,但你時序要滿足規格(timing margin),或傳輸線的損耗要在規格內(S-parameter)。 我們在評估不同group之間的走線等長要求,或同一個group內的走線等長要求,必須就時序的角度來考慮。一般特性阻抗50 ohm的microstrip於1000mils的傳遞時間大約是150~160ps, 假設point-point的DDRII走線總長約1000~1500mils,其中各別線長的差異了不起500mils,此時線長差異對SI影響其實很小, 但光是1000~1500mils長的走線於1.6mm板厚的PCB上過孔換層,就會造成100~250ps不等的傳遞延遲時間差了。 線長差異只是影響時序的因素之一,stack-up\via\stub\coplane\slot…這些因素在高速訊號設計的領域裡,在PCB與package level,彼此是有不同程度的交互影響,如果只是一味的要求蛇線等長,而讓走線的總線長大幅增加,並且蛇線本身引入的阻抗彎折處的不連續性與相鄰線的電容寄生效應變大,這反而對高速訊號的設計是非常不利的,未蒙其利,先受其害。 本文將以DDRII為例,說明貫孔換層,與相鄰貫孔的clearance hole (anti-pad)把內層plane打破,對訊號的影響。另外,走線長度差異所造成的delay只是total timing skew的因素之一,不一定是關鍵的因素,反而過嚴的等長要求或過度繞蛇線會造成SI\EMI惡化。我們該注意的是。以最短的蛇線滿足設計要求、維持至少2W rule (DDRII如果有開ODT, 甚至1W也可),並確保地迴路的連續性。 文章目录 控制線長誤差在300mils以內的DDRII Addr\Cmd\Ctrl group (serpentine routing) 本例其實不算是過嚴的length-matching routing,因為尚容許走線之間300mils的長度差。黃色是走線在layer 1與layer 4,但layer 4走線被layer 2 plane(綠色是GND net)遮住了所以看不到。 以Designer\Nexxim模擬 模擬結果整個group total skew大約190ps (with Rs=22 ohm),且可以看到走線分成兩群,波形SI較佳的是走在top layer沒有過孔換層的,波形SI較差且時間延遲較大的是走在bottom layer有一次過孔換層的。 Rs=22W,overshoot\undershoot沒有超標 控制線長誤差在50mils以內的DDRII Data Group (serpentine routing) Layout雖然滿足data group內的線長差異控制在50mils以內,但整個走線太長沒有最佳化,多繞了一些蛇線: 沒有開ODT,但有串連終端Rs=22W,模擬結果發現overshoot\undershoot過大,且眼圖很差;這是一個過度繞蛇線導致眼圖較差的實例 修改後的layout同樣滿足data group內的線長差異在50mils以內,但整個走線有最佳化 總線長縮短300mils,且線與線之間保持3W space,繞蛇線的程度較輕微,如下圖所示 沒有開ODT,但有串連終端Rs=22W,模擬結果發現眼圖有明顯改善 完全不管線長差異的Addr\Cmd\Ctrl Group (走線要求as short as possible and straight forward) 沒有VDDQ-GND de-coupling capacitor,且BGA下方的地,被相鄰的anti-pad (clearance hole)打破 下圖所示為一群DDRII的Addr\Cmd\Ctrl bus,且在主控IC的BGA正下方,可見一整排的via打破了內層plane,其中綠色是layer 2 ground plane,黃色走線在layer 1,另外layer 4也有走線,但被layer 2 plane遮住了所以看不到。 模擬結果整個group total skew大約800ps (Rs=22),會這麼差並不是因為走線沒取等長造成的 ,主要是因為此例還沒有加de-coupling capacitor 0.1uF於VDDQ-GND之間 ,所以走線只要一換層(從top轉到bottom),地迴路的連續性就被破壞了 有VDDQ-GND de-coupling capacitor,且BGA下方被相鄰的anti-pad打破的地,用網線補起來(grid ground) 模擬結果顯示,整個group total skew大約310ps (Rs=22);這是因為增加了VDDQ-GND之間的0.1uF,減輕因為換層走線造成的地迴路不連續issue。 此例在anti-pad之間補細線的方式,一開始是透過PADS PCB layout tool施作,再由SIwave import .pcb轉出.siw的,在這轉換過程中,SIwave雖然視這些ground line為GND net,但在屬性上還是把它當trace而不是copper的一部份,而Ansoft處理trace與copper plane的方法是不同的,這可能會導致模擬結果有差異,無法完全呈現補grid ground後的ground plane performance 針對補grid ground這部份,我們在SIwave中用”Draw Rectangle”選擇”Merge”, 再重新補一次,如下圖所 若整個project有很多net=GND的trace要改成plane,選定net後,執行Tools\ Convert Traces To Planes 模擬結果顯示,整個group total skew一樣大約310ps (Rs=22),但這次很明顯的看出走在layer 1的訊號是一群,走在layer 4的訊號是一群,後者delay與over-shoot\under-shoot都較大。這波形就很清楚的呈現了走線在top layer沒有過孔換層,與走線經過貫孔走bottom layer的差異就將近200ps了,剩下因為線長的差異所引起的timing skew其實只有數十ps。 只要減小PCB板厚(減輕via effect),將可以很看到這兩群訊號SI特性較一致,且時序也接近的改善效果 Rs=22W undershoot超出標準 模擬結果 原文链接: http://www.oldfriend.url.tw/SIwave/Antipad_Slot_Serpentine_Routing.htm 原创文章,转载请注明: 转载自 吴川斌的博客 http://www.mr-wu.cn/ 本文链接地址: 高速PCB设计绕等长一定要绕个山路十八弯太算吊? http://www.mr-wu.cn/gao-su-pcb-she-ji-rao-deng-chang/