【導(dǎo)讀】DDR布線(xiàn)在PCB設(shè)計(jì)中占有舉足輕重的地位,設(shè)計(jì)成功的關(guān)鍵就是要保證系統(tǒng)有充足的時(shí)序裕量。要保證系統(tǒng)的時(shí)序,線(xiàn)長(zhǎng)匹配又是一個(gè)重要的環(huán)節(jié)。
我們來(lái)回顧一下,DDR布線(xiàn),線(xiàn)長(zhǎng)匹配的基本原則是:地址,控制/命令信號(hào)與時(shí)鐘做等長(zhǎng)。數(shù)據(jù)信號(hào)與DQS做等長(zhǎng)。為啥要做等長(zhǎng)?大家會(huì)說(shuō)是要讓同組信號(hào)同時(shí)到達(dá)接收端,好讓接收芯片能夠同時(shí)處理這些信號(hào)。那么,時(shí)鐘信號(hào)和地址同時(shí)到達(dá)接收端,波形的對(duì)應(yīng)關(guān)系是什么樣的呢?我們通過(guò)仿真來(lái)看一下具體波形。
建立如下通道,分別模擬DDR3的地址信號(hào)與時(shí)鐘信號(hào)。
圖1.地址/時(shí)鐘仿真示意圖
為方便計(jì)算,我們假設(shè)DDR的時(shí)鐘頻率為500MHz,這樣對(duì)應(yīng)的地址信號(hào)的速率就應(yīng)該是500Mbps,這里大家應(yīng)該明白,雖然DDR是雙倍速率,但對(duì)于地址/控制信號(hào)來(lái)說(shuō),依然是單倍速率的。下面來(lái)看看波形,在地址與時(shí)鐘完全等長(zhǎng)的情況下,地址與數(shù)據(jù)端的接收波形如下圖2,紅色代表地址信號(hào),綠色代表時(shí)鐘信號(hào)。
圖2.時(shí)鐘信號(hào)與地址信號(hào)波形
上面的波形我們似乎看不出時(shí)鐘與地址之間的時(shí)序關(guān)系是什么樣的,我們把它放在一個(gè)眼圖中,時(shí)序關(guān)系就很明確了。這里粗略的計(jì)算下建立時(shí)間與保持時(shí)間。如下圖
圖3.時(shí)鐘信號(hào)與地址信號(hào)波形
由上圖3.我們可以知道,該地址信號(hào)的建立時(shí)間大約為891ps,保持時(shí)間為881ps。這是在時(shí)鐘與地址信號(hào)完全等長(zhǎng)情況下的波形。如果地址與時(shí)鐘不等長(zhǎng),信號(hào)又是什么樣的呢?仿真中,我們讓地址線(xiàn)比時(shí)鐘線(xiàn)慢200ps,得到的與眼圖如下:
圖4.時(shí)鐘信號(hào)與地址信號(hào)波形
由上圖可知,在地址信號(hào)比時(shí)鐘信號(hào)長(zhǎng)的情況下,保持時(shí)間為684ps,建立越為1.1ns??梢?jiàn),相對(duì)于地址線(xiàn)與時(shí)鐘線(xiàn)等長(zhǎng)來(lái)說(shuō),地址線(xiàn)比時(shí)鐘線(xiàn)長(zhǎng)會(huì)使地址信號(hào)的建立時(shí)間更短。同理,如果時(shí)鐘線(xiàn)比地址線(xiàn)長(zhǎng),則建立時(shí)間會(huì)變長(zhǎng),而保持時(shí)間會(huì)變短。那么雙倍速率的數(shù)據(jù)信號(hào)又是怎樣的?下面通過(guò)具體的仿真實(shí)例來(lái)看一下。
圖5.DQ 與 DQS仿真示意
仿真通道如上圖所示,驅(qū)動(dòng)端和接收端為某芯片公司的IBIS模型,仿真波形如下:
圖6.DQ與DQS仿真波形
我們將DQS和DQ信號(hào)同時(shí)生成眼圖,在一個(gè)窗口下觀測(cè),結(jié)果如下:
圖7.DQ與DQS眼圖
如上圖所示,大家可能發(fā)現(xiàn)了,如果按照原始對(duì)應(yīng)關(guān)系,數(shù)據(jù)信號(hào)的邊沿和時(shí)鐘信號(hào)的邊沿是對(duì)齊的,如果是這樣,時(shí)鐘信號(hào)怎樣完成對(duì)數(shù)據(jù)信號(hào)的采樣呢?實(shí)際上并不是這樣的。以上仿真只是簡(jiǎn)單的將兩波形放在了一起,因?yàn)镈Q和DQS的傳輸通道長(zhǎng)度是一樣的,所以他們的邊沿是對(duì)齊的。實(shí)際工作的時(shí)候,主控芯片會(huì)有一個(gè)調(diào)節(jié)機(jī)制。一般數(shù)據(jù)信號(hào)會(huì)比DQS提前四分之一周期被釋放出來(lái),實(shí)際上,在顆粒端接收到的波形對(duì)應(yīng)關(guān)系應(yīng)該是這樣的:
圖8.平移后的眼圖
通過(guò)主控芯片的調(diào)節(jié)之后,DQS的邊沿就和DQ信號(hào)位的中心對(duì)齊了,這樣就能保證數(shù)據(jù)在傳輸?shù)浇邮斩擞凶銐虻慕r(shí)間與保持時(shí)間。和上面分析時(shí)鐘與地址信號(hào)一樣,如果DQ與DQS之間等長(zhǎng)做的不好,DQS的時(shí)鐘邊沿就不會(huì)保持在DQ的中間位置,這樣建立時(shí)間或者保持時(shí)間的裕量就會(huì)變小。先簡(jiǎn)單的來(lái)看一張圖
圖9.延時(shí)偏差對(duì)時(shí)序的影響
上圖中,T_vb與T_va表示的是主控芯片在輸出數(shù)據(jù)時(shí)時(shí)鐘與數(shù)據(jù)之間的時(shí)序參數(shù)。在理想情況下,時(shí)鐘邊沿和數(shù)據(jù)電平的中心是對(duì)齊的,由于時(shí)鐘和數(shù)據(jù)傳輸通道不等長(zhǎng),使得時(shí)鐘邊沿沒(méi)有和數(shù)據(jù)脈沖的中間位置對(duì)其,使得建立時(shí)間的裕量變小。在理解了這些基礎(chǔ)問(wèn)題之后,我們需要做的就是將這些時(shí)間參數(shù)轉(zhuǎn)化為線(xiàn)長(zhǎng)。
下面我們通過(guò)具體實(shí)例來(lái)看看時(shí)序的計(jì)算,下圖是Freescale MPC8572 DDR主控芯片手冊(cè),這張圖片定義了從芯片出來(lái)的時(shí)候,DQS與DQ之間的相位關(guān)系。
圖10.MPC8572時(shí)序圖
圖11.MPC8572時(shí)序參數(shù)
顆粒端為美光DDR,該芯片的時(shí)序圖以及時(shí)序參數(shù)如下圖所示,這張圖片則定義了顆粒端芯片識(shí)別信號(hào)所需要的建立時(shí)間與保持時(shí)間。
圖12.DDR顆粒時(shí)序圖以及時(shí)序參數(shù)
我們用T_pcbskew來(lái)表示DQ與DQS之間的延時(shí)偏差,如果想要得到足夠的時(shí)序裕量,則延時(shí)偏差要滿(mǎn)足以下關(guān)系:
T_pcbskew《T_vb-T_setup
T_pcbskew》T_hold-T_va
代入數(shù)據(jù),有:
T_vb-T_setup=375-215=160ps
T_hold-T_va=-160ps
這樣,如果傳輸線(xiàn)的速度按照6mil/ps來(lái)計(jì)算,T_pcbskew為+/-960mil。大家會(huì)發(fā)現(xiàn)裕量很大,當(dāng)然這只是最理想情況,沒(méi)有考慮時(shí)鐘抖動(dòng)以及數(shù)據(jù)信號(hào)的抖動(dòng),以及串?dāng)_、碼間干擾帶來(lái)的影響,如果把這些因素都考慮進(jìn)來(lái),留給我們布線(xiàn)偏差的裕量就比較小了。
綜上所述,時(shí)序控制的目的就是要保證數(shù)據(jù)在接收端有充足的建立時(shí)間與保持時(shí)間,明白了這一點(diǎn),我們?cè)诰€(xiàn)長(zhǎng)匹配這個(gè)問(wèn)題上就能做到胸有成竹,游刃有余了。