0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談PCB設計DDR2布線中面臨的困難

PCB線路板打樣 ? 來源:csdn ? 作者:snaking616 ? 2020-11-20 10:28 ? 次閱讀

使用Altium Designer進行DDR2的PCB設計

本文首先列出了DDR2布線中面臨的困難,接著系統(tǒng)的講述了DDR2電路板設計的具體方法,最后給出個人對本次電路設計的一些思考。本次設計中CPU的封裝為BGA844-SOC-Y,DDR2的封裝為FBGA84,DDR2的控制總線采用星形連接,使用的PCB軟件為AltiumDesigner10,參考設計教程為《Altium Designer DDR2設計教學視頻》[1]!

1. DDR2布線中面臨的困難

1.1 DDR與CPU之間的布局[1]

(1)DDR2:內存與CPU的邊緣間距建議5~8mm;
(2)DDR3:排阻自身長度為2mm,排阻與CPU邊緣間距建議3mm,排阻與內存邊緣間距建議3mm。

1.2 如何設置Width(信號線寬)和Clearance(安全間距)?

在封裝BGA844-SOC-Y中,焊盤的直徑為18.9mil,焊盤間距為39.37mil,兩個焊盤之間的間隔為20.47mil,要想從BGA中引出所有的信號線,必須合理的設置Width和Clearance等規(guī)則。

圖1 BGA844-SOC-Y焊盤間距

在《DDR布線規(guī)則與過程》[2]一文中,交代了線寬與線距的設置規(guī)則:
(1)DDR的供電線線寬建議8mil以上,信號線默認線寬為5mil;
(2)線與線間距建議采用2W原則為8mil,線與其它sub-class的間距為5mil;
(3)CPU與DDR的區(qū)域規(guī)則:走線線寬為5mil,允許最小間距為3.3mil;

博通BCM53344開發(fā)板中,CPU采用1006-pin FCBGA封裝,DDR3采用FBGA封裝,在BGA的區(qū)域內,線間距設為3.098mil,如圖2所示,線寬設為3.902mil,如圖3所示。

圖2 線距規(guī)則

圖3 線寬規(guī)則

1.3 網絡分類與差分線的設置

在《DDR2信號分類及等長設計》[3]一文中,DDR2可以分為以下三類:
(1)差分時鐘信號:CLK_N,CLK_P;
(2)數據線DQ0~DQ15,數據掩碼信號DQM0,DQM1,數據選通信號DQS*_N,DQS*_P;
(3)地址線/控制線:除數據,時鐘外的其他信號,如A0~A12,WE,CS,BA0~2,CKE等;

可以設置為以下幾個class規(guī)則:

(1)DATA_L_BUS:Q0~DQ7,DQM0,DQS0_N,DQS0_P;
(2)DATA_H_BUS:Q8~DQ15,DQM1,DQS1_N,DQS1_P;
(3)ADDR_BUS:除數據線外的其他信號;
(4)CLK_DIFF: CLK_N,CLK_P;

1.4 如何確定小T點與大T點的位置?

如圖4所示,小T點對應于DDR2焊盤扇出后的過孔C與D,C與D點扇出的走線方式必須保持一致。大T點對應于地址/命令總線的分支點過孔B,在DDR做等長布線時,地址/命令總線Net-Class(網絡類)每條網絡滿足:

(1)AB+BC=AB+BD;
(2)每條網絡的總長度(AB+BC+BD)均相等。

為了降低DDR等長布線的難度,通常將大T點設在C與D的對稱軸上,假如大T點沒有落在C與D的中軸線上,該怎么辦?
在《用Altium Designer實現DDR2的等長布線》[4]和《Altium Designer 中 DDRII SDRAM 的等長布線》[5]中給出了解決辦法,文中使用了AD里面的From-To Editor 網絡編輯器,將同一個網絡在T點處劃分為3個部分,然后通過設置焊盤到焊盤之間的等長來實現DDR的等長布線,有興趣的讀者可以查看原文!

圖4 選取大T點

1.5 BGA自動扇出與手動優(yōu)化

在使用AD10給BGA自動扇出時,需要注意一下幾點:

(1)在執(zhí)行自動扇出前,BGA上的所有焊盤均不能連線,否則自動扇出無法完成!
(2)FBGA84封裝的DDR2在進行自動扇出時,扇出的效果非常差,必須使用手工扇出。

對CPU和DDR2進行自動扇出,可分別得到圖5和圖6所示所示結果。


圖5 CPU自動扇出

