您的位置:新文秘網>>畢業(yè)相關/畢業(yè)論文/文教論文/調研報告/>>正文

畢業(yè)論文:SDRAM內存控制器研究

發(fā)表時間:2014/3/15 12:27:39

畢業(yè)論文:SDRAM內存控制器研究

摘要

  隨著通用CPU邁向多核時代、視頻處理ASIC邁向高清時代,存儲器性能對系統(tǒng)整體性能的影響越來越大。然而由于工藝限制,DRAM的核心頻率難以超過300MHz,各種旨在提高數據吞吐率的DRAM接口應運而生。優(yōu)秀的內存控制器可以充分發(fā)揮DRAM接口的優(yōu)勢,在相同硬件條件下獲得更好的性能,在相同性能要求下降低硬件成本。
  在緒論部分,本文討論了DRAM的技術發(fā)展歷程,重點講述了SDRAM帶來的機遇與挑戰(zhàn),以及后SDRAM時代的各種技術改進。第一章詳細講解了SDRAM的基本操作,并綜述了常見的SDRAM讀寫優(yōu)化技巧,對它們的優(yōu)略與適用場合做了較為深入的分析。
  第三章給出了一種基于Close Page Policy的SDRAM控制器設計方案,并進行了簡單的性能分析。第四章講述了該設計方案的verilog實現、RTL級仿真、FPGA綜合以及FPGA驗證。第五章講解了該設計方案的SOPC集成,包括標準化的Avalon-MM接口設計、BFM仿真測試、JTAG硬件測試。

  關鍵詞:SDRAM,內存控制器,SOPC

ABSTRACT

  As general purpose CPU enters the multi-core era and video processing AISC enters the high-definition era, memory performance becomes increasingly important to overall system performance. However due to technology restricts, the core frequency of DRAM hasnt e*ceeded 300MHz. Thus there emerged many DRAM interface protocols aiming at high data throughput. A well-designed DRAM controller can take advantage of such protocols and achieve better performance using the same hardware or lower cost under the same performance requirement.
  In the introduction section, this paper reviewed the history of DRAM technology, especially the chances and challenges that SDRAM brought about, as well as new features appeared in the post-SDRAM age. The first chapter started with the basic operation of SDRAM, and then summarized several effective techniques for optimizing SDRAM accesses.
  Then an SDRAM controller design solution based on Close Page Policy is proposed, and basic performance analyses are performed. Ne*t, the Verilog implementation, RTL-level simulation, FPGA synthesis and FPGA verification of the proposed design are described. Finally, the SOPC integration of the proposed design is covered, including standardized Avalon-MM interface designing, BFM simulation and hardware verification through JTAG.

  Keyword: SDRAM, memory controller, SOPC

目錄
第一章 緒論 11
1 前SDRAM時期的DRAM 11
1.1 DRAM的發(fā)明 11
1.2 Intel 1103 11
1.3 Mostek MK4096 11
1.4 典型的傳統(tǒng)異步DRAM 12
1.5 Page Mode、Fast Page Mode(FPM)、Nibble mode的出現 12
1.6 E*tended Data Output(EDO)與Burst EDO的出現 13
2 SDRAM帶來的機遇與挑戰(zhàn) 13
2.1 SDRAM基本硬件參數 14
2.2 SDRAM的三維地址空間 14
2.3 芯片規(guī)格與SDRAM芯片組的容量 15
2.4 Row Buffer對SDRAM讀寫的影響 16
2.5 SDRAM的新天地 16
3 后SDRAM時代的DRAM 17
3.1 DDR SDRAM引入的其他重要特性 18
3.2 DDR2 SDRAM引入的其他重要特性 18
3.3 DDR3 SDRAM引入的其他重要特性 19
4 本課題的內容 19
5 論文結構 20

