由於工作內容和行業性質的原因,經常畫的PCB是兩層或者四層的低速板子,也一直想學習高速布線的相關知識,但就是無法實踐逼迫不了自己,最近公司剛好接到一個項目涉及到了DDR3和NAND FLASH,乘此機會逼自己一把學習高速布線,下面大概是我總結的一些東西。在這里采用的Altium Designer軟件,Candence軟件還不會,等學完這個准備去學Candence。
首先找到了三星的一款DDR3芯片收據手冊,大致看了一些要求和時序這些,然后去網上找了一下這些參數具體代表的含義,先對DDR3形成了一個直觀的了解,然后在高速先生網站看了一些基礎知識,大家可以去我的另一篇文章去看看https://www.cnblogs.com/zhiqiang_zhang/p/13889402.html。然后就還是動手實踐了,實踐也不是一步到位的,得分目標進行:
目標1:只熟悉DDR3的引腳布局,扇出和拓撲結構(T型和FLY-BY)以及繞等長線
1、在我網上隨便找一個DDR3相關的原理圖,然后自己照貓畫虎畫下來,包括器件封裝等;
2、完成封裝分配后導入PCB,然后進行布局,主要進行的是DDR周圍濾波電容的布局,這一步剛入門的新手可以先跳過,將所有電容仍在一邊先不管,將主要的精力放在布線上面,等自己畫過一次有點經驗和直觀的了解之后在進行電容布局;
2、給DDR3芯片繪制ROOM區域,並設立區域規則,主要包括線寬和間距,並運用規格 WithinRoom('DDR3_ROOM'),具體的線寬要根據阻抗計算結果來設置;
3、同步驟一,給DDR區域設置過孔內徑和外徑;
4、設計類規則,DDR3的所有線主要分別為三大類:電源類一組,數據類一組,控制命令和時鍾為一組;(具體分類可參照我上一篇文章)
分類操作步驟:PCB界面,設計->類,在Netclass一欄添加類,也可以在畫原理圖的時候提前放置類標簽進行分類,推薦這一種方式。
5、進行時鍾和控制類的小T點的設計:注意DDR2的控制時鍾走的是T型結構,需要繪制大T點,DDR3走FLY-BY結構,不需要大T點
DDR的封裝很有特點,他的控制和時鍾基本位於下半部分,數據位於上半部分,所以小時鍾和控制等T點的扇出方式為朝着肚皮下方中間沒有BGA球的地方,總的走線位於線片下半部分,上半部分留給數據類,然后在再底層將兩個DDR的這部分連接。注意差分時鍾的走線
注意的是多片DDR將一片線走了之后復制到另外幾片DDR
6、設置差分對,在規則里面設置差分對線寬和間距
7、先走時鍾差分線,連接幾片DDR,順序大概為先連接時鍾差分對,然后依次連接其他的地址和控制線
8、CPU扇出,選怎布線-扇出-器件,選擇前兩項
9、連接數據類,先將差分對SDQS從中間拉出來
目標2:在目標1的基礎上增加濾波電容的布局
目標3:在目標2的基礎上增加電源平面的分割