韓玉濤
(瑞為信息技術(shù)有限公司,廣東 深圳 518000)
隨著處理器處理能力的快速提高,以及通信系統(tǒng)和圖像處理等領(lǐng)域?qū)?shù)據(jù)高容量存儲、大吞吐量傳輸?shù)囊?,DDR、DDR2以及DDR3 DRAM存儲器得到了越來越廣泛的應(yīng)用。這些存儲器的工作頻率都在100 MHz以上,高的可達(dá)1 GHz,這使得系統(tǒng)設(shè)計(jì)中的總線時(shí)序問題變得十分突出。如果在系統(tǒng)設(shè)計(jì)中芯片的時(shí)序要求得不到滿足,輕則會導(dǎo)致系統(tǒng)出現(xiàn)誤碼,處理能力降低,運(yùn)行不穩(wěn)定,嚴(yán)重的甚至?xí)?dǎo)致系統(tǒng)不能啟動。本文闡述高速數(shù)字總線的模型及時(shí)序分析方法,并給出SMP8634DDR多媒體處理器與DDR DRAM連接的計(jì)算實(shí)例。
高速總線模型如圖1所示,U1和U2是兩個(gè)在同一時(shí)鐘CLOCK下工作的芯片,U1輸出數(shù)據(jù)到U2。
圖1 高速總線模型
當(dāng)U1輸出數(shù)據(jù)時(shí),U1在時(shí)鐘上升沿后輸出數(shù)據(jù),然后輸入芯片U2會在下一個(gè)時(shí)鐘的上升沿去鎖存數(shù)據(jù)總線上的數(shù)據(jù),從上升沿到數(shù)據(jù)在數(shù)據(jù)總線上有效的時(shí)間稱為時(shí)鐘到數(shù)據(jù)的延時(shí)tCO。圖2表明了這種總線的時(shí)序關(guān)系。
圖2 總線時(shí)序圖
tCLK:時(shí)鐘CLOCK的周期。
tCO:芯片U1輸出數(shù)據(jù)時(shí),從時(shí)鐘上升沿開始到數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上的時(shí)間,此數(shù)據(jù)需要用到最大值tCOmax及最小值tCOmin。
tSU:芯片數(shù)據(jù)作為輸入時(shí),數(shù)據(jù)所需的建立時(shí)間(時(shí)鐘上升沿前數(shù)據(jù)維持的時(shí)間),建立時(shí)間永遠(yuǎn)以最小值來計(jì)算。
tH:芯片數(shù)據(jù)作為輸入時(shí),數(shù)據(jù)所需的保持時(shí)間(時(shí)鐘上升沿后數(shù)據(jù)維持的時(shí)間),保持時(shí)間永遠(yuǎn)以最小值來計(jì)算。
為了保證U1到U2的數(shù)據(jù)傳輸可靠進(jìn)行,U1的輸出數(shù)據(jù)在被U2端采樣接收時(shí),在建立時(shí)間和保持時(shí)間上必須要滿足U2芯片對最小建立時(shí)間tSUmin及最小保持時(shí)間tHmin的要求。
根據(jù)圖1和圖2,考慮到時(shí)鐘實(shí)際到達(dá)U1和U2的差異、數(shù)據(jù)在PCB上的傳輸延遲、時(shí)鐘抖動、PCB上的串?dāng)_以及U1輸出的數(shù)據(jù)在經(jīng)過傳輸后必須在建立時(shí)間和保持時(shí)間上滿足U2對最小建立時(shí)間和保持時(shí)間的要求,可以得出以下兩個(gè)公式[1]:
tCLK-tCOmax-tFLIGHT+tSKEW-tJITTER-tCROSSTALK>tSU
(1)
tCOmin+tFLIGHT-tSKEW-tCROSSTALK>tH
(2)
tFLIGHT: 數(shù)據(jù)信號在PCB上的傳輸時(shí)延或飛行時(shí)間。
tSKEW: 時(shí)鐘信號到達(dá)發(fā)送IC和接收IC時(shí)鐘引腳的時(shí)間差異。
tJITTER:由于時(shí)鐘抖動引起的時(shí)鐘周期的變化。
tCROSSTALK:由于串?dāng)_引起的數(shù)據(jù)沿變化,導(dǎo)致數(shù)據(jù)到達(dá)時(shí)間發(fā)生輕微的搖擺。
從上面公式可以得出結(jié)論:如果電路板在芯片數(shù)據(jù)輸入的建立時(shí)間方面發(fā)生問題,我們可以通過降低芯片的運(yùn)行頻率(增大tCLK)或者優(yōu)化PCB布線來調(diào)節(jié)時(shí)序以滿足所需的建立時(shí)間要求;芯片數(shù)據(jù)輸入的保持時(shí)間的時(shí)序裕量只和輸入/輸出芯片本身的特性(tCO)、PCB布線(tFLIGHT、tJITTER、tCROSSTALK)相關(guān),而與時(shí)鐘運(yùn)行頻率無關(guān)。
tSKEW是時(shí)鐘信號到達(dá)兩個(gè)芯片的時(shí)間延遲,這個(gè)參數(shù)在PCB布線時(shí)可以根據(jù)需要調(diào)整。從上面的公式(1)和(2)中,可以看到tSKEW在建立時(shí)間和保持時(shí)間中的作用分別為一正一負(fù),因此我們可以得出以下結(jié)論:如果想通過調(diào)整時(shí)鐘的延遲來增加建立時(shí)間的裕量,那么必須犧牲相應(yīng)的保持時(shí)間的裕量;反之如果想增加保持時(shí)間的裕量,那么必須犧牲相應(yīng)的建立時(shí)間的裕量。
這兩個(gè)公式為PCB布線的時(shí)序計(jì)算提供了理論依據(jù),Cadence的SPECCTRAQuest仿真軟件的時(shí)序分析模型,就是根據(jù)這兩個(gè)公式來計(jì)算的。這兩個(gè)基本公式考慮了tSKEW,tJITTER,tCROSSTALK對時(shí)序裕量的影響。這些信號在很多情況下是以正負(fù)的指標(biāo)來表明在一定范圍內(nèi)的漂移,由于PCB布線設(shè)計(jì)者無法預(yù)測這些指標(biāo)是帶來正的影響還是負(fù)的影響,因此在實(shí)際情況下,要根據(jù)PCB布線的情況進(jìn)行仿真分析[2]。在實(shí)際估算中,可以根據(jù)芯片及布線的情況來進(jìn)行取舍。
SMP8634是Sigma Design新一代功能強(qiáng)大的多媒體SoC芯片,包含了一個(gè)MIPS 300 MHz的主CPU和一個(gè)MIPS 200 MHz的安全CPU。它把強(qiáng)大的多媒體處理能力、可靠的內(nèi)容安全系統(tǒng)以及一整套補(bǔ)充性外圍設(shè)備結(jié)合到一起。其先進(jìn)的解碼引擎支持 H.264 (MPEG-4 part 10)、Windows Media Video 9、VC-1、MPEG-2 和 MPEG-4 (part 2) 視頻解碼,最大解碼能力可支持兩路高清視頻流。SMP8634還集成了一個(gè)10/100 Mbps以太網(wǎng)控制器、HDMI發(fā)送器、兩個(gè)USB 2.0 HOST控制器、IDE 控制器及PCI2.1 MASTER/SLAVE,為了提供網(wǎng)絡(luò)數(shù)據(jù)、音視頻數(shù)據(jù)的緩沖處理,SMP8634集成了兩個(gè)32 bit DDR DRAM控制器,最大速率200 MHz,共計(jì)3.2 Gbit/s的數(shù)據(jù)吞吐能力[3]。SMP8634處理器和DDR DRAM(NANYA的NT5DS32M16ES-5)的連接圖如圖3如示。
圖3 SMP8634和DDR連接框圖
圖3只給出了SMP8634的DDR控制器1與相對應(yīng)的DDR芯片的連接圖,DDR控制器2的連接圖與此相同。在DDR連接線上串接了33 Ω電阻(圖中省略),計(jì)算長度時(shí)要把電阻左右的長度算在一起。對于DDR的布線,如果在分組內(nèi)的布線長度差控制得太小,則給PCB布線增加了難度,尤其是在板上器件較多、管腳間距小、布線空間有限制,且要求的板層數(shù)盡量少以節(jié)省成本的情況下,就要在滿足時(shí)序要求的情況下放寬對線長的精度控制,以實(shí)現(xiàn)性能和成本的平衡。本設(shè)計(jì)中的DDR走線長度設(shè)計(jì)規(guī)則如下:
數(shù)據(jù)線部分采用分組等長原則(每8 bit數(shù)據(jù)線和相應(yīng)的選通信號DQS、掩碼信號DM為一組,例如數(shù)據(jù)線DQ0-DQ7、DQS0-DM0為一組),組內(nèi)信號長度偏差控制在±5 mm以內(nèi);
地址線、命令線和CLK線長度控制在±15 mm以內(nèi);
差分時(shí)鐘線的差分阻抗控制在100 Ω。
那么,實(shí)際布線情況如何,時(shí)序是否能完全滿足CPU和MEMORY芯片的要求呢,下面就對實(shí)際的情況進(jìn)行計(jì)算。
對于DDR控制器和DDR芯片顆粒而言,DQS是源同步時(shí)鐘,在寫操作時(shí),由DDR控制器發(fā)出,在讀操作時(shí),由DDR芯片發(fā)出,數(shù)據(jù)在DQS的上升沿和下降沿進(jìn)行采樣。DQS和DQ都是三態(tài)信號,在PCB走線上雙向傳輸,讀操作時(shí),DQS信號的邊沿在時(shí)序上與DQ信號的邊沿處對齊,而寫操作時(shí),DQS信號的邊沿在時(shí)序上與DQ信號的中心處對齊;而對于地址和命令信號,它們是在時(shí)鐘信號的上升沿處進(jìn)行采樣的[4]。篇幅限制,只以數(shù)據(jù)線的寫操作為例,數(shù)據(jù)線的讀操作和地址/命令線的操作原理與數(shù)據(jù)線的寫操作完全相同,只需要注意數(shù)據(jù)有效時(shí)參考的對象和沿。在計(jì)算時(shí),由于Jitter參數(shù)沒有給出,不考慮其影響,Crosstalk影響需要仿真決定,在此沒有計(jì)算在內(nèi)。
DDR芯片NT5DS32M16ES-5T的寫時(shí)序要求[5]:tDH(DQ和DM的最小輸入保持時(shí)間)=0.4 ns;tDS(DQ和DM的最小輸入建立時(shí)間)=0.4 ns(如圖4所示)。
SMP8634 DDR控制器的寫時(shí)序要求:tDH最少為0.7 ns,tDS最少為0.7 ns,如圖5所示。
圖4 DDR芯片的數(shù)據(jù)寫時(shí)序
圖5 SMP8634 DDR控制器的數(shù)據(jù)寫時(shí)序
在此SMP8634的PCB板上,每組數(shù)據(jù)線長度與相應(yīng)的DQS之間的最大偏差分別為:DQ0相對DQS0為-1.01 mm(負(fù)號表示短于DQS,正號表示長于DQS,下同),DQ15相對DQS1為-2.08 mm,DQ22相對DQS2為3.84 mm,DQ25相對DQS3為-2.01 mm。PCB板材為FR-4,理論上在PCB板上信號的傳輸延遲為7.08 ps/mm,則相對DQS相應(yīng)的延遲時(shí)間分別為-7 ps,-15 ps,27.2 ps 和-14 ps。我們只取DQ15和DQ22進(jìn)行計(jì)算,因?yàn)檫@兩個(gè)偏差最大的信號如果能滿足要求,那么另外的信號自然也能滿足時(shí)序要求。
DQ15與SMP8634(U1)和DDR芯片(U2)之間的對應(yīng)關(guān)系如圖6所示。
圖6 寫數(shù)據(jù)時(shí)DQ15的相對時(shí)序
在接收側(cè)(U2),則相對于DQS1的tDS=0.7 ns+0.015 ns=0.715 ns,tDH=0.7 ns-0.015 ns=0.685 ns,在U2側(cè)的建立和保持時(shí)間都大于0.4 ns,所以滿足寫數(shù)據(jù)時(shí)DDR芯片的時(shí)序要求。
DQ22與SMP8634(U1)和DDR芯片(U2)之間的對應(yīng)關(guān)系如圖7所示。
圖7 寫數(shù)據(jù)時(shí)DQ22的相對時(shí)序
在接收側(cè)(U2),則相對于DQS3的建立時(shí)間和保持時(shí)間分別為:tDS=0.7 ns+0.0272 ns=0.727 2 ns,tDH=0.7 ns-0.0272 ns=0.672 8 ns,在U2側(cè)的建立時(shí)間和保持時(shí)間都大于所要求的0.4 ns,所以滿足寫數(shù)據(jù)時(shí)DDR芯片的時(shí)序要求。
從以上結(jié)果可看出,此PCB布線可以滿足時(shí)序的要求。其實(shí),也可以根據(jù)DDR和CPU的時(shí)序參數(shù)限值逆推出滿足時(shí)序要求的布線最大的長度偏差。本計(jì)算方法已經(jīng)用在IPTV機(jī)頂盒和無線基站產(chǎn)品的DDR時(shí)序計(jì)算及PCB設(shè)計(jì)中,時(shí)序裕量好,DDR運(yùn)行性能非常穩(wěn)定,產(chǎn)品已經(jīng)在國內(nèi)外批量出貨。
在嵌入式系統(tǒng)中尤其是圖像處理和通信系統(tǒng)中,總線的速度越來越快,對時(shí)序的要求越來越嚴(yán)格,尤其是DDR、DDR2、DDR3存儲器的廣泛使用,需要我們在設(shè)計(jì)中對總線時(shí)序進(jìn)行嚴(yán)格估算,在滿足時(shí)序要求和方便PCB布線之間,找到折中點(diǎn),在某些情況下還需要使用專業(yè)的仿真軟件對高速總線的時(shí)序質(zhì)量進(jìn)行仿真以保證系統(tǒng)運(yùn)行的穩(wěn)定性[6-8]。本文中介紹的DDR估算原理,同樣也可用于DDR2、DDR3等存儲器的時(shí)序計(jì)算。
[參考文獻(xiàn)]
[1]JOHNSON Howard,GRAHAM Martin.高速數(shù)字設(shè)計(jì)[M].沈立,朱來文,陳宏偉,等譯.王強(qiáng),審校.北京:電子工業(yè)出版社,2010.
[2]BOGATIN Eric.信號完整性與電源完整性分析[M].李玉山,劉萍,譯.2版.北京: 電子工業(yè)出版社,2015.
[3]Sigma Designs Inc. SMP8634-DS DATASHEET[Z].Sigma Designs Inc,2010.
[4]唐萬明,范朝元.基于Cadence的DDR源同步時(shí)序仿真研究[J].現(xiàn)代電子技術(shù), 2014(8):75-78.
[5]Nanya Technology Corp. 512 Mb DDR SDRAM DATASHEET[Z]. Nanya Technology Corp,2014.
[6]覃婕,閻波,林水生.基于Cadence_Allegro的高速PCB設(shè)計(jì)信號完整性分析與仿真[J]. 現(xiàn)代電子技術(shù), 2011, 34(10):169-171.
[7]左昉,李剛. Cadence16.6高速電路板設(shè)計(jì)與仿真[M]. 北京: 機(jī)械工業(yè)出版社, 2016.
[8]陳春,劉曉星.高速數(shù)據(jù)通信總線關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字通信世界,2017(2):73-74.