扒一扒DDR4的新功能和PCB設計上的一些注意事項--轉

扒一扒DDR4的新功能和PCB設計上的一些注意事項

 轉自 http://www.elecfans.com/d/906656.html

DDR4新增了許多功能,這對於我們之前信手拈來的內存PCB設計又帶來了一些新的挑戰,雖然說之前的一些規範可以用,但還是有很多不一樣的地方,如果依然按照之前的設計方法來做,說明你還不瞭解DDR4,一準入坑。今天咱們就來扒一扒它的新功能和PCB設計上的一些注意事項。

DDRX發展趨勢及參數對比

 

DDR4信號引腳功能

DDR4新增pin

DDR4新增功能

(1)新的JEDEC POD12接口標準(工作電壓1.2V) ;

(2)DBI:可以降低功耗並且提升數據信號完整性;

(3)Bank羣組結構:是個8n預取羣組結構,它可以使用兩個或者四個Bank組,這允許DDR4內存在每個Bank羣組單獨被激活、讀取、寫入或刷新操作,這樣可以帶來更高的內存速度和帶寬;

(4)取消了Derating,時序仿真計算不再繁瑣;  

(5)DQ動態確定Vref ( V_ center ) ,增加了眼圖要求;

(5)新的終止調度:在DDR4中DQ bus可以轉移終止到VDDQ ,這樣即使VDD電壓降低的情況下也能保證穩定;

(6)新的數據總線CRC技術,可以進行傳輸過程中的錯誤偵測,特別對非ECC內存進行寫入操作時有幫助;

(7)針對命令和地址總線的新的CA奇偶校驗;突發長度和突發停止長度分別爲8和4 ;

(8)正常和動態的ODT :改進ODT協議,並且採用新的Park Mode模式可以允許正常終結和動態吸入終結,而不需要去驅動ODT Pin 

(9)Differential Signaling(差分信號技術)

信號分組

DDR3數據信號的分組

DDR4數據信號的分組

DDR3地址信號的分組

DDR4地址信號的分組

佈局要求

(1)地址線佈局佈線需使用Fly-by的拓撲結構,不可使用T型,拓撲過孔到管腳的長度儘量短,長度在150mil左右

(2)VTT上拉電阻放置在相應網絡的末端,即靠近最後一個DDR4顆粒的位置放置;注意VTT上拉電阻到DDR4顆粒的走線越短越好,走線長度小於500mil;每個VTT上拉電阻對應放置一個VTT的濾波電容(最多兩個電阻共用一個電容)

(3)CPU端和DDR4顆粒端,每個引腳對應一個濾波電容,濾波電容儘可能靠近引腳放置。線短而粗,迴路儘量短;CPU和顆粒周邊均勻擺放一些儲能電容,DDR4顆粒每片至少有一個儲能電容。

阻抗控制

(1)單端線:50ohm  

(2)差分線:100ohm

帶狀線和平面

(1)除了從焊盤到過孔之間的短線外,所有的走線都必須走帶狀線,即內層走線

(2)所有的內層走線都要求夾在兩個參考平面之間,即相鄰層不要有信號層,這樣可以避免串擾和跨分割走線,走線到平面的邊緣必須保持4mil以上的間距;

(3)數據線參考平面優先兩邊都是GND,接受一邊地,一邊自身電源,但是到GND平面的距離要比到電源平面的距離要近;對於地址線,控制信號,CLK來說,參考面首選GND和VDD,也可以選GND和GND。

容性負載補償

flyby拓撲要求stub走線很短,當stub走線相對於信號邊沿變化率很短時,stub支線和負載呈容性。負載引入的電容,實際被分攤到了走線上,所以造成走線的單位電容增加,從而降低了走線的有效阻抗。所以在設計中,我們應該將負載部分的走線設計爲較高阻抗,最直接有效的方式就是減小支線線寬。經過負載電容的平均後,負載部分的走線纔會和主線阻抗保持一致,從而達到阻抗連續,降低反射的效果。

PCB疊層設計

(1)所有的DQ線必須同組同層。

(2)地址線是否同層不做要求。

(3)爲了減少過孔產生的Stub,強烈建議在同一層中優先布DQ,   DQS,CLK等信號。如果所有的BGA都在top層,data線儘量的靠近bottom層走,而地址,控制線則可以靠近top層走;當BGA在top層時,越靠近bottom層,過孔產生的stub越短,信號質量越好。

