程增艷,吳 駿
(中船重工七二二研究所 湖北 武漢 430079)
MPC8379E是Freescale公司開發(fā)的PowerQUICC II Pro系列的高性能處理器。其內(nèi)部工作頻率最高可達(dá)1.33 GHz,在該工作頻率上處理性能可達(dá)3065 MIPS。一級Cache分為數(shù)據(jù)Cache和指令Cache各32 kB,二級Cache最大可配置為512 kB。支持DDR1和DDR2,最高支持533 MHz傳輸速率的DDR2 SDRAM,同時(shí)該處理器還支持PCI、PCI-X、PCIE、SRapid IO和4個(gè)GbE接口[1]。
內(nèi)存是計(jì)算機(jī)系統(tǒng)中至關(guān)重要的部分,處理器的每一步操作和操作系統(tǒng)的運(yùn)行都需要依賴內(nèi)存,如果內(nèi)存不能正常訪問整個(gè)系統(tǒng)就不可能運(yùn)行。DDR2技術(shù)自從面世至今,憑借其出色的性能廣泛運(yùn)用于各種計(jì)算機(jī)主板和嵌入式設(shè)備。本文闡述了MPC8379E與DDR2之間的PCB布線及仿真設(shè)計(jì)。
一個(gè)DDR2系統(tǒng)包含控制器和存儲器兩部分。從時(shí)序上分析DDR2系統(tǒng)是一個(gè)源同步時(shí)序。所謂源同步時(shí)序,就是選通信號(即時(shí)鐘信號)不是通過獨(dú)立的時(shí)鐘源發(fā)送,而是由驅(qū)動芯片發(fā)送。DDR2信號分為以下幾組源同步時(shí)序信號:Data vs&Data Strobe(讀方向和寫方向);Data Mask vs&Data Strobe (讀方向和寫方向);Data Strobe vs&Clock;Address/Command/Control vs&Clock[2]。
與傳統(tǒng)的公用時(shí)鐘技術(shù)相比,源同步技術(shù)顯著提高了總線速度的最大值。由于公用時(shí)鐘總線中存在器件延時(shí)和PCB走線延時(shí),而且PCB走線的長度也不可能超過某個(gè)最大的極限值,這為總線的最快運(yùn)行速度設(shè)置了難以逾越的理論極限。而源同步設(shè)計(jì)取決于數(shù)據(jù)信號和選通信號之間的延時(shí)差,而不是數(shù)據(jù)信號的絕對延時(shí),因此源同步總線沒有理論上的頻率極限。然而數(shù)據(jù)信號和選通信號的延時(shí)差與許多因素相關(guān),如同步開關(guān)噪聲、走線長度、走線阻抗、信號完整性以及緩沖器特性等,在實(shí)踐中,還是對應(yīng)存在許多頻率極限。
本設(shè)計(jì)中選用Micron公司的MT47H64M16HW-3LIT芯片作為DDR2顆粒,該芯片支持外部數(shù)據(jù)傳輸率400 MHz或533 MHz,用戶根據(jù)不同的需求可以配置參數(shù)從而實(shí)現(xiàn)不同的速率。本系統(tǒng)采用5片該型號DDR2顆粒進(jìn)行位擴(kuò)展組成64位數(shù)據(jù)總線和8位ECC(Error Checking Correcting)效驗(yàn)的工作方式。為了敘述方便將MPC8349E與DDR2接口的信號線分為以下4組[3]:
數(shù)據(jù)組(MDQS/MDQS#[0:8]、MDM[0:8]、MDQ[0:63]、MECC[0:7]);
地址組(MBA[0:2]、MA[0:15]、MRAS#、MCAS#、MWE#);
命令組(MCS#[0:3]、MCKE[0:3]、MODT[0:3]);
時(shí)鐘組(MCK/MCK#[0:5])。
PCB布線時(shí),按照數(shù)據(jù)組、地址組、控制組、時(shí)鐘組及電源的順序依次布線,相互之間的線間距應(yīng)該控制在25 mil以上。對于單端信號線,阻抗控制在50~60 Ω內(nèi),對于差分信號線,阻抗控制在 50~100 Ω 內(nèi)[4]。
規(guī)則一,對于數(shù)據(jù)組,要求各小組之內(nèi)走線在同一層并擁有相同數(shù)目的過孔,走線長度差異控制在20 mil內(nèi),線間距控制在10 mil以上,所有的信號線走線必須以完整的地層作為參考。不同小組之間,走線長度差異控制在100 mil之內(nèi)。同時(shí)5個(gè)小組內(nèi)部也有對應(yīng)關(guān)系,即MDQS/MDQS#[0]、MDQ[0:7]、MDM[0]為一組對應(yīng)關(guān)系,依次類推。
規(guī)則二,對于地址組和命令組,信號線長度差異控制在100 mil之內(nèi)線間距控制在10 mil以上。走線以1.8 V電源平面或完整的地層作為參考層。
規(guī)則三,對于時(shí)鐘組,差分信號對內(nèi)走線差異控制在10 mil內(nèi),盡量在同一層走線,如果需要換層,2根差分信號線應(yīng)該一起換。
在高速設(shè)計(jì)中,如果處理不當(dāng),有可能會導(dǎo)致整個(gè)系統(tǒng)的失敗,所以必須重視高速設(shè)計(jì)中的仿真。從 PCB的設(shè)計(jì)角度來講,要做到嚴(yán)格的時(shí)序匹配,以滿足波形的完整性,這里有很多的因素需要考慮,所有的這些因素都是會互相影響的。但是,它們之間還是存在一些個(gè)性的,由于篇幅有限,本文討論其中的 PCB疊層、阻抗、互聯(lián)拓?fù)浜蜁r(shí)序因素[5]。
根據(jù)BGA出線的要求,然后考慮走線密度,信號的參考平面(電源層和地層),有幾組交叉的(線寬間距),最終確定布線疊層。通過設(shè)置不同層數(shù)的PCB仿真得到波形,對比發(fā)現(xiàn)采用12層的PCB波形信號質(zhì)量最好。因此本系統(tǒng)采用12層板, 其中 2、4、7、11 層是地層;6、9 層是電源層;1、3、5、8、10、12層是信號層。本系統(tǒng)的疊層如圖1所示[6]。
圖1 層疊設(shè)計(jì)圖Fig.1 Stickup design graph
在仿真設(shè)置中,DRAM的仿真模型設(shè)置3種:U48B_IT_DQHALF_ODT50_533,U48B_IT_DQHALF_ODT75_533,U48B_IT_DQHALF_ODT150_533。 分別對應(yīng) ODT 為 50 Ω, 75 Ω,150 Ω的仿真模型。選擇ODT為50 Ω和75 Ω進(jìn)行仿真,波形如圖2所示。
圖2 ODT為50和75 Ω對應(yīng)的仿真數(shù)據(jù)信號波形圖Fig.2 Simulation data signal waveform graph:ODT=50 and ODT=75
從仿真結(jié)果的信號波形可以看出波形的差異,ODT50模式下波形效果最佳。通過上述拓?fù)浞抡鎴D,ODT模式選擇為50 Ω。由于 DDR2的設(shè)計(jì)時(shí)阻抗必須是恒定連續(xù)的,因此,單端走線的阻抗匹配電阻 50 Ω必須被用到所有的單端信號上,并做到阻抗匹配;而對于差分信號,100 Ω的終端阻抗匹配電阻必須被用到所有的差分信號終端,比如CLOCK和 DQS等信號。另外,所有的匹配電阻必須上拉到VTT(0.9 V),PCB基板材料選用FR-4,要求單端阻抗控制在50 Ω(±10%)。
目前的拓?fù)浣Y(jié)構(gòu)通常有:點(diǎn)到點(diǎn)(基本上目前高速信號所用的拓?fù)浣Y(jié)構(gòu));多點(diǎn)(菊花鏈型、樹型、星型等等,多用于低速多負(fù)載)。本系統(tǒng)中CPU連接5片DDR2顆粒,地址信號和控制信號為一驅(qū)五的拓?fù)浣Y(jié)構(gòu),選用菊花鏈還是星型對稱拓?fù)溥M(jìn)行布線,涉及到布線層數(shù)和信號質(zhì)量等問題。我們需要的拓?fù)浣Y(jié)構(gòu)是既能占用最少的布線通道和布線層數(shù),同時(shí)又能保證良好的信號質(zhì)量。以下是菊花鏈拓?fù)浣Y(jié)構(gòu)預(yù)布局,用Cadence仿真抽取到的拓?fù)浣Y(jié)構(gòu)如圖3所示。
圖3 DDR菊花鏈拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)圖Fig.3 DDR daisy chain topology structure design graph
SI仿真掃描得到的典型狀態(tài)下負(fù)載端波形如圖4和圖5所示。其中圖4為5片DDR2顆粒地址信號(A1)接收負(fù)載波形,滿足信號的單調(diào)性、小的過沖及小的振蕩。
圖4 菊花鏈拓?fù)浣Y(jié)構(gòu)狀態(tài)下A1接收端負(fù)載波形Fig.4 A1 receiving terminal load waveform for daisy chain topology
圖5為數(shù)據(jù)信號(D4)接收負(fù)載波形,從圖中可以看出信號的波形滿足其完整性(良好的單調(diào)性、小的過沖及小的震蕩)的要求。
圖5 菊花鏈拓?fù)浣Y(jié)構(gòu)狀態(tài)下D4接收端負(fù)載波形Fig.5 D4 receiving terminal load waveform for daisy chain topology
上述仿真的結(jié)果顯示菊花鏈拓?fù)浣Y(jié)構(gòu)可以滿足系統(tǒng)對信號完整性的要求,因此,在本設(shè)計(jì)中的5片DDR2采用菊花鏈?zhǔn)酵負(fù)浣Y(jié)構(gòu)。
時(shí)序電路根據(jù)時(shí)鐘的同步方式的不同,通常分為源同步時(shí)序電路 (Source-synchronous timing)和共同時(shí)鐘同步電路(common-clock timing)。本系統(tǒng)采用源同步方式仿真,源同步時(shí)序電路也就是同步時(shí)鐘由發(fā)送數(shù)據(jù)或接收數(shù)據(jù)的芯片提供。
對數(shù)據(jù)和時(shí)鐘信號進(jìn)行拓?fù)涑槿?,成功抽取后的結(jié)構(gòu)放在同一界面,如圖6所示。
進(jìn)行仿真,仿真后的波形如圖7所示。
對時(shí)鐘信號和數(shù)據(jù)信號的波形進(jìn)行測量,得到數(shù)據(jù)線和時(shí)鐘線間的延時(shí)約0.28 ns,而DDR2芯片datasheet給出的指標(biāo)為0.38 ns,可以滿足源同步系統(tǒng)設(shè)計(jì)要求。
依照上述布線規(guī)則和仿真結(jié)果,設(shè)計(jì)的PCB效果如圖8所示。
圖6 時(shí)序仿真拓?fù)浣Y(jié)構(gòu)Fig.6 Topology of timing simulation
圖7 時(shí)序仿真波形Fig.7 Timing simulation waveform
圖8 DDR 2布線效果圖Fig.8 PCB layout graph of DDR 2
本系統(tǒng)通過Cadence進(jìn)行了布線前仿真以及布線后仿真,取得良好效果,設(shè)計(jì)生產(chǎn)完成的模塊投入使用后,CPU系統(tǒng)在最高工作頻率下工作穩(wěn)定。本系統(tǒng)中MPC8379E與DDR2之間的布線是整個(gè)系統(tǒng)成功的關(guān)鍵,上面介紹的只是其中關(guān)鍵的規(guī)則以及重要網(wǎng)絡(luò)走線,制作中還會遇到很多問題,需要在實(shí)際運(yùn)用中加以體會和總結(jié)。
[1]Freescale Semiconductor.MPC8349EA PowerQUICC II Pro Integrated Host Processor Hardware Specifications.[EB/OL].[2011-09-13].http://cache.freescale.com/files/32bit/doc/ref_manual/MPC8349EAEC.pdf.
[2]Micron Technology.MT47H64M16 DataSheet.[EB/OL].[2007-11-11].http://www.micron.com/~/media/Documents/Products/Data%20Sheet/DRAM/1Gb_DDR2.pdf.
[3]JESD79-2E, DDR2 SDRAM Specification.USA:Joint Electron Device Engineering Council[S].2008.
[4]許曉平,孫曉彥,程傳勝.PCB設(shè)計(jì)標(biāo)準(zhǔn)教程[M].北京:北京郵電大學(xué)出版社,2008.
[5]張木水,李玉山.信號完整性分析與設(shè)計(jì)[M].北京:電子工業(yè)出版社,2010.
[6]Cadence Inc.Allegro PCB SI UserGuide[M].Berlin:Cadence Inc,2007.