最近忙于一塊以CycloneIII為核心主控芯片的六層板設計,開發(fā)環(huán)境是Capture+Allegro+CAM350,,從原理圖修改到PCB的布局,、布線這整個過程中我遇到了相當多的問題,值得慶幸的是有一些問題的解決倒是可以說是一勞永逸,,比較典型的就是DDR2的布局與布線,。之前對DDR2的原理與板級布線非常的陌生,導致剛開始布線時走了很多彎路,,折騰了好幾天才解決,。由于DDR2布線的嚴格要求,整個布線思路也是更新了若干次,,不過現(xiàn)在看來,,今后若再布DDR的線會效率更高的。其實兩個星期之前DDR2的布線就完成了,,只是一直沒有找到時間寫這篇文章,,今天上午特意花點時間寫了這些文字,、截了幾個圖,和網(wǎng)友分享一下,。
布線結束后,,我深刻的體會到,對于DDR2的布局,、布線來說,,最關鍵的就是要非常地熟悉DDR2中DQ、DM,、DQS和FPGA芯片中DQ/DQS Pins的分布情況,為了更直白的說明這個問題,,咱們來看圖說話,,
解析:考慮到DDR2走高速信號時的信號完整性質(zhì)量,首先要滿足最基本的布線要求(還有信號線的等長):
?。?)DQ[0:7]、DM0,、DQS0這10根信號線要在同一層,;
(2)DQ[8:15],、DM1,、DQS1這10根信號線要在同一層;
?。?)DQ[16:23],、DM2、DQS2這10根信號線要在同一層,;
?。?)DQ[24:31]、DM3,、DQS3這10根信號線要在同一層,;
其中(1)和(3)可以在同一層(如S1)實現(xiàn)順利布線,而(0)和(2)可以在同一層(如S2)實現(xiàn)順利布線,。
上面這個圖中我特意用筆把所有Pins的分布情況給大致分割了一下,,這樣看起來會一目了然。布線時應該把上面一個部分(即A,、B,、C、D)里面的DQ,、DM,、DQS總共10根信號線作為一個單元,,對應FPGA芯片里特定的一個PIN區(qū)域,下面E,、F,、G、H這個部分也是類似的,。不過布線時還應該注意的地方就是:FPGA里的那個所謂的“特定部分”中只有DQS這個Pin是固定不可被替代的,,其他的9個Pins中DQ[n:n+7]和DM線是可以任意換序的,因為DQ和DM信號線所對應的Pins在FPGA芯片中是同一個電氣屬性的,。這個相當關鍵,,不然的話,會給布線帶來比較大的麻煩,。關于那個“特定的部分”,,我截個圖如下所示,不同的顏色即為一個“獨立的特定的區(qū)域”,,
我布線時主要用的是下方中間四個“獨立的特定的區(qū)域”——用于兩個DDR2的布線需要,,實現(xiàn)32位并行數(shù)據(jù)流。
畫這個板子時我設置的是六層結構(四個信號層+兩個參考層),,布局,、布線結束后的各信號層結果如下:
TOP LAYER:
LAYER S1:
LAYER S2:
BOTTOM LAYER:
如今這整個板子的設計過程已經(jīng)完全順利結束了!從開始的布局,、布線一直到現(xiàn)在光繪文件的成功生成,,確實體會到經(jīng)驗的重要性,因為我之前從來沒有過六層板的設計經(jīng)驗,,很多問題都是第一次遇到,,也是臨時自己思考或者和同事討論一起解決,整個過程算得上還是順利的,。