走線線寬和線間距

(1)線寬和線間距必須滿足阻抗控制,即單端線50ohm,差分線100ohm。ZQ屬於模擬信號,佈線儘可能短,並且阻抗越低越好,所以儘可能的把線走寬一點,建議3倍50ohm阻抗控制的線寬;

(2)DQ和DBI數據線,組內要求滿足3W間距,與其他組外信號之間保持至少4W;

(3)DQS和CLK距離其他信號間距做到5W以上;

(4)在過孔比較密集的BGA區域,同組內的數據線,地址線的間距可以縮小到2W,但是要求這樣的走線儘可能的短,並且儘可能的走直線;

(5)如果空間允許,所有的信號線走線之間的間距儘可能的保證均勻美觀;

(6)內存信號與其他非內存信號之間應該保證4倍的介質層高的距離。

等長要求

(1)數據走線儘量短,不要超過2000mil,分組做等長,組內等長參考DQS誤差範圍控制在+/-5mil;

(2)地址線、控制線、時鐘線作爲一組等長,組內等長參考CLK誤差範圍控制在+/-10mil;

(3)DQS、時鐘差分線對內誤差範圍控制在+/-2mil;

(4)RESET和ALERT不需要做等長控制

(5)信號實際長度應當包括零件管腳的長度,儘量取得零件管腳長度,並導入軟件中;

(6)因有些IC內核設計比較特別,按新品設計指導書或說明按參考板做,特別是IntelAMD的芯片,請特別留意芯片手冊要求;

電源處理

(1)VDD(1.2V)電源是DDR3的核心電源,其引腳分佈比較散,且電流相對會比較大,需要在電源平面分配一個區域給VDD(1.2V);VDD的容差要求是5%,詳細在JEDEC裏有敘述。通過電源層的平面電容和專用的一定數量的去耦電容,可以做到電源完整性。

(2)VTT(0.6V)電源,它不僅有嚴格的容差性,而且還有很大的瞬間電流;可以通過增加去耦電容來實現它的目標阻抗;由於VTT是集中在上拉電阻處,不是很分散,且對電流有一定的要求,在處理VTT電源時,一般是在元件面同層通過鋪銅直接連接,銅皮要有一定寬度(120mil)。

(3)VREF(0.6V)VREF要求更加嚴格的容差性,但是它承載的電流比較小。它不需要非常寬的走線,且通過一兩個去耦電容就可以達到目標阻抗的要求。因其相對比較獨立,電流也不大,佈線處理時建議用與器件同層的銅皮或走線直接連接,無須再電源平面層爲其分配電源。注意鋪銅或走線時,要先經過電容再接到芯片的電源引腳,不要從分壓電阻那裏直接接到芯片的電源引腳。

(4)VPP(2.5V)內存的激活供電,容差相對寬鬆,最小2.375V,最大2.75V。電流也不是很大,一般走根粗線或者畫塊小銅皮即可。

 

 

以下參考:https://www.cnblogs.com/zhongguo135/p/8486961.html

DDR4接口
A[17:0]     input

爲激活命令提供行地址,爲讀、寫命令地址輸入:提供列地址,也爲模式寄存器設

置提供操作碼,A[16]只用於8Gb和16Gb,A[17]只用於16Gb,另外 

(A10/AP, A12/BC_n, WE_n/A14, CAS_n/A15, RAS_n/A16還有一些別

的功能)                               

A10/AP input 

 自預充電(Auto precharge):在讀寫命令期間採樣A10,決定是

否對訪問的Bank在讀寫操作之後進行Auto Precharge,高電平表示進

行Auto Precharge,低電平表示不進行Auto Precharge。

另外PRECHARGE命令期間也會對A10進行採樣,來決定是對一個(A10爲

低電平)Bank進行還是對所有的Banks(A10爲高電平)進行PRECHARGE,

如果選擇一個,則選擇的Bank由Bank組和Bank地址決定     

A12/BC_n input

突發突變(Burst chop):在讀和寫命令期間對A12/BC_n進行採樣,

來決定是否進行突發突變,高電平表示進行,低電平表示不進行.具體

可以查看命令真值表

ACT_n   input    

命令輸入(command input):ACT_n用於指示激活命令。當ACT_n(與CS_n)是低電平時,輸入RAS_n/A16,CAS_n/A15, 和WE_n/A14 看作行地址用於激活命令。