圖6 DDR2自動扇出效果

1.6 如何控制等長誤差

在《DDR2信號分類及等長設計》[3]一文中,等長誤差如下設置:

(1)所有信號線參考差分時鐘的長度作等長;
(2)DATA_L_BUS共11根走在同層,與差分時鐘的長度誤差25mil;
(3)DATA_H_BUS共11根走在同層,與差分時鐘的長度誤差25mil;
(4)ADDR_BUS:與差分時鐘的長度誤差200~300mil;

在視頻《Altium Designer DDR2設計教學視頻》中,作者給出了如下的等長誤差,記地址/控制網絡類(包括差分時鐘)的等長目標為L1,數據網絡類等長目標為L2,則:
(1)在地址/控制網絡類中,差分時鐘長度設為L1,其它等長誤差控制在L1±200mil之內;
(2)數據網絡類等長誤差控制在L2±25mil之內,同一組之間作等長即可;
(3)L1與L2滿足:0<L1-L2<1000mil!

2. DDR2等長布線

2.1 區(qū)域規(guī)則ROOM講解

如何放置ROOM?
執(zhí)行Design→Rooms→Place Rectangular Room,給CPU和DDR2添加ROOM,添加后將ROOM名稱分別修改為“CPU_ROOM”、“DDR2_ROOM”,如圖7所示。

圖7 添加ROOM

2.2 區(qū)域規(guī)則設置

(1)如何設置規(guī)則?
執(zhí)行Design→Rules...即可進入規(guī)則編輯菜單。

(2)如何定義ROOM內的規(guī)則?
進入規(guī)則編輯器后,首先點擊需要編輯的規(guī)則并右擊新建“new rule...”,接著先點擊新鍵的規(guī)則,然后在“Where The First Object Matches”一欄選擇“Advanced(Query)”,在“Full Query”一欄填入“withinroom('name_ROOM')”,最后Apply并單擊OK即可!

上面的name_ROOM為ROOM的名稱,輸入語法時請切換為英文輸入法,如果需要同時給多個ROOM定義規(guī)則,其語法為:withinroom('name_ROOM')&withinroom('name1_ROOM')&withinroom('name2_ROOM')

(3)如何給PCB定義規(guī)則?
為了引出BGA內部走線,規(guī)則中的Clearance和Width進行如下設置:
Clearance設置方案(優(yōu)先級從下到上依次遞增):
Clearance_CPU : 4 mil withinroom('CPU_ROOM')
Clearance_DDR2 : 4.4 mil withinroom('DDR2_ROOM')
Clearance : 5 mil

Width(最小 / 推薦 / 最大)設置方案(優(yōu)先級從下到上依次遞增):
Width_PWR : 12 / 12 / 120 mil
Width_CPU : 4 / 4 / 4 mil withinroom('CPU_ROOM')
Width_DDR2 : 4.4 / 4.4 / 4.4 mil withinroom('DDR2_ROOM')
Width : 5 / 5 / 5 mil

說明:Width_PWR為電源網絡的線寬規(guī)則!

2.3 過孔、網絡CLASS及差分線的設置

(1)如何給PCB定義Via(過孔)的規(guī)則?
Via(內徑 / 外徑)設置方案(優(yōu)先級從下到上依次遞增):
RoutingVias_DDR2 : 8 / 16 mil withinroom('DDR2_ROOM')
RoutingVias : 10 / 22 mil

(2)如何設置網絡Class
DDR2的所有網絡,可以分為以下3類:
電源地信號,數據信號,時鐘、地址、控制類信號。
執(zhí)行Design→ Classes...,調出類設置界面,按下方的規(guī)則對網絡進行分類:
POWER_CLASS:GND、VREF、VCC1V8、VTT。

DATA_CLASS:
Data0-7:DRAM0_D0~7、DRAM0_DM0、DRAM0_DQS0_N、DRAM0_DQS0_P;
Data8-15:DRAM0_D8~15、DRAM0_DM1、DRAM0_DQS1_N、DRAM0_DQS1_P;
Data16-23:DRAM0_D16~23、DRAM0_DM2、DRAM0_DQS2_N、DRAM0_DQS2_P;
Data24-31:DRAM0_D24~31、DRAM0_DM3、DRAM0_DQS3_N、DRAM0_DQS3_P;

ADD_CLASS:DRAM0_A0~13、DRAM0_BA0~2、DRAM0_CAS#、DRAM0_CLKE、DRAM0_CLK_N、DRAM0_CLK_P、DRAM0_CS#、DRAM0_ODT、DRAM0_RAS#、DRAM0_WE#
網絡歸類后效果如圖8所示。

