DDR4設(shè)計(jì)概述以及分析仿真案例.doc_第1頁
DDR4設(shè)計(jì)概述以及分析仿真案例.doc_第2頁
DDR4設(shè)計(jì)概述以及分析仿真案例.doc_第3頁
DDR4設(shè)計(jì)概述以及分析仿真案例.doc_第4頁
DDR4設(shè)計(jì)概述以及分析仿真案例.doc_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

DRAM (動態(tài)隨機(jī)訪問存儲器)對設(shè)計(jì)人員特別具有吸引力,因?yàn)樗峁┝藦V泛的性能,用于各種計(jì)算機(jī)和嵌入式系統(tǒng)的存儲系統(tǒng)設(shè)計(jì)中。本文概括闡述了DRAM 的概念,及介紹了SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、DDR5 SDRAM、LPDDR、GDDR。DRAMDRAM較其它內(nèi)存類型的一個(gè)優(yōu)勢是它能夠以IC(集成電路)上每個(gè)內(nèi)存單元更少的電路實(shí)現(xiàn)。DRAM 的內(nèi)存單元基于電容器上貯存的電荷。典型的DRAM 單元使用一個(gè)電容器及一個(gè)或三個(gè)FET(場效應(yīng)晶體管)制成。典型的SRAM (靜態(tài)隨機(jī)訪問內(nèi)存)內(nèi)存單元采取六個(gè)FET 器件,降低了相同尺寸時(shí)每個(gè)IC 的內(nèi)存單元數(shù)量。與DRAM 相比,SRAM 使用起來更簡便,接口更容易,數(shù)據(jù)訪問時(shí)間更快。DRAM核心結(jié)構(gòu)由多個(gè)內(nèi)存單元組成,這些內(nèi)存單元分成由行和列組成的兩維陣列(參見圖1)。訪問內(nèi)存單元需要兩步。先尋找某個(gè)行的地址,然后在選定行中尋找特定列的地址。換句話說,先在DRAM IC 內(nèi)部讀取整個(gè)行,然后列地址選擇DRAM IC I/O(輸入/ 輸出)針腳要讀取或要寫入該行的哪一列。DRAM讀取具有破壞性,也就是說,在讀操作中會破壞內(nèi)存單元行中的數(shù)據(jù)。因此,必需在該行上的讀或?qū)懖僮鹘Y(jié)束時(shí),把行數(shù)據(jù)寫回到同一行中。這一操作稱為預(yù)充電,是行上的最后一項(xiàng)操作。必須完成這一操作之后,才能訪問新的行,這一操作稱為關(guān)閉打開的行。對計(jì)算機(jī)內(nèi)存訪問進(jìn)行分析后表明,內(nèi)存訪問中最常用的類型是讀取順序的內(nèi)存地址。這是合理的,因?yàn)樽x取計(jì)算機(jī)指令一般要比數(shù)據(jù)讀取或?qū)懭敫映S?。此外,大多?shù)指令讀取在內(nèi)存中順序進(jìn)行,直到發(fā)生到指令分支或跳到子例程。圖1. DRAMs 內(nèi)存單元分成由行和列組成的兩維陣列DRAM的一個(gè)行稱為內(nèi)存頁面,一旦打開行,您可以訪問該行中多個(gè)順序的或不同的列地址。這提高了內(nèi)存訪問速度,降低了內(nèi)存時(shí)延,因?yàn)樵谠L問同一個(gè)內(nèi)存頁面中的內(nèi)存單元時(shí),其不必把行地址重新發(fā)送給DRAM.結(jié)果,行地址是計(jì)算機(jī)的高階地址位,列地址是低階地址位。由于行地址和列地址在不同的時(shí)間發(fā)送,因此行地址和列地址復(fù)用到相同的DRAM 針腳上,以降低封裝針腳數(shù)量、成本和尺寸。一般來說,行地址尺寸要大于列地址,因?yàn)槭褂玫墓β逝c列數(shù)有關(guān)。早期的RAM擁有控制信號,如RAS# (行地址選擇低有效)和CAS# (列地址選擇低有效),選擇執(zhí)行的行和列尋址操作。其它DRAM 控制信號包括用來選擇寫入或讀取操作的WE# (寫啟動低有效)、用來選擇DRAM的CS#(芯片選擇低有效)及OE#(輸出啟動低有效)。早期的DRAM擁有異步控制信號,并有各種定時(shí)規(guī)范,涵蓋了其順序和時(shí)間關(guān)系,來確定DRAM 工作模式。早期的DRAM讀取周期有四個(gè)步驟。第一步,RAS# 與地址總線上的行地址變低。第二步,CAS# 與地址總線上的列地址變低。第三步,OE#變低,讀取數(shù)據(jù)出現(xiàn)在DQ 數(shù)據(jù)針腳上。在DQ 針腳上提供數(shù)據(jù)時(shí),從第一步第三步的時(shí)間稱為時(shí)延。最后一步是RAS#, CAS# 和OE# 變高(不活動),等待內(nèi)部預(yù)充電操作在破壞性讀取后完成行數(shù)據(jù)的恢復(fù)工作。從第一步開始到最后一步結(jié)束的時(shí)間是內(nèi)存周期時(shí)間。上述信號的信號定時(shí)與邊沿順序有關(guān),是異步的。這些早期DRAM沒有同步時(shí)鐘操作。DRAM 內(nèi)存單元必需刷新,避免丟失數(shù)據(jù)內(nèi)容。這要求丟失電荷前刷新電容器。刷新內(nèi)存由內(nèi)存控制器負(fù)責(zé),刷新時(shí)間指標(biāo)因不同DRAM內(nèi)存而不同。內(nèi)存控制器對行地址進(jìn)行僅RAS# 循環(huán),進(jìn)行刷新。在僅RAS# 循環(huán)結(jié)束時(shí),進(jìn)行預(yù)充電操作,恢復(fù)僅RAS# 循環(huán)中尋址的行數(shù)據(jù)。一般來說,內(nèi)存控制器有一個(gè)行計(jì)數(shù)器,其順序生成僅RAS# 刷新周期所需的所有行地址。刷新策略有兩個(gè)(參見圖2)。第一個(gè)策略內(nèi)存控制器在刷新周期突發(fā)中順序刷新所有行,然后把內(nèi)存控制返回處理器,以進(jìn)行正常操作。在到達(dá)最大刷新時(shí)間前,會發(fā)生下一個(gè)刷新操作突發(fā)。第二個(gè)刷新策略是內(nèi)存控制器使用正常處理器內(nèi)存操作隔行掃描刷新周期。這種刷新方法在最大刷新時(shí)間內(nèi)展開刷新周期。圖2. DRAM 刷新實(shí)現(xiàn)方案包括分布式刷新和突發(fā)刷新。早期的DRAM 演進(jìn)及實(shí)現(xiàn)了DRAM IC 上的刷新計(jì)數(shù)器,處理順序生成的行地址。在DRAM IC 內(nèi)部,刷新計(jì)數(shù)器是復(fù)用器輸入,控制著內(nèi)存陣列行地址。另一個(gè)復(fù)用器輸入來自外部地址輸入針腳的行地址。這個(gè)內(nèi)部刷新計(jì)數(shù)器不需要內(nèi)存控制器中的外部刷新計(jì)數(shù)器電路。部分DRAM 在RAS# 周期前支持一個(gè)CAS#,以使用內(nèi)部生成的行地址發(fā)起刷新周期。SDRAM在接口到同步處理器時(shí),DRAM 的異步操作帶來了許多設(shè)計(jì)挑戰(zhàn)。SDRAM (同步DRAM)是為把DRAM操作同步到計(jì)算機(jī)系統(tǒng)其余部分,而不需要根據(jù)CE# (芯片啟動活動低)、RAS#、CAS#和WE#邊沿轉(zhuǎn)換順序定義所有內(nèi)存操作模式而設(shè)計(jì)的。SDRAM增加了時(shí)鐘信號和內(nèi)存命令的概念。內(nèi)存命令的類型取決于SDRAM 時(shí)鐘上升沿上的CE#, RAS#,CAS# 和WE# 信號狀態(tài)。產(chǎn)品資料根據(jù)CE#, RAS#,CAS# 和WE# 信號狀態(tài),以表格形式描述內(nèi)存命令。例如,Activate (激活)命令向SDRAM發(fā)送一個(gè)行地址,打開內(nèi)存的一個(gè)行(頁面)。然后是一個(gè)Deselect (反選)命令序列,在對列地址發(fā)送Read 或Write 命令前滿足定時(shí)要求。一旦使用Activate命令打開內(nèi)存的行(頁面),那么可以在內(nèi)存的該行(頁面)上運(yùn)行多個(gè)Read和Write命令。要求Precharge(預(yù)充電)命令,關(guān)閉該行,然后才能打開另一行。表1. DDR SDRAM 數(shù)據(jù)速率和時(shí)鐘速度。DDR SDRAM通過提高時(shí)鐘速率、突發(fā)數(shù)據(jù)及每個(gè)時(shí)鐘周期傳送兩個(gè)數(shù)據(jù)位(參見表1),DDR (雙倍數(shù)據(jù)速率) SDRAM 提高了內(nèi)存數(shù)據(jù)速率性能。DDR SDRAM 在一條讀取命令或一條寫入命令中突發(fā)多個(gè)內(nèi)存位置。讀取內(nèi)存操作必需發(fā)送一條Activate 命令,后面跟著一條Read 命令。內(nèi)存在時(shí)延后以每個(gè)時(shí)鐘周期兩個(gè)內(nèi)存位置的數(shù)據(jù)速率應(yīng)答由兩個(gè)、四個(gè)或八個(gè)內(nèi)存位置組成的突發(fā)。因此,從兩個(gè)連續(xù)的時(shí)鐘周期中讀取四個(gè)內(nèi)存位置,或把四個(gè)內(nèi)存位置寫入兩個(gè)連續(xù)的時(shí)鐘周期中。DDR SDRAM 有多個(gè)內(nèi)存條,提供多個(gè)隔行掃描的內(nèi)存訪問,從而提高內(nèi)存帶寬。內(nèi)存條是一個(gè)內(nèi)存陣列,兩個(gè)內(nèi)存條是兩個(gè)內(nèi)存陣列,四個(gè)內(nèi)存條是四個(gè)內(nèi)存陣列,依此類推(參見圖3)。四個(gè)內(nèi)存條要求兩個(gè)位用于內(nèi)存條地址(BA0 和BA1)。圖3. DDR SDRAM中多個(gè)內(nèi)存條提高了訪問靈活性,改善了性能例如,有四個(gè)內(nèi)存條的DDR SDRAM的工作方式如下。首先,Activate命令在第一個(gè)內(nèi)存條中打開一行。第二個(gè)Activate命令在第二個(gè)內(nèi)存條中打開一行。現(xiàn)在,可以把Read 或Write 命令的任意組合發(fā)送到打開行的第一個(gè)內(nèi)存條或第二個(gè)內(nèi)存條。在內(nèi)存條上的Read 和Write 操作結(jié)束時(shí),Precharge 命令關(guān)閉行,內(nèi)存條對Activate 命令準(zhǔn)備就緒,可以打開一個(gè)新行。注意,DDR SDRAM要求的功率與打開行的內(nèi)存條數(shù)量有關(guān)。打開的行越多,要求的功率越高,行尺寸越大,要求的功率越高。因此,對低功率應(yīng)用,一次在每個(gè)內(nèi)存條中只應(yīng)打開一行,而不是一次打開行的多個(gè)內(nèi)存條。在內(nèi)存條地址位連接到內(nèi)存系統(tǒng)中的低階地址位時(shí),支持隔行掃描連續(xù)內(nèi)存條中的連續(xù)內(nèi)存字。在內(nèi)存條地址位連接到內(nèi)存系統(tǒng)中的高階地址時(shí),連續(xù)內(nèi)存字位于同一個(gè)內(nèi)存條中。DDR2 SDRAMDDR2 SDRAM 較DDR SDRAM 有多處改進(jìn)。DDR2SDRAM時(shí)鐘速率更高,從而提高了內(nèi)存數(shù)據(jù)速率(參見表2)。隨著時(shí)鐘速率提高,信號完整性對可靠運(yùn)行內(nèi)存變得越來越重要。隨著時(shí)鐘速率提高,電路板上的信號軌跡變成傳輸線,在信號線末端進(jìn)行合理的布局和端接變得更加重要。地址、時(shí)鐘和命令信號的端接相對簡明,因?yàn)檫@些信號是單向的,并端接在電路板上。數(shù)據(jù)信號和數(shù)據(jù)選通是雙向的。內(nèi)存控制器中心在寫入操作中驅(qū)動這些信號,DDR2 SDRAM在讀取操作中驅(qū)動這些信號。多個(gè)DDR2 SDRAM 連接到同一個(gè)數(shù)據(jù)信號和數(shù)據(jù)選通上,進(jìn)一步提高了復(fù)雜度。多個(gè)DDR2 SDRAM 可以位于內(nèi)存系統(tǒng)相同的DIMM上,也可以位于內(nèi)存系統(tǒng)不同的DIMM上。結(jié)果,數(shù)據(jù)和數(shù)據(jù)選通驅(qū)動器和接收機(jī)不斷變化,具體取決于讀取/ 寫入操作及訪問的是哪個(gè)DDR2 SDRAM。表2. DDR2 SDRAM 數(shù)據(jù)速率和時(shí)鐘速度。通過提供ODT (芯片內(nèi)端接),并提供ODT 信號,實(shí)現(xiàn)片內(nèi)端接,并能夠使用DDR2 SDRAM 擴(kuò)展模式寄存器對片內(nèi)端接值編程(75 歐姆、150 歐姆等等),DDR2SDRAM 改善了信號完整性。片內(nèi)端接大小和操作由內(nèi)存控制器中心控制,與DDR2SDRAM DIMM 的位置及內(nèi)存操作類型(讀取或?qū)懭耄┯嘘P(guān)。通過為數(shù)據(jù)有效窗口創(chuàng)建更大的眼圖,提高電壓余量、提高轉(zhuǎn)換速率、降低過沖、降低ISI (碼間干擾),ODT操作改善了信號完整性。DDR2 SDRAM 在1.8V 上操作,降低了內(nèi)存系統(tǒng)的功率,這一功率是DDR SDRAM 的2.5V 功率的72%.在某些實(shí)現(xiàn)方案中,行中的列數(shù)已經(jīng)下降,在激活行進(jìn)行讀取或?qū)懭霑r(shí)降低了功率。降低工作電壓的另一個(gè)優(yōu)勢是降低了邏輯電壓擺幅。在轉(zhuǎn)換速率相同時(shí),電壓擺幅下降會提高邏輯轉(zhuǎn)換速度,支持更快的時(shí)鐘速率。此外,數(shù)據(jù)選通可以編程為差分信號。使用差分?jǐn)?shù)據(jù)選通信號降低了噪聲、串?dāng)_、動態(tài)功耗和EMI (電磁干擾),提高了噪聲余量。差分或單端數(shù)據(jù)選通操作配置有DDR2 SDRAM 擴(kuò)展模式寄存器。DDR2 SDRAM 引入的一種新功能是附加時(shí)延,它使得內(nèi)存控制器中心能夠在Activate命令后,更快地靈活發(fā)送Read 和Write 命令。這優(yōu)化了內(nèi)存吞吐量,通過使用DDR2 SDRAM擴(kuò)展模式寄存器對附加時(shí)延編程來配置。DDR2 SDRAM使用八個(gè)內(nèi)存條,改善了1Gb和2GbDDR2 SDRAM 的數(shù)據(jù)帶寬。通過隔行掃描不同的內(nèi)存條操作,八個(gè)內(nèi)存條提高了訪問大型內(nèi)存DDR2 SDRAM的靈活性。此外,對大型內(nèi)存,DDR2 SDRAM支持最多八個(gè)內(nèi)存條的突發(fā)長度。DDR3 SDRAMDDR3 SDRAM 是一種性能演進(jìn)版本,增強(qiáng)了SDRAM技術(shù),它從800 Mb/s開始,這是大多數(shù)DDR2 SDRAM支持的最高數(shù)據(jù)速率。DDR3 SDRAM支持六檔數(shù)據(jù)速率和時(shí)鐘速度(參見表3)。DDR3-1066 SDRAM的能耗低于DDR2-800 SDRAM,因?yàn)镈DR3 SDRAM 的工作電壓是1.5 V,是DDR2SDRAM 的83%,DDR2 SDRAM 的工作電壓是1.8 伏。此外,DDR3 SDRAM數(shù)據(jù)DQ驅(qū)動器的阻抗是34歐姆,DDR2 SDRAM 的阻抗較低,是18 歐姆。表3. DDR3 SDRAM 數(shù)據(jù)速率和時(shí)鐘速度。DDR3 SDRAM 將從512 Mb 內(nèi)存開始,將來將發(fā)展到8 Gb 內(nèi)存。與DDR2 SDRAM 一樣,DDR3 SDRAM 數(shù)據(jù)輸出配置包括x4、x8 和x16.DDR3 SDRAM 有8 個(gè)內(nèi)存條,DDR2 SDRAM 則有4 個(gè)或8 個(gè)內(nèi)存條,具體視內(nèi)存大小而定。DDR2 和DDR3 SDRAM 都有4 個(gè)模式寄存器。DDR2 定義了前兩個(gè)模式寄存器,另兩個(gè)模式寄存器則預(yù)留給將來使用。DDR3使用全部4個(gè)模式寄存器。一個(gè)重要差異是DDR2 模式寄存器規(guī)定了讀出操作的CAS 時(shí)延,寫入時(shí)延則是1減去模式寄存器讀出時(shí)延設(shè)置。DDR3模式寄存器對CAS 讀出時(shí)延和寫入時(shí)延的設(shè)置是唯一的。DDR3 SDRAM使用8n預(yù)取架構(gòu),在4個(gè)時(shí)鐘周期中傳送8 個(gè)數(shù)據(jù)字。DDR2 SDRAM 使用4n 預(yù)取架構(gòu),在2個(gè)時(shí)鐘周期中傳送4 個(gè)數(shù)據(jù)字。DDR3 SDRAM 模式寄存器可以編程為支持飛行突變,這會把傳送8個(gè)數(shù)據(jù)字縮短到傳送4個(gè)數(shù)據(jù)字,這在讀出或?qū)懭朊钇陂g把地址行12 設(shè)為低來實(shí)現(xiàn)。飛行突變在概念上與DDR2 和DDR3 SDRAM 中地址行10 的讀出和寫入自動預(yù)充電功能類似。值得一提的另一個(gè)DDR3 SDRAM屬性是差分的數(shù)據(jù)選通信號DQS,DDR2 SDRAM數(shù)據(jù)通信號則可以由模式寄存器編程為單端或差分。DDR3 SDRAM 還有一個(gè)新引腳,這個(gè)引腳為活動低異步RESET# 引腳,通過把SDRAM 置于已知狀態(tài),而不管當(dāng)前狀態(tài)如何,改善系統(tǒng)穩(wěn)定性。DDR3 SDRAM 使用的FBGA 封裝類型與DDR2 SDRAM 相同。DDR3 DIMM為DIMM上的命令、時(shí)鐘和地址提供了端接。采用DDR2 DIMM的內(nèi)存系統(tǒng)端接主板上的命令、時(shí)鐘和地址。DIMM上的DDR3 DIMM端接支持飛行拓?fù)洌琒DRAM 上的每個(gè)命令、時(shí)鐘和地址引腳都連接到一條軌跡上,然后這條軌跡終結(jié)在DIMM的軌跡端。這改善了信號完整性,其運(yùn)行速度要快于DDR2 DIMM樹型結(jié)構(gòu)。飛行拓?fù)錇閮?nèi)存控制器引入了新的DDR3 SDRAM寫入電平功能,考慮了寫入過程中時(shí)鐘CK和數(shù)據(jù)選通信號DQS 之間的定時(shí)偏移。DDR3 DIMM 的主要不同于DDR2 DIMM,防止把錯(cuò)誤的DIMM 插入主板中。DDR4 SDRAMDDR4 SDRAM(Double Data Rate Fourth SDRAM):DDR4提供比DDR3/ DDR2更低的供電電壓1.2V以及更高的帶寬,DDR4的傳輸速率目前可達(dá)21333200MT/s。DDR4 新增了4 個(gè)Bank Group 數(shù)據(jù)組的設(shè)計(jì),各個(gè)Bank Group具備獨(dú)立啟動操作讀、寫等動作特性,Bank Group 數(shù)據(jù)組可套用多任務(wù)的觀念來想象,亦可解釋為DDR4 在同一頻率工作周期內(nèi),至多可以處理4 筆數(shù)據(jù),效率明顯好過于DDR3。 另外DDR4增加了DBI(Data Bus Inversion)、CRC(Cyclic Redundancy Check)、CA parity等功能,讓DDR4內(nèi)存在更快速與更省電的同時(shí)亦能夠增強(qiáng)信號的完整性、改善數(shù)據(jù)傳輸及儲存的可靠性。DDR5 SDRAM作為DDR4內(nèi)存的繼任者,DDR5內(nèi)存在性能上自然要高出DDR4一大截。從美光公布的文件來看,DDR5內(nèi)存將從8GB容量起步,最高可達(dá)單條32GB,I/O帶寬能達(dá)到3.2-6.4Gbps,同時(shí)電壓1.1V,內(nèi)存帶寬將為DDR4內(nèi)存的兩倍。此外,美光還在芯片論壇上表示DDR5內(nèi)存將從3200Mhz起步,主流內(nèi)存頻率可達(dá)6400Mhz。同時(shí),美光還表示他們將在2018年成功流片DDR5內(nèi)存樣品,并將在2019年實(shí)現(xiàn)正式量產(chǎn)。據(jù)業(yè)內(nèi)人士估計(jì),DDR5內(nèi)存的普及應(yīng)該會在2020年來臨,所以想要跳過DDR4內(nèi)存的朋友還要等待一段時(shí)間。GDDR 和LPDDR其它DDR變種,如GDDR (圖形DDR)和LPDDR (低功率DDR),在業(yè)內(nèi)的地位也在不斷提高。GDDR是一種圖形卡專用存儲技術(shù),目前規(guī)定的變種有四個(gè):GDDR2、GDDR3、GDDR4 和GDDR5.GDDR的技術(shù)與傳統(tǒng)DDR SDRAM 非常類似,但功率要求不同。其降低了功率要求,以簡化冷卻,提供更高性能的存儲器模塊。GDDR也是為更好地處理處理圖形要求設(shè)計(jì)的。簡短總結(jié):SDRAM:為同步動態(tài)隨機(jī)存取內(nèi)存,SDRAM是為了與CPU的計(jì)時(shí)同步化所設(shè)計(jì),這使得內(nèi)存控制器能夠掌握準(zhǔn)備所要求的數(shù)據(jù)所需的準(zhǔn)確時(shí)鐘周期,因此CPU從此不需要延后下一次的數(shù)據(jù)存取。舉例而言,PC66 SDRAM以66 MT/s的傳輸速率運(yùn)作;PC100 SDRAM以100 MT/s的傳輸速率運(yùn)作;PC133 SDRAM以133 MT/s的傳輸速率運(yùn)作,以此類推。DDR SDRAM(Double Data Rate SDRAM):為雙通道同步動態(tài)隨機(jī)存取內(nèi)存,是新一代的SDRAM技術(shù)。別于SDR(Single Data Rate)單一周期內(nèi)只能讀寫1次,DDR的雙倍數(shù)據(jù)傳輸率指的就是單一周期內(nèi)可讀取或?qū)懭?次。在核心頻率不變的情況下,傳輸效率為SDR SDRAM的2倍。第一代DDR內(nèi)存Prefetch為2bit,是SDR的2倍,運(yùn)作時(shí)I/O會預(yù)取2bit的資料。舉例而言,此時(shí)DDR內(nèi)存的傳輸速率約為266400 MT/s不等,像是DDR 266、DDR 400都是這個(gè)時(shí)期的產(chǎn)品。DDR2 SDRAM(Double Data Rate Two SDRAM):為雙通道兩次同步動態(tài)隨機(jī)存取內(nèi)存。DDR2內(nèi)存Prefetch又再度提升至4 bit(DDR的兩倍),DDR2的I/O頻率是DDR的2倍,也就是266、333、400MHz。舉例:核心頻率同樣有133200MHz的顆粒,I/O頻率提升的影響下,此時(shí)的DDR2傳輸速率約為533800 MT/s不等,也就是常見的DDR2 533、DDR2 800等內(nèi)存規(guī)格。DDR3 SDRAM(Double Data Rate Three SDRAM):為雙通道三次同步動態(tài)隨機(jī)存取內(nèi)存。DDR3內(nèi)存Prefetch提升至8 bit,即每次會存取8 bits為一組的數(shù)據(jù)。DDR3傳輸速率介于 8001600 MT/s之間。此外,DDR3 的規(guī)格要求將電壓控制在1.5V,較DDR2的1.8V更為省電。DDR3也新增ASR(Automatic Self-Refresh)、SRT(Self-Refresh Temperature)等兩種功能,讓內(nèi)存在休眠時(shí)也能夠隨著溫度變化去控制對內(nèi)存顆粒的充電頻率,以確保系統(tǒng)數(shù)據(jù)的完整性。DDR4 SDRAM(Double Data Rate Fourth SDRAM):DDR4提供比DDR3/DDR2更低的供電電壓1.2V以及更高的帶寬,DDR4的傳輸速率目前可達(dá)21333200 MT/s。DDR4 新增了4個(gè)Bank Group 數(shù)據(jù)組的設(shè)計(jì),各個(gè)Bank Group具備獨(dú)立啟動操作讀、寫等動作特性,Bank Group 數(shù)據(jù)組可套用多任務(wù)的觀念來想象,亦可解釋為DDR4 在同一頻率工作周期內(nèi),至多可以處理4 筆數(shù)據(jù),效率明顯好過于DDR3。 另外DDR4增加了DBI(Data Bus Inversion)、CRC(Cyclic Redundancy Check)、CA parity等功能,讓DDR4內(nèi)存在更快速與更省電的同時(shí)亦能夠增強(qiáng)信號的完整性、改善數(shù)據(jù)傳輸及儲存的可靠性。DDR4關(guān)鍵技術(shù)和方法分析1.1DDR4與DDR3 不同之處相對于DDR3, DDR4首先在外表上就有一些變化,比如DDR4將內(nèi)存下部設(shè)計(jì)為中間稍微突出,邊緣變矮的形狀,在中央的高點(diǎn)和兩端的低點(diǎn)以平滑曲線過渡,這樣的設(shè)計(jì)可以保證金手指和內(nèi)存插槽有足夠的接觸面從而確保內(nèi)存穩(wěn)定,另外,DDR4內(nèi)存的金手指設(shè)計(jì)也有明顯變化,金手指中間的防呆缺口也比DDR3更加靠近中央。當(dāng)然,DDR4最重要的使命還是提高頻率和帶寬,總體來說,DDR4具有更高的性能,更好的穩(wěn)定性和更低的功耗,那么從SI的角度出發(fā),主要有下面幾點(diǎn), 下面章節(jié)對主要的幾個(gè)不同點(diǎn)進(jìn)行說明。表1 DDR3和DDR4差異DDR4與DDR3內(nèi)存差異二:外型卡槽差異DDR4 模組上的卡槽與 DDR3 模組卡槽的位置不同。兩者的卡槽都位于插入側(cè),但 DDR4 卡槽的位置稍有差異,以便防止將模組安裝到不兼容的主板或平臺中。請注意 DDR3 與 DDR4 模組之間的細(xì)微差別增加厚度為了容納更多信號層,DDR4 模組比 DDR3 稍厚。DDR4金手指變化較大大家注意上圖,宇瞻DDR4內(nèi)存金手指變的彎曲了,并沒有沿著直線設(shè)計(jì),這究竟是為什么呢?一直一來,平直的內(nèi)存金手指插入內(nèi)存插槽后,受到的摩擦力較大,因此內(nèi)存存在難以拔出和難以插入的情況,為了解決這個(gè)問題,DDR4將內(nèi)存下部設(shè)計(jì)為中間稍突出、邊緣收矮的形狀。在中央的高點(diǎn)和兩端的低點(diǎn)以平滑曲線過渡。這樣的設(shè)計(jì)既可以保證DDR4內(nèi)存的金手指和內(nèi)存插槽觸點(diǎn)有足夠的接觸面,信號傳輸確保信號穩(wěn)定的同時(shí),讓中間凸起的部分和內(nèi)存插槽產(chǎn)生足夠的摩擦力穩(wěn)定內(nèi)存。接口位置同時(shí)也發(fā)生了改變,金手指中間的“缺口”位置相比DDR3更為靠近中央。在金手指觸點(diǎn)數(shù)量方面,普通DDR4內(nèi)存有284個(gè),而DDR3則是240個(gè),每一個(gè)觸點(diǎn)的間距從1mm縮減到0.85mm。曲線邊DDR4 模組提供曲線邊以方便插入和緩解內(nèi)存安裝期間對 PCB 的壓力。仔細(xì)看,是一個(gè)曲面1.2POD 和SSTL的比較POD作為DDR4新的驅(qū)動標(biāo)準(zhǔn),最大的區(qū)別在于接收端的終端電壓等于VDDQ,而DDR3所采用的SSTL接收端的終端電壓為VDDQ/2。這樣做可以降低寄生引腳電容和I/O終端功耗,并且即使在VDD電壓降低的情況下也能穩(wěn)定工作。其等效電路如圖1(DDR4), 圖2(DDR3)。圖1 POD (Pseudo Open Drain)圖2 SSTL(Stub Series Terminated Logic)可以看出,當(dāng)DRAM在低電平的狀態(tài)時(shí),SSTL和POD都有電流流動圖3 DDR4圖4 DDR3而當(dāng)DRAM為高電平的狀態(tài)時(shí),SSTL繼續(xù)有電流流動,而POD由于兩端電壓相等,所以沒有電流流動。這也是DDR4更省電的原因圖5 DDR4圖6 DDR31.3 數(shù)據(jù)總線倒置 (DBI)如上面描述,根據(jù)POD的特性,當(dāng)數(shù)據(jù)為高電平時(shí),沒有電流流動,所以降低DDR4功耗的一個(gè)方法就是讓高電平盡可能多,這就是DBI技術(shù)的核心。舉例來說,如果在一組8-bit的信號中,有至少5-bit是低電平的話,那么對所有的信號進(jìn)行反轉(zhuǎn),就有至少5-bit信號是高電平了。DBI信號變?yōu)榈捅硎舅行盘栆呀?jīng)翻轉(zhuǎn)過(DBI信號為高表示原數(shù)據(jù)沒有翻轉(zhuǎn))。這種情況下,一組9根信號(8個(gè)DQ信號和1個(gè)DBI信號)中,至少有五個(gè)狀態(tài)為高,從而有效降低功耗。圖7 DBI Example1.4ODT控制為了提升信號質(zhì)量, 從DDR2開始將DQ, DM, DQS/DQS#的Termination電阻內(nèi)置到Controller和DRAM中, 稱之為ODT (On Die Termination)。Clock和ADD/CMD/CTRL信號仍需要使用外接的Termination電阻。圖8 On Die Termination在DRAM中,On-Die Termination的等效電阻值通過Mode Register (MR)來設(shè)置,ODT的精度通過參考電阻RZQ來控制,DDR4的ODT支持240, 120, 80, 60, 48, 40, 34 歐姆。和DDR3不同的是,DDR4的ODT有四種模式:Data termination disable, RTT_NOM,RTT_WR, 和 RTT_PARK。Controller可以通過讀寫命令以及ODT Pin來控制RTT狀態(tài),RTT_PARK是DDR4新加入的選項(xiàng),它一般用在多Rank的DDR配置中,比如一個(gè)系統(tǒng)中有Rank0, Rank1以及Rank2, 當(dāng)控制器向Rank0寫數(shù)據(jù)時(shí),Rank1和Rank2在同一時(shí)間內(nèi)可以為高阻抗(Hi-Z)或比較弱的終端(240,120,80,etc.), RTT_Park就提供了一種更加靈活的終端方式,讓Rank1和Rank2不用一直是高阻模式,從而可以讓DRAM工作在更高的頻率上。一般來說,在Controller中可以通過BIOS調(diào)整寄存器來調(diào)節(jié)ODT的值,但是部分Controller廠商并不推薦這樣做,以Intel為例,Intel給出的MRC Code中已經(jīng)給出了最優(yōu)化的ODT的值,理論上用戶可以通過仿真等方法來得到其他ODT值并在BIOS中修改,但是由此帶來的所有問題將有設(shè)計(jì)廠商來承擔(dān)。下面表格是Intel提供的優(yōu)化方案。表2 DQ Write ODT Table for 3DPC表3 DQ Read ODT Table for 3DPC1.5 參考電壓Vref眾所周知,DDR信號一般通過比較輸入信號和另外一個(gè)參考信號(Vref)來決定信號為高或者低,然而在DDR4中,一個(gè)Vref卻不見了,先來看看下面兩種設(shè)計(jì),可以看出來,在DDR4的設(shè)計(jì)中,VREFCA和DDR3相同,使用外置的分壓電阻或者電源控制芯片來產(chǎn)生,然而VREFDQ在設(shè)計(jì)中卻沒有了,改為由芯片內(nèi)部產(chǎn)生,這樣既節(jié)省了設(shè)計(jì)費(fèi)用,也增加了Routing空間。圖9 DDR3設(shè)計(jì)圖10 DDR4設(shè)計(jì)DRAM內(nèi)部VREFDQ通過寄存器(MR6)來調(diào)節(jié),主要參數(shù)有Voltage range, step size, VREF step time, VREF full step time ,如下表所示。表4 參考電壓每次開機(jī)的時(shí)候,DRAM Controller都會通過一系列的校準(zhǔn)來調(diào)整DRMA端輸入數(shù)據(jù)信號的VREFDQ,優(yōu)化Timing和電壓的Margin,也就是說,VREFDQ 不僅僅取決于VDD, 而且和傳輸線特性,接收端芯片特性都會有關(guān)系,所以每次Power Up的時(shí)候,VREFDQ的值都可能會有差異。因?yàn)閂ref的不同,Vih/Vil都會有差異,可以通過調(diào)整ODT來看Vref的區(qū)別,用一個(gè)仿真的例子來說明。對于DDR3,調(diào)整ODT波形會上下同步浮動,而調(diào)整DDR4 OOT的時(shí)候,波形只有一邊移動。圖11 仿真拓?fù)鋱D12 DDR3仿真結(jié)果圖13 DDR4仿真結(jié)果1.6 DDR4 Layout Routing新方法在所有的Layout走線中,DDR無需質(zhì)疑是最復(fù)雜的,不僅要考慮阻抗匹配,還要考慮長度匹配,而且數(shù)量眾多的數(shù)據(jù)、地址線,不得不考慮串?dāng)_的影響。DDR信號可分為時(shí)鐘、數(shù)據(jù)、地址/命令、控制等四個(gè)信號組。各信號組介紹如下:1時(shí)鐘組:由于采用更高的時(shí)鐘頻率及雙沿采樣數(shù)據(jù)的方式,DDR采用差分時(shí)鐘。差分時(shí)鐘的走線要求如下:以地平面為參考,給整個(gè)時(shí)鐘回路的走線提供一個(gè)完整的地平面,給回路電流提供一個(gè)低阻抗的路徑。所有的DDR差分時(shí)鐘信號都必須在關(guān)鍵平面上走線,盡量避免層到層的轉(zhuǎn)換。線寬和差分間距需要參考DDR控制器的實(shí)施細(xì)則,信號線的單線阻抗應(yīng)控制在5060 ,差分阻抗控制在100120 。時(shí)鐘信號到其他信號應(yīng)保持在20mil*以上,防止對其他信號的干擾。蛇形走線的間距不應(yīng)小于20mil。2數(shù)據(jù)組:數(shù)據(jù)組包括DQ、DQS、DM。以低8位數(shù)據(jù)為例,該數(shù)據(jù)組包括:DQ7.0、DQS0、DM0數(shù)據(jù)組布線要求如下:以地平面為參考,給信號回路提供完整的地平面。特征阻抗控制在5060 。與其他非DDR信號間距至少隔離20 mil。3地址、命令組:地址組包括ADD、BANK、RAS、CAS、WE。該組布線要求如下:保持完整的地和電源平面。特征阻抗控制在5060 。信號線寬參考具體設(shè)計(jì)實(shí)施細(xì)則。信號組與其他非DDR信號間距至少保持在20 mil以上。4控制組:控制組包括CS、CKE。該組布線要求如下:需要有一個(gè)完整的地平面和電源平面作參考。為了防止串?dāng)_,本組內(nèi)信號同樣也不能和數(shù)據(jù)信號在同一個(gè)電阻排內(nèi)。二、DDR信號等長約束由于DDR工作頻率高,對信號等長有更嚴(yán)格的要求,實(shí)際的PCB設(shè)計(jì)中對所有信號都進(jìn)行等長控制是不太現(xiàn)實(shí)的,也沒有這個(gè)必要,根據(jù)DDR的實(shí)際工作方式,僅需要實(shí)現(xiàn)如下的等長約束,表1為一個(gè)PCB設(shè)計(jì)說明實(shí)例:表1 DDR等長約束實(shí)例電平標(biāo)準(zhǔn)時(shí)鐘頻率信號名稱備注SSTL_CLASSI150MCLK_FPGA1_DDR_PCLK_FPGA1_DDR_NDDRII時(shí)鐘。每對時(shí)鐘差分信號等長要求:正負(fù)信號之間允許偏差10milSSTL_CLASSI150MFPGA1_DDR_DQ31:0FPGA1_DDR_DQS3:0FPGA1_DDR_DM3:0數(shù)據(jù)組內(nèi)等長要求公差+/-25mil。各數(shù)據(jù)組以時(shí)鐘線為準(zhǔn),公差+/-500mil。SSTL_CLASSI150MFPGA1_DDR_A12:0FPGA1_DDR_RAS*FPGA1_DDR_CAS*FPGA1_DDR_WE*FPGA1_DDR_BANK3:0地址命令線等長要求:對于每片F(xiàn)PGA與DDR。地址命令組與時(shí)鐘信號等長公差+/-150mil。根據(jù)表1所示,DDR的等長約束只需要四個(gè)參數(shù)。具體約束界面如圖1、2所示。其中差分時(shí)鐘之間(CLK_P與CLK_N)等長不大于5mil。地址、控制組中每個(gè)信號都以時(shí)鐘(本規(guī)則中為CLK_N)為基準(zhǔn),等長差范圍設(shè)置為150mil。數(shù)據(jù)組內(nèi)以DQ0為基準(zhǔn),等長控制在25mil以內(nèi)。各數(shù)據(jù)組之間,以時(shí)鐘線為基準(zhǔn),等長差范圍設(shè)置為0-500mil。DDR4數(shù)據(jù)速率提高以后,這些方面的影響變得更為嚴(yán)重,尤其是現(xiàn)在很多設(shè)計(jì)為了節(jié)省成本,PCB尺寸和層數(shù)都要求盡可能的變小,這樣對阻抗和串?dāng)_的要求就變的更有挑戰(zhàn)性,一般SI工程師和Layout工程師都會想各種辦法來滿足這些需求,很多時(shí)候也不得不妥協(xié)折衷,比如在做疊層設(shè)計(jì)的時(shí)候盡量讓線寬變小,在BGA Breakout區(qū)域采用更細(xì)的線,等等。但這些方法只能對設(shè)計(jì)做微小的調(diào)整,其實(shí)很難從根本上解決問題。最近Intel研究發(fā)現(xiàn)的一種新方法很有意思,可以在一定程度上很好的平衡阻抗(線寬)和串?dāng)_(線間距)。在此整理出來供大家參考。先來看一個(gè)實(shí)際的Layout例子,兩根紅線之間的走線采用鋸齒形狀。沒錯(cuò),這就是Intel新研究出來的新方法,官方名稱為“Tabbed Routing”。圖14 DDR4 Tabbed RoutingTabbed Routing主要的方法是在空間比較緊張的區(qū)域(一般為BGA區(qū)域和DIMM插槽區(qū)域),減小線寬,而增加凸起的小塊(Tab),如下圖所示。圖15 Tab routing方法這種方法可以增加兩根線之間的互容特性而保持其電感特性幾乎不變,而增加的電容可以有效控制每一層的的阻抗,減小外層的遠(yuǎn)端串?dāng)_。仿真結(jié)果如下圖所示。圖16 HFSS仿真結(jié)果由仿真結(jié)果可以看出來,該方法對阻抗和遠(yuǎn)端串?dāng)_確實(shí)可以很好的平衡,當(dāng)然,對于Tab的尺寸,需要根據(jù)實(shí)際PCB做詳細(xì)的仿真設(shè)計(jì),Intel也提供了一些Tool可以參考。有興趣的讀者,可以參閱更多資料2DDR4 Simulation2.1 Pre-Simulation with HyperLynx如果Controller和DRAM都有IBIS模型,可以用HyperLynx對DDR4進(jìn)行很方便的Simulation, 仿真方法和其他DDR相同,通過Pre-Simulation, 可以對整個(gè)系統(tǒng)的拓?fù)湟约耙恍┘?xì)節(jié)進(jìn)行確定,比如Impedance(由Stackup以及線寬和線間距來確定),ODT值的選擇,T型結(jié)構(gòu)中Stub長度的控制,ADD/CMD/CTRL終端電阻的取值大小等等。2.1.1 ADD/CMD/CTRL終端電阻取值假設(shè)ADD電路如下,工作在2400MTs(Add/CMD為1.2Gbps),發(fā)送端為U16,采用Fly-By結(jié)構(gòu)到五組DRAM芯片,每組DRAM采用T結(jié)構(gòu)(實(shí)際Layout中,Top面一個(gè)DRAM芯片,Bottom面一個(gè)DRAM芯片),T型長度的Stub為77mil, 終端電阻為32歐姆,終端電壓為0.6V。圖17 ADD仿真拓?fù)溆煞抡娼Y(jié)果可以看出來,T型結(jié)構(gòu)兩端因?yàn)橥耆珜ΨQ,所以波形幾乎一樣,為了方便觀察,只看其中一個(gè)波形,離Controller由近及遠(yuǎn),DRAM分別為U5, U4, U3, U2, U1, 其眼圖分別如下:可以看出來,距離Controller越近的芯片,其波形越“亂”,但是上升沿卻很快,而距離終端電阻越近的芯片,其波形越好,但是上升沿卻變慢。那么如何才能得到最優(yōu)化的波形呢,下面通過掃描終端電阻的值看看是否會提高信號質(zhì)量,通過HyperLynx的Sweep功能,設(shè)置終端電阻阻值為27,33,39,45四個(gè)阻值。圖18 Sweep設(shè)置圖19 Sweep設(shè)置U5(距離Controller最近)的眼圖如下,依次對應(yīng)終端電阻阻值為27,33,39,45歐姆:U4的眼圖如下,依次對應(yīng)終端電阻阻值為27,33,39,45歐姆:U3的眼圖如下,依次對應(yīng)終端電阻阻值為27,33,39,45歐姆:U2的眼圖如下,依次對應(yīng)終端電阻阻值為27,33,39,45歐姆U1的眼圖如下,依次對應(yīng)終端電阻阻值為27,33,39,45歐姆從上面的波形可以看出來,對應(yīng)每一個(gè)DRAM的第三張波形都是最好的,也就是說對應(yīng)39歐姆的終端電阻可以得到最優(yōu)化的波形。2.1.2 Data信號Stub的長度一般DDR4的設(shè)計(jì)中,Data信號都采用Pin to Pin的設(shè)計(jì)方式,但在某些設(shè)計(jì)中,由于PCB空間限制或者控制器限制,也有需要采用一拖二的設(shè)計(jì)(T型結(jié)構(gòu)),在筆者所遇到的一個(gè)設(shè)計(jì)中,就遇到這種情況,綜合考慮下面兩種方案,如果采用T型拓?fù)浣Y(jié)構(gòu),如圖20所示,可以最大可能的節(jié)約PCB空間,但是如果DIMM0或者DIMM1只插一根的時(shí)候,另一邊會有較長的Stub出現(xiàn),對信號質(zhì)量會有影響。如果采用菊花鏈結(jié)構(gòu),如圖21所示,在只插DIMM0的情況下,同樣會有Stub影響。而且這種拓?fù)浣Y(jié)構(gòu)需要DIMM0和DIMM1之間的信號線之間滿足長度匹配,在DIMM0和DIMM1比較靠近的情況下,繞線會有一定難度。而如果增加DIMM0和DIMM1的距離,其Stub會變得更長,信號質(zhì)量沒有辦法得到控制。從信號完整性方面考慮,兩種方案均會存在Stub的影響,但是從Layout的角度來看,方案一有一定便利性,而且其Stub可以控制在500mil以內(nèi)。所以最終選擇方案一作為最終方案。當(dāng)然,這種設(shè)計(jì)是以犧牲信號Margin作為代價(jià)的,信號速率會收到一定影響,在筆者的項(xiàng)目中,在只插一根內(nèi)存的時(shí)候,信號速率最大只能跑到1866Mb/s.圖20 DDR4 T型結(jié)構(gòu)圖21 DDR4菊花鏈結(jié)構(gòu)從仿真的角度出發(fā),這種仿真需要考慮的因素很多,控制器模型,PCB模型,Connector模型,以及最后的內(nèi)存條模型,而通常情況下,Connector模型和內(nèi)存條模型很難拿到,而且有時(shí)候就算拿到,也是不同類型的模型,整體Channel仿真需要更多時(shí)間和精力來完成。如果時(shí)間有限,需要對設(shè)計(jì)做快速評估,用HyperLynx做快速仿真也是可以參考的,在下面的例子中,假設(shè)一個(gè)Conntorller需要驅(qū)動兩根DIMM或者兩顆內(nèi)存顆粒,系統(tǒng)工作在2400Mb/s, TL2和TL3的長度可以用來大概評估PCB Stub長度加上Connector長度加上內(nèi)存條長度。(此處只是用來做大概評估,如果時(shí)間條件運(yùn)行,強(qiáng)烈建議拿到各個(gè)部分精確模型做比較準(zhǔn)確的仿真)。從這個(gè)簡單的仿真可以看出來,Stub對于信號質(zhì)量的影響還是很明顯的,特別對于一根內(nèi)存槽懸空的狀態(tài)下,上面的例子中,Stub達(dá)到1000 mil的時(shí)候,在只插一根內(nèi)存的情況下,眼圖已經(jīng)非常糟糕,所以在實(shí)際設(shè)計(jì)中,需要在設(shè)計(jì)成本和信號速率之間進(jìn)行均衡,取舍。在筆者所做的設(shè)計(jì)中,因?yàn)镻CB空間限制,最終選擇在單根內(nèi)存的時(shí)候只跑到1866Mb/s。圖22 數(shù)據(jù)線仿真拓?fù)湓赟tub長度為500mil的時(shí)候,兩根內(nèi)存都插和只插一根的眼圖如下:在Stub長度為1000mil的時(shí)候,兩根內(nèi)存都插和只插一根的眼圖如下:在用Intel的芯片作為DDR Controller做設(shè)計(jì)的時(shí)候,Intel所提供的SI Model可以提供一個(gè)比較完整的仿真,Intel所提供的Simulation Deck中,包含了DDR連接器,DIMM模型,如果能找到和實(shí)際項(xiàng)目匹配的模型,可以替換Deck中的模型,如果找不到模型,直接用Deck中所提供的模型也是非常有參考意義的。2.2 Intel SISTAI仿真Intel所提供的Memory Bit Error Rate Executable (MBERE) tool集成在其Intel SISTAI(Signal Integrity Support Tools for Advanced Interfaces)網(wǎng)站系統(tǒng)上面,SISTAI可以進(jìn)行PCIE,SATA, USB,QPI等等高速信號的仿真,DDR4仿真模塊為MBER, 其基本思想是先基于Hspice產(chǎn)生一個(gè)Step Response, 然后把仿真結(jié)果.TR0文件放進(jìn)SISTAI系統(tǒng)進(jìn)行計(jì)算,產(chǎn)生Worse Case的眼圖,大致仿真流程如下:2.2.1 DDR通道建模Intel的仿真基于10根線模型,八根DQ線加上兩根DQS線,可以用Intel提供的Causal-W Element Tool來產(chǎn)生W Element models, 也可以用ADS,Hspice等工具對傳輸線建模,對于Post-Layout來說,可以使用PowerSI, Siwave等軟件提取DDR通道的S參數(shù)。注意這里的DQ和DQS的順序必須和Intel提供的順序相同,如圖23所示。圖23 DDR數(shù)據(jù)線建模2.2.2 Hspice仿真Intel仿真模型還是比較詳細(xì),提供了各種模型以及各種不同情況下的Simulation Deck, 在實(shí)際仿真的時(shí)候,需要用實(shí)際設(shè)計(jì)的模型替換Deck中的參數(shù),以S參數(shù)為例,假設(shè)提取了整個(gè)DDR通道的S參數(shù),那么需要在pcakage的參數(shù)之后加入PCB通道模型,如下圖第二個(gè)紅框所示,之前的一些參數(shù),可以刪除或者加上*號來Block掉。圖24 Intel仿真模型圖25 Hspice編輯實(shí)例Hspice仿真得到Step Response, 結(jié)果如下:圖26 Hspice仿真結(jié)果2.2.3 SISTAI仿真得到Tr0文件后,需要把Tro放到SISTAI系統(tǒng)中進(jìn)行計(jì)算,操作流程如下:圖27 SISTAI仿真方法點(diǎn)擊Success可以得到仿真結(jié)果,比較遺憾的是,SISTAI只能看到眼寬,眼高等仿真數(shù)據(jù),并不提供眼圖的顯示。圖28 SISTAI仿真結(jié)果Intel的文件中也提供了Spec可以對仿真結(jié)果進(jìn)行對比判斷表5 DQ Write Eye Target Minimums表6 DQ Read Eye Target Minimums3DDR4 RMT Margin測試Fail問題實(shí)例3.1設(shè)計(jì)情況該設(shè)計(jì)采用Intel Haswell-EP CPU作為DDR4 Controller, 采用3DPC(DIMM Per Channel)的設(shè)計(jì),如下圖29所示。DDR4運(yùn)行速率為1600Mb/s。圖29 DDR4設(shè)計(jì)拓?fù)?.2 問題描述主板做好后,需要對DDR4信號進(jìn)行測試驗(yàn)證,但是對于內(nèi)存條類的DDR4,測試點(diǎn)非常難找,測試結(jié)果也很不準(zhǔn)確,所有選擇只測試Memory Margin。在用Intel提供的Margin測試工具RMT進(jìn)行測試的時(shí)候,測試了各種不同廠商的內(nèi)存條,分別有Hynix 8G, Hynix 16G, Samsung 8G, Samsung 16G, Samsung 32G, Micron 8G, Micron 16G, 其中只有Micron 8G 結(jié)果顯示RxVLow, RxVhigh的值小于14(Spec為大于等于14),其他內(nèi)存條測試結(jié)果均滿足Spec要求。表6 RMT測試結(jié)果3.3 Memory Margin Test上面說了RMT測試Fail,但是RMT測試是什么呢?下面對Memory的一般測試做大概介紹。眾所周知,實(shí)際PCB做好后,我們需要對其進(jìn)行測試以驗(yàn)證信號完整性。 通常是采用示波器測試對DDR信號線在讀寫時(shí)的信號質(zhì)量,但是這種測試存在很大的局限性,比如DDR信號到達(dá)每一個(gè)Component端的測點(diǎn)無法被點(diǎn)測到,測試點(diǎn)往往距離芯片pad還有一段距離,需要一些額外的測試設(shè)備,這樣勢必會影響準(zhǔn)確性,另外,DDR信號讀寫分離一直都比較難處理,即使使用儀器廠商提供的專業(yè)測試軟件,也往往看不到非常準(zhǔn)確的波形,還有測試點(diǎn)只位于芯片外部, Memory Controller內(nèi)部對信號Timing的調(diào)整無法被測到,所以在采用示波器測試波形之外, 還非常有必要進(jìn)行Memory Margin測試。圖30 DDR4測試設(shè)備圖31 DDR4測試眼圖簡單的Memory Margin的測試方法是, 在Controller和DRAM都使用外部VREF供電的條件下, 調(diào)節(jié)VREF的電壓幅度, 同時(shí)運(yùn)行Memory Stress Test軟件(如: Golden Memory, MSTRESS 等等), 直到出現(xiàn)測試Fail的VREF值同默認(rèn)VREF值間的差值, 記為VREF Margin。調(diào)節(jié)VREF并不會影響信號傳輸?shù)牟ㄐ? 因?yàn)閂REF只是芯片接收端(Controller或DRAM)判斷輸入為0或1的判斷依據(jù)。然而在DDR4時(shí)代,Vrefdq已經(jīng)集成到芯片內(nèi)部,我們無法對其進(jìn)行調(diào)節(jié)。這個(gè)時(shí)候一些專門的測試軟件就比較方便,比如Intel就提供了RMT和EVTS做為DDR Margin測試。圖32 Margin測試原理RMT(DDR Rank Margin Tool),其原理是修改設(shè)置, 讓BIOS在開機(jī)時(shí)自動運(yùn)行Training程序, 同時(shí)通過Debug Port輸出Training的結(jié)果, 然后分析輸出的打印信息, 從而得到Memory Margin。所得到的結(jié)果不僅僅包含VREF Margin, 還包含Write/Read Timing Margin, ADD/CMD Timing Margin而EVTS是對RMT的一個(gè)補(bǔ)充,可以進(jìn)行per-bit margin測試,如果Margin不佳,左右或上下不對稱的時(shí)候,可以用EVTS 2D Margin來了解成因是否為眼圖形狀所致。3.4 問題分析3.4.1 Micron 8G 本體分析因?yàn)槠渌麅?nèi)存條RMT測試都是PASS的,唯有Micron 8G的測試是Fail,第一點(diǎn)想到的就是DIMM本身問題,聯(lián)系Micron FAE后,Micron懷疑是測試的內(nèi)存條生產(chǎn)日期太老,版本變更會影響測試結(jié)果,然而拿到最新的樣品后,測試結(jié)果仍然沒有任何改善。同時(shí),用這些樣品在Intel CRB(Custom reference board)上進(jìn)行測試,卻是可以PASS的。由此可以判斷,Micron 8G本身并不是Margin Fail的唯一因素,只能試圖增加主板PCB Margin來改善RMT結(jié)果3.4.2 通過Simulation來分析問題從問題的描述來看,主板+大部分內(nèi)存條測試PASS, 有問題的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論