當ACT_n爲高電平(CS_n爲低)時,RAS_n/ A16, CAS_n/A15, and WE_n/A14,用作RAS_n, CAS_n,和WE_n

BA[1:0]     input

Bank地址輸入(bank address inputs):指示被ACTIVTE,READ,

WRITE或者PRECHARGE命令操作的Bank。另外用作指示在MODE REGISTER

SET命令期間要訪問的模式寄存器

BG[1:0]   input

Bank組地址輸入(Bank group address inputs):指示被ACTIVTE,

READ,WRITE或者PRECHARGE命令操作的Bank組。另外用作指示在MODE REGISTER SET命令期間要訪問的模式寄存器,BG[1:0]用於x4和x8配

置,而BG[1]不用於x16配置

C0/CKE1,

C1/CS1_n,

C2/ODT1

input Stack address inputs:

CK_t,

CK_c,

input

時鐘:差分時鐘輸入,所有的地址,命令和控制輸入信號在CK_t和

CK_c的低電平被採樣  

CKE input

時鐘使能:高電平激活,低電平禁止內部時鐘信號,輸入緩存和輸

出驅動。拉低CKE提供PRECHARGE,POWER_DOWN和SELF REFRESH操作。

CKE在讀寫期訪問期間必須保持HIGH,

CS_n input 片選

DM_n,

UDM_n,

LDM_n

input

輸入數據Mask:用於寫數據,DM在DQS的雙沿採樣,DM不支持x4配置,

UDM_n用於x16的高8位,LDM_n用於x16低8位,

ODT

input

On-die termination:ODT爲高電平時使能內部終端電阻到DDR4.當使

能時,ODT(Rtt)只用於x4和x8的DQ, DQS_t,DQS_c,

DM_n/DBI_n/TDQS_t, 和TDQS_c信號(當TDQS功能通過模式寄存器

使能)。對於x16配置,Rtt應用於DQ, DQSU_t, DQSU_c, DQSL_t,

DQSL_c, UDM_n,和 LDM_n信號,如果模式寄存器禁止Rtt,ODT腳將

被忽略。

PAR INPUT  

RAS_n/A16,

CAS_n/A15,

WE_n/A14

INPUT

命令輸入:

RESET_n

input 低電平異步復位:

TEN

input 連通性測試模式:高電平有效,低電平無效

DQ

IO

數據輸入輸出 :對於x4,x8和x16分別代表DQ[3:0],DQ[7:0]和

DQ[15:0].如果在模式寄存器中使能了寫CRC,寫CRC會添加在寫

突發的後面

DBI_n,

UDBI_n,

LDBI_n

I/O

DBI輸入輸出:數據總線翻轉。DBI_n用於x8,UDBI_n用於x16的

高8位,LDBI_n用於x16的低8位。不支持x4。通過模式寄存器可

以配置DBI用於讀和寫操作。

DQS_t,

DQS_c,

DQSU_t,

DQSU_c,

DQSL_t,

DQSL_c,

IO

數據選通:輸入用於寫數據輸出用於讀數據。與輸出數據邊沿對

齊,與輸入數據中心對齊,DQS用於x4,x8,DQSU用於x16高8位,

DQSL用於x16低8位。DDR4只支持差分數據選通,不支持單端數據

選通道。

ALERT_n

   

TDQS_t,

TDQS_c

output

終端數據選通道:TDQS只用於x8 DRMAs.如果在模式寄存器使能該功能,DRAM會在TDQS_t和TDQS_c使能與DQS_t和DQS_c同樣

的Rtt終端電阻。當TDQS功能通過模式寄存器禁止,DM/TDQS_t腳會提供DATA MASK(DM)功能,TDQS_c腳不使用。對於x4和x16模式,

必須禁止TDQS功能。DM功能只支持x8和x16配置

ZQ

參考 外部通過240歐姆電阻連接到VssQ

 

 

 

 

Bank與Bank 組的區分

 

這是從DDR4框圖中截取的一部分。該DDR總共有16個Bank,每4個Bank組成一個Bank組。

Bank與Bank 組的區分

 

READ Buust操作

DDR4 讀命令支持突發長度爲BL8,BC4兩種,或者OTF(實時修改BL8和BC4)。這由A12來控制

.A12 = 0 ,BC4(BC4 = burst chop)

.A12 = 1 ,BL8

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章