圖8 網絡分類

(3)如何設置差分線?

在軟件左側欄中,選擇“Differential Pairs Editor”項目,將DDR2的時鐘和DQS信號歸為差分對,如圖1.10所示:
差分對DRAM0_DQS0:DRAM0_DQS0_N、DRAM0_DQS0_P;
差分對DRAM0_DQS1:DRAM0_DQS1_N、DRAM0_DQS1_P;
差分對DRAM0_DQS2:DRAM0_DQS2_N、DRAM0_DQS2_P;
差分對DRAM0_DQS3:DRAM0_DQS3_N、DRAM0_DQS3_P;
差分對DRAM0_CLK:DRAM0_CLK_N、DRAM0_CLK_P。

圖9 添加差分對

2.4 小T點設置

DDR2手動扇出效果圖如圖10所示,封裝中心處的過孔對應為小T點,兩個小T點的中點對應大T點所在的位置。
完成小T點的設置主要分為以下幾步:
1. 對左側的DDR2進行手動扇出;
2. 全選DDR2扇出的走線和過孔,對已選對象進行復制并以左上第一個焊盤作為參考點;
3. 將所選對象復制到右側DDR2上,十字光標對準左上第一個焊盤!
以上操作也可稱作走線與過孔的復用!

圖10 小T點設置

圖10 小T點設置

2.5 大T點設置

將圖10的小T點依次連接,并在兩個小T點的中心打上過孔(即大T點),完成后效果如圖11所示。
在連線時請注意以下細節(jié):
1. 大T點的位置是允許一定的誤差的,不需要絕對的中心!
2. 繞線時需要優(yōu)化電源過孔的布局;
3. 小T點(過孔)之間的水平與垂直間距需要保持在30mil以上!
4. 大T點與小T點放置完后,請進行上鎖設置,防止誤刪!

圖11 大T點設置

2.6 CPU自動扇出

執(zhí)行Auto Route→Fanout→Component,點擊CPU封裝即可完成CPU的自動扇出,扇出效果如圖12所示。由于規(guī)則的設置,電源類管腳扇出線寬為12mil,信號管腳扇出線寬為4mil,下圖中打白色圓圈的管腳為無網絡的焊盤。

圖12 CPU扇出

2.7 數據互聯(lián)

數據類總線分為兩部分互連,一部分走頂層,另一部分走L3層!
如圖13所示,為數據網絡類DATA0-[D8-15]和DATA0-[D24-31]在頂層的連線效果圖。

圖13 頂層DDR數據線互連

如圖14所示,為數據網絡類DATA0-[D0-7]和DATA0-[D16-23]在L3層的連線效果圖。

圖14 L3層DDR數據線互連

2.8 地址線T點互連

地址與控制類總線分為兩部分互連,一部分走頂層如圖15所示,另一部分走底層如圖16所示。

圖15 頂層控制、地址類總線連接

圖16 底層控制、地址類總線連接

2.9 尋找等長目標

如圖16所示,為地址類網絡長度分布,根據網絡長度分布,選擇3000mil作為地址類網絡的等長目標,等長誤差控制在±200mil以內。
根據作者描述,地址類與數據類網絡長度差應小于1000mil,所以將數據類網絡等長目標控制在2000mil,數據類網絡之間的等長誤差控制在±25mil以內。

2.10 走等長線

1. 如何走等長線?

(1)普通信號線,按快捷鍵T+R,差分線按T+I,進入等長布線狀態(tài);
(2)等長布線時,W鍵上方的1、2、3、4依次對應拐角弧度減小、拐角弧度增大、蛇形線間距減小、蛇形線間距增大等功能!

2 地址類等長

頂層:

圖17 頂層地址網絡等長

底層:

圖18 底層地址網絡等長

3. 數據類等長

頂層

圖19 頂層數據網絡等長

底層

圖20 L3層數據網絡等長

2.11 等長輸出

在Nets查看欄中,復制需要等長網絡的名稱和長度等屬性,粘貼到Excel中并加以整理,即完成了DDR2等長信息的輸出!

3. 個人思考

1、為何同一根信號線在不同區(qū)域(CPU_ROOM、DDR2_ROOM、其它)的線寬會不一樣?

