PCB設計十大誤區(qū)-繞不完的等長(四)
公眾號 :高速先生
作者:吳均
爭議性話題來了:等長越嚴格,時序裕量越大,系統(tǒng)越穩(wěn)定!
這句話應該有很多硬件工程師是同意的,所以我們也經(jīng)常能看到類似的規(guī)則:
DDR3同組的DQ和DQS需要+/-1mil等長
DDR3同組的CLK和Add/Ctrl/Cmd需要+/-10mil等長
DDR3的CLK和DQS需要+/-100mil等長
PCIE3.0,差分對內(nèi)需要+/- 0mil等長,沒有誤差
……
類似的規(guī)則還可以衍生為:
線間距越大約好,減少串擾
走線需要兩面嚴格參考完整地平面
……
類似的規(guī)則,用現(xiàn)在最流行的話來說,應該就是“理都懂”,但是臣妾做不到呀!

這里忍不住要吐槽一下:隨著PCB設計這個工種慢慢從硬件設計中獨立出來,大部分公司里面PCB設計工程師和硬件原理工程師不是同一個人。所以有些EE會想當然或者很理直氣壯把很嚴格的規(guī)則提交給上下游,反正需要繞線的不是我……更不用說外包的PCB設計了,更是占住了甲方的位置,你們給我往死里繞線。
當然,更多的硬件原理工程師并不是這么想的,只是當這個項目落在自己頭上的時候,戰(zhàn)戰(zhàn)兢兢,如履薄冰,想把一切事情做到完美。
這篇文章,就是為后面這種工程師寫的。繼續(xù)往下看之前,先分享一篇摘自SI-List的討論。我最喜歡里面的一句話:
http://www.edadoc.com/cn/jswz/show_780.html
"We are engineers. We are supposed to think."
也喜歡文章里面說的,搞清楚什么是“Design Guide”,什么是“Spec”
等長與等時
之前的文章有提過,所有的等長都不是目的,設計的目的是等時。所以我們首先要知道,+/-10mil對應的時間是多少?貌似+/-1mil等長比+/-10mil嚴格了10倍,我的時序裕量會不會好很多?
大家應該還記得高速先生王銳寫的那篇文章:《信號是怎樣傳輸?shù)??》,沒看過的可以翻出來再看看。文章的最后,給出了一個案例:同一種阻值的走線,微帶線時延是145.9ps/in,帶狀線時延為173.6ps/in。
我們需要記住的值是每英寸145~170ps,對于帶狀線來說,每ps延時對應的走線長度是6mil左右。所以,+/-10mil等長和+/-1mil等長,在時間上的差異不超過3ps。再回頭看看我們的系統(tǒng),有多少是真正需要3ps裕量的?


上圖是同一個波形,不同的兩個人測量的時序窗口大小,有4個多ps的誤差。測量的波形也是一樣,大家都有這樣的經(jīng)驗。
高速先生有時候為了說服一些客戶不要糾結在等長是1mil還是5mil,或者勸告說完全等長是沒有意義的,我們也是拼了,下面是我們用過的一些比喻:
蚊子再小也是肉,你要吃蚊子我忍了,但是蚊子腿就不要去吃了吧
中華民族艱苦節(jié)約的良好美德,但是現(xiàn)在的社會,就不用糾結于要不要省1毛錢了吧
……
如果你能理解以上比喻,那么應該可以理解:
大部分的系統(tǒng),不管是DDR3的數(shù)據(jù)分組還是PCIE3或者10G Base KR的差分對內(nèi),等長做到5mil已經(jīng)足夠了。速率更低的系統(tǒng),還可以放寬更多。
這篇文章的篇幅已經(jīng)比較長,所以主要討論等長不需要過度考慮這一個問題點。另外一個相關的話題是:嚴格等長會不會帶來負面影響,會不會成為系統(tǒng)失效的根源。這個話題我們稍后單獨討論,大家也可以就此提出自己的意見和建議。
問題來了?有哪些因素會導致實現(xiàn)了等長設計,卻沒有等時?提示案例:上文有提到的微帶線與帶狀線的傳播延時差異