基于FPGA的內存控制器的設計與應用_圖文_第1頁
基于FPGA的內存控制器的設計與應用_圖文_第2頁
基于FPGA的內存控制器的設計與應用_圖文_第3頁
基于FPGA的內存控制器的設計與應用_圖文_第4頁
基于FPGA的內存控制器的設計與應用_圖文_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、太原理工大學碩士學位論文基于FPGA的內存控制器的設計與應用姓名:趙冠楠申請學位級別:碩士專業(yè):指導教師:梁鳳梅20100401基于FPGA 的內存控制器的設計與應用摘 要目前,SDR SDRAM、DDR SDRAM、DDR2 SDRAM憑借其價格低廉、容量大、速度快等優(yōu)點,仍然占據(jù)著高速存儲設備的主要市場,廣泛的應用到消費類電子產品、通信類產品和大量嵌入式系統(tǒng)的設計開發(fā)中。因此能夠設計一款對SDR SDRAM、DDR SDRAM和DDR2 SDRAM都適合的內存控制器,為各類不同系統(tǒng)中的設計開發(fā)與應用提供了很大的便利,這樣一款內存控制器將會具有良好的應用前景。論文在詳細研究了JEDEC 組織

2、制定的SDR SDRAM、DDR SDRAM和DDR2 SDRAM內存的技術規(guī)范文檔基礎上,通過分析這三種內存芯片的內部功能模塊、控制操作命令及工作流程,總結出一套適合這三種內存芯片的內存控制器架構,然后采用了自頂向下(TOP-DOWN )的設計方法,使用VHDL 語言完成了各功能模塊的RTL 級的邏輯描述,通過綜合仿真對設計進行了功能驗證。最后通過Xilinx 的Spartan3 FPGA完成了SDR SDRAM、DDR SDRAM、DDR2 SDRAM內存控制器的硬件驗證及其在CMOS 圖像采集系統(tǒng)上的應用研究。論文研究重點包括以下幾個方面:(一 對適用于SDR SDRAM、DDR SDR

3、AM和DDR2 SDRAM的結構、接口和時序進行了深入研究與分析,總結出內存控制器設計中的關鍵技術特性。(二 各內存控制器的結構劃分:由時鐘產生模塊、控制命令模塊、指令譯碼模塊和數(shù)據(jù)通道模塊組成,對各模塊的結構及實現(xiàn)方法進行了分析和設計。(三 采用自頂向下(TOP-DOWN )的設計方法,使用VHDL 語言完成了各功能模塊的RTL 級設計。(四 使用Modelsim 軟件進行功能仿真和Synplify Pro軟件進行邏輯綜合優(yōu)化。(五 構建了基于Xilinx 的Spartan3 FPGA的各內存控制器的硬件仿真平臺,完成了對內存控制器的仿真驗證。(六 完成了內存控制器在CMOS 圖像采集系統(tǒng)的

4、應用研究。本論文完整論述了適合于SDR/DDR/DDR2 SDRAM內存的內存控制器的設計原理和具體實現(xiàn)。本文設計的控制器既實現(xiàn)了控制端口操作簡單,又能滿足對三種不同內存(SDR SDRAM、DDR SDRAM和DDR2 SDRAM)的控制,具有適用性廣、實用性強的特點。從在CMOS 圖像采集系統(tǒng)中的應用中的結果來看,本內存控制器在結構和軟硬件設計方面均滿足了工程實際要求。關鍵詞:SDR SDRAM,DDR SDRAM,DDR2 SDRAM,控制器,F(xiàn)PGADESIGN AND APPLICATION OF MEMORY CONTROLLERBASED ON FPGAABSTRACTCurre

5、ntly, SDR SDRAM, DDR SDRAM and DDR2 SDRAM still occupy the main market of high-speed storage devices, and they have been widely used in consumer electronic products,communication products and embedded systems due to great advantages,such as inexpensive price, big capacity and high speed.Therefore if

6、 a memory controller suitable to SDR SDRAM, DDR SDRAM and DDR2 SDRAM is made to greatly facilitate design application development and application in different systems, it will have great utility.Based on the study of technical document about SDR SDRAM、DDR SDRA and DDR2 SDRAM formulated by JEDEC, thi

7、s paper concluded a set of infrastructure for the three memory controllers above by analyzing their internal modules, operation commands and workflow. Through the TOP-DOWN design method, it also realized logical descriptions for each function module in VHDL, and verified each function by synthetic s

8、imulation. Then by using Xilinxs Spartan3 FPGA, hardware verification for SDR SDRAM,DDR SDRAM and DDR2 SDRAM as well as application research in an CMOS image capture system is achieved.The key points in this paper contain several aspects as follows:1. The crucial technologies of the memory controlle

9、rs such as Structure,Interface andTiming are explored,and research on the Key technical features inside SDR, DDR and DDR2 controller。2. The structure of the general-purpose memory controller divided in terms of clock generation module, control module, command module, instruction decoding module and

10、data path module, as well as the analysis and design for the structure and implementation of each module.3. Using a TOP-DOWN design method and the RTL design accomplishment for each module in VHDL.4. The function simulation by Modelsim as well as the synthesized and logical optimization under Synpli

11、fy Pro.5. The structure of a hardware simulation platform for each memory controller based on Spartan-3 FPGA of Xilinx corporation and the accomplishment of simulation verification for memory controllers.6. The accomplishment of application research on memory controller in an CMOS image capture syst

12、em.This thesis fully discussed the design principle and implementation of memory controllers suitable to SDR SDRAM、DDR SDRAM and DDR2 SDRAM .Memory Controllers in this paper not only easy to operate, but also favor memory control mainly referring to SDR SDRAM,DDR SDRAM and DDR2 SDRAM control with th

13、e characteristics of applicability andpracticability. In view of the result from an image acquisition system, the structure of this memory controller as well as its design can both fulfill the practical engineering requirement.KEY WORDS: SDR SDRAM, DDR SDRAM, DDR2 SDRAM, controller,FPGA第一章 緒 論本章介紹了課

14、題的研究背景、研究內容、研究意義及論文的主要結構。介紹了DRAM 內存的發(fā)展,SDR/DDR/DDR2 SDRAM的技術特點及其內存控制器的發(fā)展。并闡述了所設計的內存控制器的技術特點及主要研究工作。1.1 課題研究背景近年來隨著數(shù)字化系統(tǒng)中處理器的性能成倍提高、數(shù)據(jù)通道帶寬和存儲數(shù)據(jù)量的不斷增加,使得內部儲存器成為決定整個系統(tǒng)性能的關鍵因素之一。相對于硬盤、軟盤、磁帶等磁性存儲器,CD/VCD/DVD等光學存儲器和MD 磁光存儲器而言,半導體存儲器以其速度快、體積小、容量大、耐用性、高性價比等優(yōu)點已成為包括計算機在內的各類電子產品中存儲器的主流1。半導體存儲器芯片按存取方式可分為隨機存取存儲器

15、芯片(RAM )和只讀存儲器芯片(ROM )。按照存儲信息的不同,隨機存儲器又分為靜態(tài)隨機存儲器(Static RAM,SRAM )和動態(tài)隨機存儲器(Dynamic RAM,DRAM )。SRAM 是目前讀寫最快的存儲設備,但是它由于造價昂貴只在要求很苛刻的地方使用,比如CPU 的一級Cache ,二級Cache 中。DRAM 由于容量大、價格便宜、速度快,常常作為系統(tǒng)內存來用。根據(jù)組成元件的不同,RAM 可以分為許多類型,SDRAM (Synchronous Dynamic RAM,同步動態(tài)隨機存儲器)就是其中的一種。這里的“同步”是指SDRAM 工作時需要依靠同步時鐘來協(xié)調,內部命令的發(fā)送

16、和數(shù)據(jù)的傳輸都以同步時鐘為基準;“動態(tài)”是指存儲陣列需要不斷的刷新來保證數(shù)據(jù)不丟失;“隨機”是指數(shù)據(jù)不是線性依次存儲,而是通過地址對指定單元進行數(shù)據(jù)的讀寫。SDRAM 具有價格低廉、密度高、數(shù)據(jù)讀寫速度快的優(yōu)點,從而成為使用最廣泛的高速、高容量存儲器。SDRAM 的發(fā)展經(jīng)歷了SDR SDRAM、DDR SDRAM、DDR2 SDRAM和DDR3 SDRAM 1四個階段。SDR SDRAM采用單端(Single-Ended )時鐘信號,在每一個時鐘周期對數(shù)據(jù)進行采樣,工作速度與系統(tǒng)時鐘同步。DDR SDRAM、DDR2 SDRAM、DDR3SDRAM 是在SDR SDRAM的基礎上不斷改進而來的

17、。它們最大的特點就是使用一對差分時鐘信號CLK 和CLK#,在CLK 的上升沿和下降沿觸發(fā)傳輸數(shù)據(jù),CLK#只負責對CLK 進行校準。這樣,在相同的系統(tǒng)時鐘下,它們的數(shù)據(jù)傳輸率就比SDR 的數(shù)據(jù)傳輸率擴大一倍。SDR SDRAM與系統(tǒng)時鐘同步,讀寫速度超過了100MHz ,存儲時間達到5.8ns ,支持高速總線時鐘頻率,在大容量數(shù)據(jù)存儲中得到了廣泛的應用。SDRAM 的同步接口和存儲陣列全部為Pipeline 的內部結構,使它具有非常高的數(shù)據(jù)傳輸率。SDRAM 采用了多體(bank )存儲器結構和突發(fā)模式,能傳輸一整塊而不是一段數(shù)據(jù)。每一個bank 通過行列來尋址。bank 的數(shù)量以及行列地址

18、的位數(shù)主要取決于存儲器的容量。與Pentium 芯片采用66MHz 、100MHz 和133MHz 系統(tǒng)外頻相對應,SDRAM 有PC66、PC100、PC133、PC150、PC166等幾種規(guī)格。DDR SDRAM(Dual Date Rate SDRAM)即雙倍速率同步動態(tài)隨機存儲器。相對于SDRAM 在一個時鐘周期內只在時鐘的上升期傳輸一次數(shù)據(jù),DDR 內存則是一個時鐘周期內傳輸兩次次數(shù)據(jù),它能夠在時鐘的上升期和下降期各傳輸一次數(shù)據(jù),因此稱為雙倍速率同步動態(tài)隨機存儲器。DDR 內存可以在與SDRAM 相同的總線頻率下達到更高的數(shù)據(jù)傳輸率。與SDRAM 相比,DDR 運用了更先進的同步電路

19、,使指定地址、數(shù)據(jù)的輸送和輸出主要步驟既獨立執(zhí)行,又保持與處理器時鐘的完全同步。DDR 使用了DLL (Delay Locked Loop ,延時鎖定回路提供數(shù)據(jù)濾波信號)技術,當數(shù)據(jù)有效時,存儲控制器可使用這個數(shù)據(jù)濾波信號來精確定位數(shù)據(jù),每16次輸出一次,并重新同步來自不同存儲器模塊的數(shù)據(jù)。DDL 本質上不需要提高時鐘頻率就能加倍提高DDR 的速度,它允許在時鐘脈沖的上升沿和下降沿讀出數(shù)據(jù),因而其速度是標準SDR SDRAM的兩倍。另外DDR 還采用了2位預?。?-bit prefetch),也就是2:1的數(shù)據(jù)預取,2bit 預取架構允許內部的隊列(column )工作頻率僅僅為外部數(shù)據(jù)傳輸

20、頻率的一半。在SDRAM 中數(shù)據(jù)傳輸率完全參考時鐘信號,因此數(shù)據(jù)傳輸率和時鐘頻率一樣。DDR 內存是在SDRAM 內存基礎上發(fā)展而來的,仍然沿用SDRAM 生產體系,因此對于內存廠商而言,只需對制造普通SDRAM 的設備稍加改進,即可實現(xiàn)DDR 內存的生產,可有效的降低成本。DDR2 SDRAM其基本結構和DDR SDRAM類似,而DDR2內存的1.8V 工作電壓使得它可以比DDR SDRAM的功耗整整低50。由于DDR2采用了4位預讀取的設計,在同一核心頻率,DDR2的實際工作頻率是DDR 的兩倍。另外DDR2融入CAS 、OCD 、ODT 等新性能指標和中斷指令提升了內存帶寬的整體利用率。

21、例如利用DDR2的ODT (On Die Termination ,內建終結電阻)信號終端器來簡化DQS (數(shù)據(jù)選通)總線設計。在DDR2 SDRAM 中,終端寄存器就實現(xiàn)在該DDR2芯片之中,內存控制器可以為每個信號設定終端寄存器的開或關,這些信號包括數(shù)據(jù)信號、數(shù)據(jù)選通信號和寫數(shù)據(jù)屏蔽信號。利用ODT 能降低多重反射,提高信號完整性并增加時序余量。一般情況下,工作頻率越高,信號反射的現(xiàn)象就越嚴重,終結寄存器就是用來解決這個問題的,它可以有效的吸收末端信號,防止數(shù)據(jù)的反射。DDR2內存直接將終結器整合在內存芯片中,以內部邏輯的形態(tài)存在。如果多條內存模組一起工作,系統(tǒng)可以自動控制每一條內存模組中

22、ODT 功能的開啟或關閉,這樣我們就不必擔憂信號會在第一條模組中就被終結掉,而在后續(xù)模組中無法生效的問題。同時DDR2 SDRAM還引入了命令的無縫突發(fā),并采用FBGA (球柵陣列)封裝形式降低功耗。無縫突發(fā)使得寫命令能夠被插到激活命令后面的一個時鐘周期,提高了內存的利用率。因此DDR2內存具有更高的速度,更高的帶寬,同時功耗得以降低,散熱性較好。關于SDRAM 架構的演進如表1-1所示。內存是影響處理器性能的重要因素,它的數(shù)據(jù)傳輸率的提升對提高處理器性能有積極作用。由于內存不能直接識別處理器的訪存請求,內存控制器負責完成處理器對內存的控制操作。內存控制器是按照一定的時序規(guī)則對存儲器的訪問進行

23、必要控制的設備,包括地址信號、數(shù)據(jù)信號以及各種命令信號的控制,使處理器能夠根據(jù)自己的要求使用存儲器里的存儲資源。內存控制器決定了計算機系統(tǒng)所能使用的最大內存容量、存儲體數(shù)目、內存類型和速度、內存顆粒的數(shù)據(jù)深度和數(shù)據(jù)寬度等重要參數(shù)。也就是說,內存控制器決定了計算機系統(tǒng)的主存訪問的性能,從而也對計算機體統(tǒng)的整體性能產生較大影響。從最初電子元件工業(yè)聯(lián)合會JEDEC (Joint Electron Device Engineering Council)和Intel 聯(lián)合開發(fā)SDR SDRAM的內存技術規(guī)范標準PC1002,接著JEDEC 組織在2005年開發(fā)了DDR SDRAM內存技術規(guī)范標準JESD

24、79E 3,2006年JEDEC 組織開發(fā)了DDR SDRAM內存技術規(guī)范標準JESD79-2C 4。表1-1 SDRAM架構的演進 自JEDEC 制定了SDRAM 內存與SDRAM 內存部件的規(guī)范,并且為內存部件生產商們提供了內存的設計參考書,SDR/DDR/DDR2 SDRAM便迅速占領了存儲器市場的主流地位,相應的各種內存控制器方案也越來越多的被應用在不同的應用領域。在計算機領域,INTEL 的Core 、Pentium 、Celeron 系列處理器都將內存控制器集成在主板上北橋芯片內部的MCH (Memory Controller Hub)存儲器控制中心,處理器通過前端總線和北橋芯片來

25、讀、寫物理存儲器中的數(shù)據(jù)。在Nehalem 架構處理器上,INTEL 公司將整合內存控制器集成在處理器中,基于Nehalem 架構的Core i7處理器整合了最高支持DDR3的內存控制器。而早在AMD K8系列CPU 中,內存控制器就被整合在CPU 內部,處理器和內存的數(shù)據(jù)經(jīng)過內存控制器的傳輸轉發(fā)的數(shù)據(jù)傳輸效率更高,比內存控制器集成在北橋芯片中具有更低的數(shù)據(jù)延遲。AMD Optero處理器內核實際上集成了單通道128bits 的DDR 內存控制單元,Athlon 64處理器內核集成了單通道64bits 的DDR 內存控制單元。目前流行的DDR SDRAM和DDR2 SDRAM,正在不斷發(fā)展的D

26、DR3 SDRAM ,還有QDR 、RAMBUS 存儲器等等,與它們對應就有各自匹配的內存控制器。隨著對存儲性能要求的不斷提高,存儲器的容量越來越大、速度越來越快,新的存儲器訪問技術也應運而生,內存控制器也在不斷的改進與發(fā)展。1.2 課題研究工作本課題主要研究SDR SDRAM、DDR SDRAM和DDR2 SDRAM內存控制器的設計實現(xiàn)。具體工作如下:1. 通過認真研讀JEDEC 組織的SDR/DDR/DDR2內存芯片的技術規(guī)范文檔,熟悉了各內存的內部結構、技術原理及其相關的工作時序。對比在設計中使用的三款內存芯片HY57V281620HCT 、HY5DU56822AT 和HY5PS1282

27、3(L )F 的數(shù)據(jù)手冊,總結出SDR/DDR/DDR2中比較重要的幾個參數(shù)的含義及其作用,為設計內存控制器做出了準備工作。2. 總結了內存控制器設計中的關鍵技術,提出了一種適合SDR/DDR/DDR2的內存控制器的設計方案,才用了自頂向下的設計方法對設計方案進行功能劃分,并使用VHDL 語言實現(xiàn)了內存控制器各模塊的RTL 級的設計。3. 對設計的內存控制器進行了功能仿真,在完成了內存控制器的驗證基礎上,在實際的電路板上進行內存控制器的驗證與調試,總結出PCB 設計中布線及內存控制器調試中的需要注意的關鍵問題。4. 把SDR SDRAM和DDR/DDR2 SDRAM內存控制器應用到了CMOS

28、圖像采集系統(tǒng)中。目前已經(jīng)完成SDR SDRAM和DDR SDRAM的應用研究工作,已開始著手準備DDR2 SDRAM內存控制器的應用研究。1.3 論文結構論文的結構安排:第一章 緒論。 綜合介紹了本論文的研究背景、意義及研究工作,介紹SDRAM 及其控制器的發(fā)展歷程。第二章 內存控制器設計的關鍵技術。 深入研究了SDR SDRAM和DDR/DDR2 SDRAM 存儲器的結構、工作原理及設計中的關鍵技術,通過分析SDR SDRAM和DDR/DDR2 SDRAM芯片的內部結構、工作過程各操作信號的時序關系,提出了內存控制器設計的功能模塊。第三章 內存控制器的設計與實現(xiàn)。 詳細論述了各內存控制器模塊

29、劃分,根據(jù)提出的設計層次結構,用VHDL 硬件描述語言實現(xiàn)了各部分的設計。第四章 內存控制器設計的仿真及調試。 完成了所設計的各內存控制器的仿真驗證過程,并對仿真結果進行了分析。然后用Synplify Pro進行了邏輯優(yōu)化,分析了PCB 板上布局布線和調試的關鍵問題。第五章 內存控制器在CMOS 圖像采集系統(tǒng)中的應用。 完成了內存控制器在CMOS 圖像采集系統(tǒng)中幀率提升模塊的應用,通過應用對內存控制器的設計進行驗證。第六章 總結與展望。 總結了設計中的不足和需要進一步完成和改進的地方。第二章 內存控制器設計的關鍵技術本章介紹了SDR/DDR/DDR2 SDRAM各內存芯片的內部結構及其接口信號

30、說明,提出了一種通用的內存控制器設計模型,在此基礎上構建了內存控制器系統(tǒng)的行為級模型。經(jīng)過對內存控制器的設計重點進行詳細分析和研究,總結出內存控制器設計中的關鍵技術。2.1 內存芯片的內部結構及其接口信號說明SDRAM (synchronous Dynamic Random Access Memory,同步動態(tài)隨機存儲器)內存芯片內部是一個如同表格一樣的存儲陣列,如圖1-1所示。和表格的檢索原理一樣,先指定一個行(Row ),再指定一個列(Column ),就可以準確地找到所需要的單元格,這就是SDRAM 的基本尋址原理5。對于內存存儲器來講,這個單元格可稱為存儲單元。列地址(Column )

31、 行地址(Row圖中黑點表示ROW 為8,Colunm 為9的存儲單元圖2-1 SDRAM 存儲陣列示意圖Fig. 2-1 SDRAM memory array diagram圖1-1中這個表格(存儲陣列)就是邏輯Bank (Logical Bank,簡稱L-Bank )。由于技術、成本等原因,在內存芯片中不可能只做一個全容量的L-Bank 。而且重要的是,由于SDRAM 的工作原理限制,單一的L-Bank 將會造成嚴重的尋址沖突,大幅降低內存效率。所以在SDRAM 內部存儲空間被分割成了多個L-Bank 。其中SDR SDRAM是2個或者4個,DDR SDRAM都是4個,DDR2 SDRAM

32、的L-Bank 的數(shù)量則為4個或8個。內存芯片的容量就是所有L-Bank 中的存儲單元的容量總和。即內存芯片的存儲單元數(shù)量為:存儲單元數(shù)量為行數(shù)乘以列數(shù)(得到一個L-Bank 的存儲單元數(shù)量)再乘以L-Bank 的數(shù)量。在內存的存儲空間中,L-Bank 中的存儲單元是基本的存儲單位. 它的容量是若干bit ,它的容量對應芯片的位寬。而每個bit 則是存放于單獨的存儲體中,存儲體是內存中最小的存儲單位。如圖2-2為SDRAM 的存儲原理示意圖。 圖2-2 SDRAM 存儲原理示意圖Fig. 2-2 SDRAM memory theory diagram從圖2-2中可以看到行選(行地址線)與列選(

33、列地址線)信號將存儲單元與外界的數(shù)據(jù)傳輸電路(DQ )導通。圖2-2中的虛框為存儲單元的內部結構圖,行選和列選信號控制存儲電容的放電與充電從而可以進行數(shù)據(jù)讀取與數(shù)據(jù)寫入。圖2-2中的存儲電容是由一個晶體管構成的。由于晶體管無法避免的要存在源、漏的漏電流,隨著存儲電荷的流失,電容將無法保持原來的電位值。這將引起存儲單元存儲內容出錯導致數(shù)據(jù)的丟失,所以需要定時將存儲電容的電壓值讀出來,放大電壓之后回寫進去,這就是其中刷新放大電路的作用。目前存儲單元中刷新放大器的功能被并入功耗更低的讀出放大器(Sense Amplifier,簡稱S-AMP )。由于各內存制造商生產的內存芯片規(guī)格上有所不同,本節(jié)使用

34、JEDEC 組織的內存芯片的技術規(guī)范文檔所定義的功能結構2,3,4,來具體研究SDR/DDR/DDR2 SDRAM的引腳定義和內部結構。(一 S DR SDRAM 引腳定義和內部結構SDR SDRAM芯片的接口信號定義描述如表2-1所示。表2-1 SDRAM接口信號 Table 2-1 Interface Signals of SDRAM名稱CLKCKECS#、RAS#、CAS#、WEBA0,BA1A0A11DQ0DQ15UDQM,LDQMVDD/VSS/VDDQ/VSSQ 類型 輸入 輸入 輸入 定義 時鐘輸入 時鐘使能 片選、行選、列選、寫使能 輸入選擇 輸入 輸入輸出輸入 輸入 地址輸入

35、 數(shù)據(jù)輸入輸出 數(shù)據(jù)掩碼 電源,地下面對內存芯片的接口信號2進行說明:CLK :系統(tǒng)時鐘輸入,SDRAM 上輸入均采樣于CLK 的上升沿。CKE :高電平時時鐘有效。低電平時時鐘無效,此時SDRSDRAM 進人掉電、掛起或自刷新模式。CS#:芯片選擇信號,使能或關閉所有輸入(除CLK, CKE, UDQM和LDQM ),低電平使能命令解碼器,高電平禁止命令解碼器。RAS#、CAS#、WE#:當在時鐘上升沿采樣時,三者定義SDRAM 將執(zhí)行何種操作。 BA0-BA1:當行選命令有效時,選擇哪個Bank 激活。當列選命令有效時,選擇哪個Bank 進行讀/寫。A0-A11:地址輸入信號,在 ACTI

36、VE 命令中提供行地址,在READ/WRITE命令中提供列地址。在PRECHARGE 命令中A10被采樣,當A10邏輯電平為低時,則PRECHARGE 操作只應用于一個Bank (BA1-BA0來選擇Bank ),高電平則應用于所有的Bank 。其中,行地址:RA0 RA11,列地址:A0 CA8,自動刷新標志位:A10。DQ0-DQ15:數(shù)據(jù)輸入輸出,雙向數(shù)據(jù)總線。 SDR SDRAM的內部功能模塊描述2如圖2-3所示。 圖2-3 SDR SDRAM內部功能模塊Fig. 2-3 SDR SDRAM funcational block diagram從圖2-3中可以看到SDR SDRAM內存的

37、內部功能模塊主要包括有邏輯控制單元(狀態(tài)機)、自刷新控制模塊、行地址和列地址解碼器、模式寄存器、數(shù)據(jù)輸出控制單元、存儲陣列等模塊。模塊為邏輯控制模塊。時鐘信號與控制信號CLK 、CKE ,命令控制信號CS#、RAS#、CAS#、WE#,數(shù)據(jù)掩碼信號UDQM 和LDQM 信號和BANK 選擇信號輸入的邏輯控制單元。這個模塊為輸入信號的編碼狀態(tài)機,主要通過對CKE 、CS#、RAS#、CAS#、WE#這五個控制信號進行編碼產生SDR SDRAM的內部操作命令,來進行對存儲陣列的行、列選取和產生自刷新命令。模塊為自刷新控制模塊。它由刷新定時器和刷新計數(shù)器組成。刷新定時器用來產生一個定時的刷新信號對存

38、儲陣列進行自刷新操作,保證存儲陣列內部數(shù)據(jù)的穩(wěn)定性。刷新計數(shù)器用來控制定時器每隔相同時間發(fā)出刷新命令,這個命令可以由SDR SDRAM內部自動生成,也可以由內存控制器發(fā)送相關命令來生成。模塊是行地址和列地址解碼器。把邏輯控制模塊發(fā)送的行有效、列有效和地址寄存器發(fā)送的地址信號進行解碼,來選取存儲陣列中的數(shù)據(jù)進行操作。模塊是模式寄存器。用來在內存芯片的初始化過程中,配置芯片的寄存器模式設置。模塊是數(shù)據(jù)輸出控制單元。用來發(fā)出控制信號來控制數(shù)據(jù)的傳輸。模塊是內存的存儲整列。它是整個內存存儲器的主體電路,存儲了SDR SDRAM需要存儲的所有數(shù)據(jù)。存儲陣列內部包括了L-Bank 和讀出放大器(S-AMP

39、 )。當BANK 中存儲的數(shù)據(jù)通過行列選擇信號被選中之后,經(jīng)過讀出放大器讀出,并鎖存起來。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個放大/驅動的工作由讀出放大器(S-AMP )負責,其中一個存儲體對應一個S-AMP 通道。但S-AMP 要有一個準備時間才能保證信號的發(fā)送強度,因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個時鐘上升沿開始(此時數(shù)據(jù)即已傳向S-AMP ,也就是說數(shù)據(jù)已經(jīng)被觸發(fā)),經(jīng)過一定的驅動時間,到最終傳向數(shù)據(jù)I/O總線進行輸出,這段時間稱之為tAC (Access-Time-from-CLK ,時鐘觸發(fā)后的訪問時間)。tAC 的單位是

40、ns ,對于不同的頻率有不同的明確規(guī)定,tAC 過大會導致訪問時過長而使效率降低。比如PC133的時鐘周期為7.5ns ,tAC 則是5.4ns 。需要強調的是,每個數(shù)據(jù)在讀取時都有tAC ,包括在連續(xù)讀取中,只是在進行第一個數(shù)據(jù)傳輸?shù)耐瑫r就開始了第二個數(shù)據(jù)的tAC 。(二 D DR SDRAM 引腳定義和內部結構 DDR SDRAM內存芯片的接口信號3說明:對比表2-1的接口信號描述,DDR 由于使用了SSTL 接口標準和DQS 技術,只是比表2-1中的接口信號多增加了CLK#、VREF 和DQS 三個接口信號,這里只作敘述,不再以列表顯示。它們的功能描述分別為:CLK#:與原有CLK 時鐘

41、信號組成一組差分信號,由于數(shù)據(jù)是在CK 的上下沿觸發(fā),造成傳輸周期縮短了一半。為保證傳輸周期的穩(wěn)定以確保數(shù)據(jù)的正確傳輸和CK 的上下沿間距的精確控制,引入/CLK信號起到觸發(fā)時鐘校準的作用。VREF :VREF 接口(參考電壓),VREF 接口電壓為SSTL 接口標準提供參考電壓。DQS :DQS 接口(數(shù)據(jù)選通信號),它是雙向的數(shù)據(jù)同步信號。當數(shù)據(jù)讀取時,數(shù)據(jù)在DQS 的穩(wěn)態(tài)(高電平或者低電平的中央位置)被鎖存;當數(shù)據(jù)寫入時,數(shù)據(jù)在DQS 的邊沿被觸發(fā)。DDR SDRAM的內部功能模塊3描述如圖2-4所示。 器圖2-4 DDR SDRAM內部功能模塊Fig. 2-4 DDR SDRAM fu

42、ncational block diagram從圖2-4中可以看到DDR SDRAM的內部功能模塊和SDR SDRAM基本上是一樣的,這是因為DDR SDRAM 是在SDRAM 的內部架構上發(fā)展而來的。除了新增的功能外,DDR SDRAM和SDRAM 的存儲數(shù)據(jù)模塊、選通讀取模塊和控制命令編碼解碼等基本模塊都是相同的,下面只介紹DDR SDRAM內部結構中新增模塊的主要功能。模塊是2位預取模塊。包括2位預取單元寫數(shù)據(jù)寄存器和2位預取的讀通道兩部分。2位預取單元寫數(shù)據(jù)寄存器為內存在寫數(shù)據(jù)的時候進行2位預取寫,即存儲陣列L-Bank 一次可以寫入兩倍于芯片位寬的數(shù)據(jù)量,DQ 寫入的數(shù)據(jù)先存入寄存器

43、再由寄存器寫入L-Bank 中。2位預取的讀通道為內存讀數(shù)據(jù)時進行2位預取讀數(shù)據(jù),即存儲陣列L-Bank 一次可以讀出兩倍于芯片位寬的數(shù)據(jù)量。這兩個部分組成的預取模塊可以使L-Bank 一次存取兩倍于芯片位寬的數(shù)據(jù)。模塊是DLL 模塊。用于產生延遲鎖定回路,修正內部時鐘與外部時鐘的同步。DDR SDRAM 有兩個時鐘,外部的總線時鐘和內部的工作時鐘,理論上DDR SDRAM這兩個時鐘應該是同步的,但由于種種原因使兩者很難同步。由于DDR SDRAM的tAC 是因為內部時鐘與外部時鐘有偏差而引起的,它很可能造成因數(shù)據(jù)不同步而產生錯誤。實際上不同步就是一種正/負延遲,如果延遲不可避免,那么若是設定

44、一個延遲值,那么內外時鐘的上升與下降沿還是同步的。鑒于外部時鐘周期也不會完全統(tǒng)一,所以需要根據(jù)外部時鐘動態(tài)修正內部時鐘的延遲來實現(xiàn)與外部時鐘的同步,這就是DLL (Delay Lock Loop)所要完成的工作。模塊是數(shù)據(jù)選通信號模塊。用于接收/發(fā)送DQS 信號,DQS 在輸入緩沖和輸出緩沖中作為數(shù)據(jù)的選通信號進行控制數(shù)據(jù)的讀寫。(三 D DR2 SDRAM 引腳定義和內部結構 DDR2 SDRAM內存芯片的接口信號4說明:DDR2比DDR 多了一個ODT 接口和可選的一組差分RDQS ,RDQS#接口。 ODT (On-Die Termination):輸入接口,讓信號在電路的終端被吸收掉,

45、而不會在電路上形成反射進而影響接收端的信號品質。在DDR SDRAM應用電路上,控制與數(shù)據(jù)信號的終結都在主板上完成,每塊DDR 主板在DIMM 槽的旁邊都會有一排終結電阻。長期以來信號終結電路一直是DDR 主板設計上的一個難點。而ODT 的出現(xiàn),將終結電阻移植到了芯片內部,從而簡化了DDR2主板設計。內存芯片通過下達EMRS 命令(Extended Mode Register Set),打開/關閉ODT, 或者是更改終結電阻的阻值。RDQS ,RDQS#:僅用于64M*8規(guī)格的DDR2 SDRAM內存芯片的冗余數(shù)據(jù)選通,在EMR 寄存器中設置RDQS 使能還是禁止。當使能的時候,RDQS 僅作

46、為讀數(shù)據(jù)的輸出且在寫數(shù)據(jù)的時候被忽略。RDQS#僅在差分數(shù)據(jù)選通模式被使能后配合RDQS 使用。DDR2 SDRAM內存的內部功能模塊4描述如圖2-5所示。從圖2-5中可以看DDR2和DDR 的結構除了模塊是完全相同的。模塊的作用是由邏輯控制單元(狀態(tài)機)產生的ODT 控制信號對內存的ODT 控制進行參數(shù)設置。DLL clkOCD 控制圖2-5 DDR2內部功能模塊Fig. 2-5 DDR2 funcational block diagram2.2 SDR SDRAM和DDR/DDR2 SDRAM的功能描述在本節(jié)中的功能描述部分主要參考了JEDEC 組織發(fā)布的關于SDR SDRAM和DDR/D

47、DR2 SDRAM的技術規(guī)范標準2,3,4,通過研究技術規(guī)范標準中的工作流程,使設計出的內存控制器在其它規(guī)格的內存芯片中都能夠很好的適用。SDR SDRAM和DDR/DDR2 SDRAM的上電和初始化過程都必須嚴格按照預定義的時序進行操作,以確保芯片能進入正常的工作狀態(tài)。SDR/DDR/DDR2 SDRAM的初始化過程不完全相同,其中SDR SDRAM初始化過程6為:1. 系統(tǒng)上電后,保持200us 等待電源和時鐘穩(wěn)定。 2. 對器件的所有Bank 發(fā)預沖命令(Precharge ALL)。 3. 發(fā)出八個自動刷新命令(AutoRefresh )。4. 執(zhí)行配置模式寄存器命令來設置器件的工作模

48、式。 5. 初始化過程結束,可以進行正常讀寫訪問。DDR2和DDR 的初始化過程7,8,9大體是相同的,只需要在DDR2的初始化過程中省略配置擴展模式寄存器(2)和(3)和OCD 阻抗的調整就可以完成DDR 的初始化7,8。具體步驟如下:1. 系統(tǒng)上電后,保持CKE 為低電平,等待電源和時鐘信號穩(wěn)定。2. 當電源和時鐘信號穩(wěn)定至少200us ,使用NOP/Deselect操作同時拉高使能信號CKE 。3. 等待至少400us 后對所有Bank 發(fā)預沖命令(Precharge ALL),在這期間需要發(fā)布NOP/Deselect操作。4. 執(zhí)行配置擴展模式寄存器(2)設置命令。 5. 執(zhí)行配置擴展

49、模式寄存器(3)設置命令。6. 執(zhí)行配置擴展模式寄存器命令使能延時鎖定環(huán)路(DLL )。 7. 執(zhí)行配置模式寄存器命令復位延時鎖定環(huán)路。 8. 執(zhí)行對所有Bank 發(fā)預沖命令(Precharge ALL)。 9. 執(zhí)行至少兩次刷新命令(Refresh )。SDR SDRAM和DDR/DDR2 SDRAM 在初始化過程中都要對寄存器進行模式設置。不同點在于,SDR 只進行寄存器模式設置(MR )11。DDR 分別進行寄存器模式設置(MR )和擴展寄存器模式設置(EMR )12,13。DDR2要進行擴展寄存器模式設置2(EMR2)、擴展寄存器模式設置3(EMR3)、擴展寄存器模式設置(EMR )和

50、寄存器模式設置(MR )14。模式寄存器設置是通過命令中的地址位BA0和BAl 來選擇要設置的模式寄存器(MRS )和擴展模式寄存器(EMRS )。寄存器模式選擇描述如表2-2所示。表2-2 寄存器模式選擇 Table 2-2 Mode Register Set寄存器模式選擇模式寄存器設置 擴展模式寄存器1 設置 擴展模式寄存器2設置 擴展模式寄存器3設置寄存器模式設置(Mode Register Setting)模式寄存器中的數(shù)據(jù)用于控制SDR 和DDR/DDR2的不同操作模式,如圖2-6所示。模式寄存器的設置包括CAS 延遲(CAS Latency)、突發(fā)長度(Burst Length)、

51、突發(fā)順序(Burst Type)、測試模式、DLL 復位、寫恢復WR (Write Recovery)、電源關閉PD (Power down )等各選項。模式寄存器沒有默認值,因此必須在加電之后寫入。當所有存儲器處于預加電狀態(tài)時,通過將CS#、RAS#、CAS#、WE#、BA0、BAl 置低來發(fā)布模式寄存器設定命令,操作數(shù)通過地址腳A0A13同步送出來配置模式寄存器命令改變。模式寄存器依照功能被劃分為不同的字段,A0A2用來設定突發(fā)長度是1、2、4、8還是全頁。A3定義了突發(fā)地址順序是順序式還是插入式。其中DDR 不支持全頁和1的突發(fā)長度,DDR2不支持全頁、1和2的突發(fā)長度。一次突發(fā)的訪問順

52、序由突發(fā)長度、突發(fā)類型及起始列地址來決定。A4A6定義了CAS 延遲,其中DDR2不支持半時鐘延遲。A7設定測試模式,其中SDR 不支持測試模式,該模式為制造商做測試芯片性能使用,一般情況下不需要對此位進行設置。A8設定DLL 復位,SDR 沒有DLL 復位功能。需要注意的是,當DDR/DDR2 SDRAM的DLL RESET功能被使能后,20個時鐘周期后才能發(fā)布 READ命令。由于DLL 用于內部時鐘和外部時鐘的同步,如果沒有等到同步的出現(xiàn),會導致tAC 或tDQSCK 參數(shù)的沖突。A9A11定義了寫恢復時間WR 。其中WR 的時鐘周期數(shù)WRcycles=tWR(ns )/tCK(ns )。

53、自動預加電后寫恢復時間的最小值WRmin 由tCKmax 決定,最大值WRmax 由tCKmin 決定,模式寄存器必須把WR 配置為WRcycles=tWR(ns )/tCK(ns )算出來的值,它的取值可以為2、3、4、5和6。A12定義了電源關閉模式,其中SDR 和DDR 不支持此模式。A13為保留位,是為未來使用保留的,設置模式寄存器時必須設為03,4,14。圖2-6 模式寄存器設置(MRS )Fig. 2-6 Mode Register Set擴展寄存器模式設置(EMR )擴展模式寄存器(EMR )控制模式寄存器控制功能以外的功能,這些額外的功能包括DLL 使能、輸出驅動強度、片內(O

54、DT )(Rtt )、附加潛伏期、片外驅動校調(OCD )、DQS/DQS#使能、RDQS/RDQS#使能和輸出使能14。擴展模式寄存器依照功能被劃分為不同的字段,見圖2-7。 圖2-7 擴展模式寄存器設置(EMRS )Fig. 2-7 Extended Mode Register SetA. 離線驅動(OCD )阻抗調整OCD (Off-Chip Driver)的原理是通過調整I/O接口的電壓(驅動強度),來補償上拉與下拉電阻值,目的是讓DQS 與DQ 之間的時間偏差降至最小,進而提高信號的完整性。由于在一般情況下電子設備對應用環(huán)境穩(wěn)定度要求并不太高,DDR2的差分DQS 就基本可以保證同步

55、的準確性,因此OCD 功能主要應用在對環(huán)境穩(wěn)定度要求高的地方,如服務器領域15。OCD 阻抗調整保證DDR2 SDRAM的所有DQ 端輸出阻抗為相同的驅動強度。當寄存器處于OCD 模式時不能進行其他操作,否則必須先退出OCD 模式4。OCD 設置流程圖如圖2-8所示。圖2-8 離線驅動(OCD )模式流程圖 Fig. 2-8 OCD impedance adjustmentblock diagramB. 內建終結電阻(ODT )ODT (On-Die Termination)的作用是讓信號在電路的終端被吸收掉,而不會在電路上形成反射進而影響接收端的信號品質,提高了信號完整性并增加了時序余量。在

56、擴展寄存器模式設置中,可以通過A2和A6位的值來設定ODT 的終端電阻值為50歐姆、 75歐姆、150歐姆或不配置ODT 。芯片通過EMRS (Extended Mode Register Set),打開/關閉ODT ,或者是更改終結電阻的阻值。其中,ODT 所終結的信號包括DQS 、DQ 、DM 4,16。C. Posted CAS 、AL 、WLPosted CAS:前置CAS ,是為了解決DDR 內存中指令沖突而設計的功能。它允許CAS 信號緊隨RAS 發(fā)送,相對于以往的DDR 等于將CAS 前置了。這樣,地址線可以立刻空出來,便于后面的行有效命令發(fā)出,避免造成命令沖突而被迫延后的情況發(fā)

57、生。在沒有前置CAS 功能時,對其他L-Bank 的尋址操作可能會因當前行的CAS 命令占用地址線而延后,并使數(shù)據(jù)I/O總線出現(xiàn)空閑。當使用前置CAS 后,消除了命令沖突并使數(shù)據(jù)I/O總線的利用率提高。DDR2引入Posted CAS以后,真正的讀/寫操作并沒有因此而提前,仍要保證有足夠的延遲/潛伏期,為此,DDR2引入了附加潛伏期的概念(AL ,Additive Latency)。CAS 命令被提前的周期數(shù),與CL 一樣,單位為時鐘周期數(shù)。AL+CL被定義為讀取潛伏期(RL ,Read Latency)。此外,DDR2還對寫入潛伏期(WL ,Write Latency )制定了標準,WL 是

58、指從寫入命令發(fā)出到第一筆數(shù)據(jù)被寫入的潛伏期。按規(guī)定,WL=RL-1,即AL+CL-14,16。另外,EMRS 的操作中還包括了打開/關閉DDR2 SDRAM控制管腳各個DQ 、DQS 和DM (數(shù)據(jù)屏蔽)端,其特點是允許內存控制器能夠獨立的打開/關閉終結電阻,提高了信號的完整性。擴展寄存器模式設置2(EMR2)擴展模式寄存器2(EMR2)定義了與刷新有關的參數(shù)。擴展模式寄存器2沒有默認值,所以必須在上電之后寫入。擴展模式寄存器2依照功能被劃分為不同的字段,如圖2-9所示。擴展模式寄存器2中A0A2定義了局部自刷新(Partial Array Self Refresh)的相關參數(shù)。通過設置局部自刷新的參數(shù),DDR2內存芯片可以選擇只刷新部分邏輯Bank ,而不是全部刷新,從而最大限度的減少因自刷新產生的電力消耗。如果在配置擴展模式寄存器2時,A0A2沒有被設置參數(shù),那么寄存器會自動把A0A2設置為000。A3數(shù)據(jù)位定義了DCC (Duty-Cycle c

溫馨提示

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

評論

0/150

提交評論