(1)在其它區(qū)域(DDR與CPU的中間區(qū)域)走5mil的線,是通過阻抗匹配計算出來的結果;
(2)在CPU_ROOM內走4mil的線是為了使信號線從BGA內部扇出,那么信號線在其它區(qū)域為什么不用4mil的線呢,這里可能是考慮了成本的原因(線寬越小成本越高)。在不影響DDR2性能同時又要使信號線成功扇出的情況下,必須使信號線擁有多重線寬規(guī)則(個人猜測,沒有證實過)!

2、如何最大化利用好布線空間,同時減小信號線間的串擾?

如何最大化利用好布線空間:
地址總線的布線空間最緊張,需要優(yōu)先布局,相鄰信號線走蛇形線的區(qū)域應錯開,走完所有的地址類信號線再走數據類信號線!

減小信號線間的串擾,可通過增加信號線之間的安全間距來實現,具體方法有:

(1)可以先改變全局的clearance規(guī)則(優(yōu)先級設為最高),比如設為10mil,如果出現報錯提示可暫時忽略,走完等長線后再改回原有規(guī)則!
(2)在走線的側邊直接畫出一條無網絡的銅線,走完信號后再刪除該銅線!
(3)修改等長控制參數中的振幅。

3、相同模塊之間的復用

在第2.4小節(jié)中,將左側DDR2的扇出銅線和過孔進行復用,可以明顯縮短其它DDR2所需的扇出時間!

尾巴:本文是我首次接觸高速電路設計的一次嘗試,通過文章的形式記錄下學習的點滴。本次設計并不是一個完整的工程,在DDR2濾波電容
的放置與優(yōu)化、DDR2信號完整性仿真、以及PCB阻抗匹配的計算等方面均未涉及,由于個人能力有限,文章難免有錯誤,希望大家能夠給出
寶貴的建議!

參考:
[1] 《Altium Designer DDR2設計教學視頻》
[2] DDR布線規(guī)則與過程,
[3] DDR2信號分類及等長設計,
[4] 用Altium Designer實現DDR2的等長布線,https://wenku.baidu.com/view/a1334bfcad51f01dc281f17e.html
[5] Altium Designer 中 DDRII SDRAM 的等長布線,https://wenku.baidu.com/view/424dd712ccbff121dc368324.html?re=view
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10702

    瀏覽量

    209371
  • altium
    +關注

    關注

    46

    文章

    935

    瀏覽量

    117830
  • DDR2
    +關注

    關注

    1

    文章

    89

    瀏覽量

    41491
  • PCB設計
    +關注

    關注

    394

    文章

    4648

    瀏覽量

    84547
  • 華秋DFM
    +關注

    關注

    20

    文章

    3492

    瀏覽量

    4188