第二章 SDRAM基本操作與優(yōu)化策略 21
1 SDRAM的基本操作 21
1.1 SDRAM回顧 21
1.2 SDRAM的基本指令 22
1.2.1 LMR指令與模式寄存器 23
1.2.2 ACT(Activate)指令、WR(write)指令、RD(Read
……(新文秘網http://www.120pk.cn省略3917字,正式會員可完整閱讀)…… 
RAM的地址Wrap 48
表3.4初始化狀態(tài)及其輸出 50
表4.1 Micron Model的參數 59
表5.1 Avalon Wrapper端口信號 68

為保證用戶的論文檢測通過率,本論文的內容(包括圖片、表格)均已隱去,正式會員可看到全文下載地址。


第一章 緒論
  隨著工藝尺寸的縮小,當代ASIC與CPU的性能突飛猛進,然而存儲器的核心頻率任然只有100~200MHz左右,SDR/DDR/DDR2/DDR3等旨在提高數據吞吐率的接口協議應運而生。
  當下,設計良好的存儲控制器,已成為充分發(fā)揮系統(tǒng)帶寬潛能、降低系統(tǒng)功耗的有力保障。
  本章內容:首先,將分三部分簡要介紹DRAM存儲器:前SDRAM時代的DRAM、SDRAM帶來的機遇與挑戰(zhàn)、后SDRAM時代的DRAM;然后,將介紹本課題的內容,給出論文結構。

1 前SDRAM時期的DRAM
1.1 DRAM的發(fā)明
  1966年Robert Dennard博士在IBM的Thomas J. Watson研究中心發(fā)明了DRAM存儲器,其中的存儲單元采用了1T1C的結構[52]。
  Robert Dennard獲得了美國專利,專利號為3,387,286。

1.2 Intel 1103
  1971年Intel發(fā)布了Intel 1103存儲器,容量為1kbit。它是歷史上第一個商業(yè)上成功的DRAM存儲器。與經典DRAM不同,它采用3T1C的存儲單元,有獨立的行地址線與列地址線,讀與寫的數據線分離。

圖1.1 Intel 1103

1.3 Mostek MK4096
  1973年Mostek發(fā)布了Mostek MK4096存儲器,容量為4k,由Robert Proebsting設計。
  它是歷史上第一款復用行列地址線的DRAM。行列地址線的復用,減少了封轉管腳,降低了成本,這個傳統(tǒng)延續(xù)至今。
  Mostek是Micron的前身,在鼎盛時期曾占有3/4的市場份額。

圖1.2 Mostek MK4096

1.4 典型的傳統(tǒng)異步DRAM
  在1970年代中期,占據主流的是異步接口的DRAM,那時的“Clocked DRAM”僅僅曇花一現。這種經典異步接口,與課本《數字集成電路設計透視》中的敘述十分吻合[50]。每次讀寫前,必須分別進行行選通與列選通,即便讀寫同一行里的數據,也不能省略任何步驟。一張典型的時序圖如下:

圖1.3 典型的異步DRAM讀時序

1.5 Page Mode、Fast Page Mode(FPM)、Nibble mode的出現
  在異步DRAM的時代,出現過許多改進極富有特點的接口改進。
  Page Mode的出現是一個里程碑。Page Mode的DRAM可以把一整行數據保存在集成于片上的靈敏放大器整列中,這訪問同一行時,就不必重復進行行選通。Page Mode的操作,利用了訪問的空間局部性,從而提升了系統(tǒng)的性能。行緩沖的思想,一直延續(xù)到了當代的DRAM。
  Fast Page Mode出現于1980年代早期,直到1990年代早期任然屬于主流。Fast Page Mode中,只要RAS_B有效,就打開列地址緩沖,從而可以在CAS_B發(fā)起前鎖存列地址,這樣就提高了讀寫效率。
  Nibble mode是TI對FPM DRAM的一種改進,添加了類似于4位突發(fā)傳送的功能。

1.6 E*tended Data Output(EDO)與Burst EDO的出現
  在1990年代中期,出現了E*tended Data Output的DRAM。它增加了OE_B信號,來代替CAS_B去控制輸出緩沖。于是,在CAS_B上升后,數據可以保持更多時間,故名“E*tended Data Output”。EDO允許CAS_B下降沿與數據交疊,縮短了page mode下的讀寫周期,故效率比FPM更高。
  Burst EDO增加了列地址自動增加的功能,進一步簡化了操作,提高了效率。
幾種異步模式的時序對比如下圖[49]:

圖1.4 異步DRAM的各種時序改進
(摘自ICE公司的《Memory 1997》[49])

2 SDRAM帶來的機遇與挑戰(zhàn)
  SDRAM,意為同步的DRAM,其數據和指令都與時鐘上升沿對齊。最早的樣品,由三星在1993年生產。在1996-2002年期間,SDRAM逐步取代了異步的FPM DRAM、EDO DRAM,稱雄PC內存市場。在2003年之后,逐漸被DDR SDRAM取代。它與前代異步DRAM的不同包括:同步時鐘、多Bank機制、流水線化的操作、Burst讀寫的引入。由于每個時鐘周期,只在上升沿傳送一次數據,它也被稱為SDR SDRAM,以便與DDR SDRAM區(qū)別。

2.1 SDRAM基本硬件參數
  SDRAM的常見容量包括:16Mbit、64Mbit、128Mbit、256Mbit、512Mbit。其中,除了16Mbit分為2個Bank外,其他容量的SDRAM都分為4個Bank。
  SDRAM的常見數據位寬包括:4bit、8bit、16bit、32bit。如果系統(tǒng)位寬64bit,用16個512Mbit容量4bit位寬的SDRAM并聯,可以實現8Gbit的存儲空間;而如果用2個512Mbit容量32bit位寬的SDRAM并聯,只能實現1Gbit的存儲空間。
  SDRAM的Burst Length,即讀寫突發(fā)傳送的周期數,一般可設置為1、2、4、8以及Full Page,在初始化時通過寫模式寄存器來設置。需要注意的是,如果列讀寫時,地址沒有與BL對齊,SDRAM會自行Wrap地址,導致意外的結果。
  SDRAM的Cas Latency,即從發(fā)送列讀取指令到有效數據出現的延時,一般為2或3個時鐘周期,少數器件可以為1個周期,在初始化時通過寫模式寄存器來設置。一般CL=3時,tAC參數(即時鐘上升沿到有效數據出現的延時)較小,從而使器件可以工作在較高的頻率。
  SDRAM的常見速度等級包括:100MHz(T=10ns)、125MHz(T=8ns)、133MHz(T=7.5ns)、143MHz(T=7ns)、166MHz(T=6ns)、183MHz(T=5.5ns)、200MHz(T=5ns)。速度等級一般對應CL=3時的最高工作頻率。器件的最高工作頻率越高,表示其AC延時參數越小。

2.2 SDRAM的三維地址空間

圖1.5 Micron SDRAM框圖
(摘自Micron公司的SDRAM器件手冊[9])
  當代SDRAM的地址空間由Bank、Row、Column三個維度。64Mbit及以上容量的SDRAM一般分為4個Bank。為了與內存模組中Physical Bank(Rank)的概念區(qū)別,SDRAM的Bank有時也叫Logic Bank。
  每個Bank都是一個Row與Column構建的陣列;陣列的每個單元都是一組數據,這組數據的位寬與SDRAM數據接口位寬一致。
例如,一個容量64Mbit位寬16bit的SDRAM地址空間為:4bank * (2^12)Row * (2^8)Column * 16 bit = 64Mbit,器件手冊一般寫為4 * 1M * 16bit = 64Mbit。

2.3 芯片規(guī)格與SDRAM芯片組的容量
  關于SDRAM芯片尋址的術語——Bank、Row、Column已在上一節(jié)給出了解釋。下面解釋幾個SDRAM芯片組中常用的術語。
  Rank:又叫Physical Bank,指的是一組被同時操作的DRAM芯片。通常,它們的數據總線被合并,以提供系統(tǒng)所需要的數據位寬,如Intel處理器要求的64bit。
  Page:一般指同一個Rank中Bank adddress、Row address相同的空間?梢哉J為將Rank中所有SDRAM芯片中的Row Buffer合并在一起,就組成了Rank中的Page Buffer。關于Row Buffer、Page Buffer對DRAM訪問的影響將在下一節(jié)講述。
  
  以64bit位寬的系統(tǒng)為例,綜合列出不同規(guī)格SDRAM的3維地址空間,以及組成Rank后的特性[7][8]:
表1.1 典型的SDRAM存儲規(guī)格
Chip Size Chip DQ/
Fab. Bank Num Row Num Col Num Row Buf Size 64bit Page Size 64bit Rank Size
16Mb 16 ISSI 2 2048 256 4kb 16kb 64Mb
64Mb 32 Micron 4 2048 256 8kb 16kb 128Mb
16 Micron 4 4096 256 4kb 16kb 256Mb
8 Micron 4 4096 512 4kb 32kb 512Mb
4 Micron 4 4096 1024 4kb 64kb 1Gb
128Mb 32 Micron 4 4096 256 8kb 16kb 256Mb
16 Micron 4 4096 512 8kb 32kb 512Mb
8 Micron 4 4096 1024 8kb 64kb 1Gb
4 Micron 4 4096 2048 8kb 128kb 2Gb
256Mb 32 ISSI 4 4096 512 16kb 32k 512Mb
16 Micron 4 8192 512 8kb 32kb 1Gb
8 Micron 4 8192 1024 8kb 64kb 2Gb
4 Micron 4 8192 2048 8kb 128kb 4Gb
512Mb 32 ISSI 4 8192 512 16kb 32kb 1Gb
16 Micron 4 8192 1024 16kb 64kb 2Gb
8 Micron 4 8192 2048 16kb 128kb 4Gb
4 Micron 4 8192 4096 16kb 256kb 8Gb
注:其中Micron 64Mb: *32的芯片雖然是2048行,計算刷新周期時要按4096行算。而ISSI 16Mb: *16的芯片也是2048行,刷新時確實按2048行算。關于刷新的原理見后文。

2.4 Row Buffer對SDRAM讀寫的影響
  SDRAM的每個Bank都有一個Row Buffer,其實就是一排靈敏放大器(Sense Amplifier)。每次激活(Activate)一個Row地址后,就打開Row Buffer把整個Row的數據保存在其中;Precharge指令可以關閉指定Bank的Row Buffer,Precharge All可以關閉所有Bank的Row Buffer;我們稱Row Buffer關閉的Bank為空閑(Idle)的Bank。
  由于Row Buffer的存在,SDRAM的訪問分為如下三種情況[31]:
  (1) 當前訪問的Row所在的bank中,row buffer關閉。此時,需要先激活Row,再發(fā)讀寫指令和Column地址。此情況,讀寫延時中等。
  (2) 當前訪問的Row,正好保存在相應bank的row buffer里。此時,不需要激活Row,直接發(fā)讀寫指令和Column地址,就可以訪問。此情況,讀寫延時最小。
  (3) 當前訪問的Row所在的bank中,row buffer打開,存的是另一個Row的數據。此時,必須先發(fā)送Precharge或Precharge All指令關閉row buffer,再激活Row,最后發(fā)讀寫指令和Column地址。此情況,讀寫延時最大。

2.5 SDRAM的新天地
  SDRAM帶來的最大機遇就是它流水線化、并行化的接口設計,只要不違反管腳、時序延時的限制,多個Bank可以并肩工作。
  恰如Scott Ri*ner在ISCA2000上指出的,“得益于當代存儲器件的三維特性,重新排列存儲操作順序以分時訪問DRAM大有好處。這樣的優(yōu)化,就好比超標量處理器亂序調度算數操作一樣!盵26]
  圍繞著訪問請求重排、SDRAM指令亂序執(zhí)行、地址映射、Row Buffer關閉策略,各種優(yōu)化方法層出不窮,從簡單的多bank交錯操作,到包含自適應機制的Row Buffer管理策略,不勝枚舉。
  針對視頻處理、多核、通信等不同應用,設計SDRAM控制器時還需要根據“實時性”的限制,在低延時和高帶寬利用率之間有所取舍。
  所有這些開啟了DRAM控制系統(tǒng)的一個新篇章。

3 后SDRAM時代的DRAM
  SDRAM之后,依次出現了DDR、DDR2、DDR3這幾代DRAM。和SDR SDRAM一樣,它們也采用多bank流水線化操作的同步架構,其內部半導體存儲單元的核心頻率也任然在100~200MHz之間。DDR、DDR2、DDR3相對于SDR SDRAM最大的區(qū)別在于使用了多bit預取的技術[16]。從DDR開始,同時在上升沿和下降沿對數據進行采樣。從DDR2開始,I/O接口的頻率開始高于存儲單元的核心頻率。
  下圖對SDR、DDR、DDR2、DDR3的SDRAM做了對比:

圖1.6 當代DRAM接口時序對比
  不過,也正是多bit預取技術,使得DDR SDRAM的最小Burst Length為2而DDR2 SDRAM的最小Burst Length為4,DDR3略有不同,最小Burst Length為4。
  另一方面,從SDR、DDR、DDR2到DDR3,指令延時略有差異,SDR訪問的優(yōu)化算法也可用于DDR、DDR2到DDR3,但需要更具參數的相對關系重新調整,不能生搬硬套。
3.1 DDR SDRAM引入的其他重要特性
  差分時鐘CK和CK_B。差分時鐘可以抑制溫度、電阻等因素對時鐘精度的影響。在CK上升沿和CK_B下降沿的交叉點采樣對指令信號采樣;把CK和CK_B的所有交叉點作為數據采樣的參考點[10]。
  數據采樣脈沖DQS。DDR SDRAM使用Source-Synchronous接口,以確保搞數據傳送率下的信號完整性。DQS是一個雙向端口,寫數據時,DQS為DDR SDRAM的輸入,其上升沿和下降沿分別與兩個數據各自的中心對齊;讀數據時,DQS為DDR SDRAM的輸出,其上升沿和下降沿分別與兩個數據各自的起始邊沿對齊[3]。
  片上DLL。隨著數據傳送頻率的提升,時鐘樹延時(Clock Insertion Delay)變得更加嚴重,使得片上DLL成為了必需。片上DLL可以通過模式寄存器來開啟和關閉,使用時通常會開啟DLL[3]。

3.2 DDR2 SDRAM引入的其他重要特性
  Post CAS。為提高帶寬利用率而作的接口時序改進。在SDR和DDR SDRAM的時代,行選通、列讀取之間必須滿足tRCD延時;DDR2接口中可以在行選通后直接進行列讀取,而有效數據出現相對于行選通的延時不變[4]。這樣可以避免不同bank間的行選通、列讀取指令碰撞,提高效率。

圖1.7 DDR2 SDRAM Post CAS
  ODT(On-Die Termination)。終端電阻起著平衡信號完整性和電壓擺幅的作用[15]。在SDR和DDR SDRAM的時代,終端電阻是做在電路板上的,而DDR2使用了片上終端電阻(ODT),從而提高了配置的靈活性,降低了電路板的設計難度與成本。內存控制器通過寫EMR寄存器來設定或更新ODT的值。
  OCD(Off-Chip Driver)校準。DDR2 SDRAM引入了片外驅動校準,以提高信號完整性[15]。校準時,調整的是片內上拉、下拉電阻的等級。由于DDR2還引入了差分的數據選取脈沖,基本已滿足了信號完整性的要求,所以OCD也只在高端場合應用過。目前Micron等公司的DDR2 SDRAM已經不再支持OCD了[11]。

3.3 DDR3 SDRAM引入的其他重要特性
  RESET_B管腳。DDR3 SDRAM增加了RESET_B管腳,使得存儲芯片可以很容易地進入初始化狀態(tài)[5]。當RESET_B有效時,存儲芯片內部時鐘關閉,處于低功耗的狀態(tài);RESET_B從有效變?yōu)闊o效后,存儲芯片自動進入初始化階段。
  Burst-Chop與On-The-Fly技術。DDR3 SDRAM采用8n-bit預取,從DDR、DDR2的情況推測應該只支持長度為8的突發(fā)傳送。但是,DDR3 SDRAM支持Burst-Chop,能夠實現長為4的突發(fā)傳送[5]?梢酝ㄟ^模式寄存器設置突發(fā)傳送長度,也可以使用On-The-Fly技術通過A12地址位在發(fā)起讀寫時確定突發(fā)傳送長度。需要注意的是Burst-Chop,只相當于一個Mask操作,不能節(jié)約總線時間。
  ZQ校準。DDR3 SDRAM的ZQ校準提供了更加有效的可控阻抗機制[12]。初始化時的長校準,使DRAM能夠將驅動電路工藝偏差帶來的影響最小化;正常操作時的短校準,可以減小電壓、溫度漂移帶來的阻抗變化。ZQ校準為良好的信號完整性提供了保障。
  動態(tài)片上終端電阻(Dynamic ODT)。片上終端電阻(ODT)可以減小當前模組的時鐘抖動以及其他模組引起的信號反射[13]。確保信號完整性,就可以提供可預測的有效數據窗口(data eye)。動態(tài)片上終端電阻技術,就是可以根據是否進行寫操作而在標準電阻、寫電阻之間自動切換,免去了像在操作DDR2 SDRAM時那樣更改模式寄存器的麻煩。
  Auto Self-Refresh。JEDEC標準中的可選特性,如果實現并被啟用,SDRAM會根據自身的溫度決定自刷新的頻率以降低功耗[5]。
  Partial Array Self-Refresh。JEDEC標準中的可選特性,如果實現并被啟用,可以只刷新SDRAM中有必要刷新的Bank,以降低功耗[5]。