收藏 人收藏

    評論

    相關推薦

    DDR布線PCB設計應用,你怎么看?

    DDR布線PCB設計占有舉足輕重的地位,設計成功的關鍵就是要保證系統(tǒng)有充足的時序裕量。要保證系統(tǒng)的時序,
    的頭像 發(fā)表于 09-26 11:39 ?6555次閱讀
    <b class='flag-5'>DDR</b><b class='flag-5'>布線</b>在<b class='flag-5'>PCB設計</b>應用,你怎么看?

    PCB設計干貨】DDR電路的PCB布局布線要求

    上期和大家聊的電源PCB設計的重要性,那本篇內容小編則給大家講講存儲器的PCB設計建議,同樣還是以大家最為熟悉的RK3588為例,詳細介紹一下DDR模塊電路的PCB設計要如何布局
    的頭像 發(fā)表于 08-24 08:40 ?1298次閱讀
    【<b class='flag-5'>PCB設計</b>干貨】<b class='flag-5'>DDR</b>電路的<b class='flag-5'>PCB</b>布局<b class='flag-5'>布線</b>要求

    DDR2布線經驗總結

    主要是針對DDR2 667內存的設計。信號分組:DDR2布線習慣把信號分成若干組來進行設計,分成同組的信號具有相關或者相似的信號特性。時鐘組:差分時鐘信號,每一對信號都是同頻同相的
    發(fā)表于 10-27 14:53

    【漢普觀點】PCB設計面臨的挑戰(zhàn)

    ,各種電子產品的PCB設計,積累了非常多的一些經驗,對于一些電子工程師來說,可以起到一個借鑒和參考的作用,也希望下面的一些經驗或者技巧能夠幫助電子工程師在產品的設計應對PCB設計面臨
    發(fā)表于 04-27 16:01

    淺談PCB布線設計DDR2的重要性

    PCB布線設計的好壞直接影響到硬件電路能否正常工作或運行多快的速度。而在高速數字PCB設計,DDR2是非常常見的高速緩存器件,且其工作頻率
    發(fā)表于 12-26 16:56

    DDR2PCB設計如何實現?

    本次設計CPU的封裝為BGA844-SOC-Y,DDR2的封裝為FBGA84,DDR2的控制總線采用星形連接,使用的PCB軟件為AltiumDesigner10
    發(fā)表于 07-30 06:29

    什么是DDR2 SDRAM

    什么是DDR2 SDRAM DDR2的定義:     DDR2(Double Data Rate 2) SDRAM是由JEDEC(電子設備工程聯(lián)合委員
    發(fā)表于 12-17 11:17 ?676次閱讀

    DDR2,DDR2是什么意思

    DDR2,DDR2是什么意思 DDR2(Double Data Rate 2) SDRAM是由JEDEC(電子設備工程聯(lián)合委員會)進行開發(fā)的新生代內存技術標準,它與上一代
    發(fā)表于 03-24 16:06 ?1425次閱讀

    DDR2 Layout指導手冊

    SDRAM, DDR, DDR2, DDR3 是RAM 技術發(fā)展的不同階段, 對于嵌入式系統(tǒng)來說, SDRAM 常用在低端, 對速率要求不高的場合, 而在DDR/
    發(fā)表于 01-16 14:53 ?0次下載
    <b class='flag-5'>DDR2</b> Layout指導手冊

    MPC8379E與DDR2之間的PCB布線及仿真設計

    研究了MPC8379E處理器的相關資料和DDR2的特性,以及它們之間PCB布線的規(guī)則和仿真設計。由于MPC8379E和DDR2都具有相當高的工作頻率,所以他們之間的走線必須滿足高速
    發(fā)表于 03-12 15:22 ?80次下載
    MPC8379E與<b class='flag-5'>DDR2</b>之間的<b class='flag-5'>PCB</b><b class='flag-5'>布線</b>及仿真設計

    DDR2PCB設計問題解決

      本文首先列出了DDR2布線面臨困難,接著系統(tǒng)的講述了DDR2電路板設計的具體方法,最后給
    發(fā)表于 09-19 11:27 ?22次下載
    <b class='flag-5'>DDR2</b>的<b class='flag-5'>PCB設計</b>問題解決

    如何實現TMS320DM644x數字媒體系統(tǒng)芯片DMSo實施DDR2PCB布局

    本節(jié)提供了DDR2接口作為一個PCB設計和制造的時間規(guī)范規(guī)范。設計規(guī)則限制PCB軌跡長度、PCB跟蹤歪斜、信號完整性、串擾,信號定時。這些規(guī)則,之后,在一個可靠的
    發(fā)表于 04-18 14:26 ?4次下載
    如何實現TMS320DM644x數字媒體系統(tǒng)芯片DMSo實施<b class='flag-5'>DDR2PCB</b>布局

    如何實現在TMS320DM357數字媒體系統(tǒng)芯片DMS實施DDR2PCB布局

     本節(jié)提供了DDR2接口作為一個PCB設計和制造的時間規(guī)范規(guī)范。設計規(guī)則限制PCB軌跡長度、PCB跟蹤歪斜、信號完整性、串擾,信號定時。這些規(guī)則,之后,在一個可靠的
    發(fā)表于 04-18 16:45 ?8次下載
    如何實現在TMS320DM357數字媒體系統(tǒng)芯片DMS實施<b class='flag-5'>DDR2PCB</b>布局

    如何進行DDR2高速PCB設計和信號完整性分析的詳細資料分析

    隨著現代高速電路設計的發(fā)展,DDI腔.因其內存強大的預讀取能力成為許多嵌入式系統(tǒng)的選擇。然而, DDR2的仿真工作不僅繁瑣耗時量大,對EMI的仿真也比較困難,給PCB設計也帶來了大量的工作難點。文中
    發(fā)表于 03-04 08:00 ?0次下載
    如何進行<b class='flag-5'>DDR2</b>高速<b class='flag-5'>PCB設計</b>和信號完整性分析的詳細資料分析

    DDR布線PCB設計的應用解析

    DDR布線pcb設計占有舉足輕重的地位,設計成功的關鍵就是要保證系統(tǒng)有充足的裕量。要保證系統(tǒng)的時序,線長又是一個重要的環(huán)節(jié)。
    發(fā)表于 01-14 14:46 ?1342次閱讀