4 本課題的內容
  本課題研究SDRAM內存控制器的設計。從SDRAM的結構與基本操作入手,分析各種優(yōu)化策略,然后給出基于Close Page Policy的內存控制器設計方案,并將其集成到Altera的SOPC系統(tǒng)中。
  整個設計流程包括:Spec編寫、模塊劃分與時序設計,RTL級的verilog設計,RTL級的ModelSIM仿真,Quartus綜合,后仿真,靜態(tài)時序分析,FPGA測試。
  SOPC集成的工作包括:Avalon-MM Slave Wrapper的編寫,Avalon-MM Master BFM仿真測試,基于Jtag to Avalon Master Bridge的FPGA硬件測試。
  
5 論文結構
  第一章:緒論。
  第二章:SDRAM基本操作與優(yōu)化策略。
  第三章:基于Close Page Policy的內存控制器后端設計。
  第四章:SDRC_Lite內存控制器的仿真、綜合與硬件測試。
  第五章:SDRC_Lite內存控制器的SOPC集成與測試。
  第六章:總結與展望。
  致謝。





















第二章 SDRAM基本操作與優(yōu)化策略
  由于指令操作的存在,SDRAM系統(tǒng)的硬件帶寬往往得不到充分利用。良好的SDRAM訪問策略可以提高SDRAM系統(tǒng)的硬件帶寬的利用率,在相同硬件條件下獲得更好的性能或在相同性能要求下降低硬件成本。
  SDRAM具有多Bank、流水線化等結構特性,如果能夠巧妙地排列指令,可以開發(fā)SDRAM的并行化優(yōu)勢節(jié)省總線時間;SDRAM具有行緩沖,如果根據數據訪問的空間局部性、請求延時的限度,適當重排訪問請求、控制緩沖策略,可以減少指令的數量,提高總線效率。
  本章內容包括:SDRAM的特性回顧與基本操作、SDRAM訪問的優(yōu)化方向與常用策略。由于SDRAM的初始化與帶寬利用率的優(yōu)化策略無關,故另行歸入控制器設計原理的章節(jié)中。從本章開始SDRAM專指SDR SDRAM。

1 SDRAM的基本操作
1.1 SDRAM回顧
  SDRAM是同步動態(tài)隨機存儲器的縮寫。同步,指它有統(tǒng)一的時鐘,在時鐘上升沿采樣指令、讀入或輸出數據,與早期的異步DRAM不同;動態(tài),指它必須不斷刷新以維持數據 ……(未完,全文共61159字,當前僅顯示11000字,請閱讀下面提示信息。收藏《畢業(yè)論文:SDRAM內存控制器研究》
文章搜索
相關文章