基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文_第1頁
基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文_第2頁
基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文_第3頁
基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文_第4頁
基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)畢業(yè)論文 基于EPM240的SDRAM存儲(chǔ)器接口實(shí)現(xiàn)摘 要隨著信息科學(xué)的飛速開展,人們面臨的信號(hào)處理任務(wù)越來越繁重,對(duì)數(shù)據(jù)采集處理系統(tǒng)的要求也越來越高。單片機(jī)、DSP等微處理器內(nèi)部RAM有限,這就需要在微處理器的外部擴(kuò)展存儲(chǔ)器。同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器具有價(jià)格低廉、密度高、數(shù)據(jù)讀寫速度快的優(yōu)點(diǎn),從而成為數(shù)據(jù)緩存的首選存儲(chǔ)介質(zhì),在數(shù)據(jù)采集系統(tǒng)和圖像處理系統(tǒng)等方面中有著重要和廣泛的應(yīng)用。SDRAM 的讀寫邏輯復(fù)雜,最高時(shí)鐘頻率達(dá)100MHz 以上,普通單片機(jī)無法實(shí)現(xiàn)復(fù)雜的SDRAM 控制操作。復(fù)雜可編程邏輯器件CPLD具有編程方便,集成度高,速度快,價(jià)格低等

2、優(yōu)點(diǎn)。因此選用 CPLD 設(shè)計(jì)SDRAM 接口控制模塊, 簡化主機(jī)對(duì)SDRAM 的讀寫控制。通過設(shè)計(jì)基于CPLD 的SDRAM 控制器接口,可以在STM系列、ARM系列、STC系列等單片機(jī)和DSP等微處理器的外部連接SDRAM,增加系統(tǒng)的存儲(chǔ)空間。論文開始介紹了SDRAM接口設(shè)計(jì)研究的背景和研究的目的及意義,引出對(duì)SDRAM的研究,詳細(xì)介紹了SDRAM的根本原理、內(nèi)部結(jié)構(gòu)、根本操作和工作時(shí)序,以及設(shè)計(jì)的重點(diǎn)及難點(diǎn)。在這些理論根底上對(duì)SDRAM接口進(jìn)行模塊化設(shè)計(jì),了解設(shè)計(jì)中所使用的硬件和軟件。最后用軟件Quatus設(shè)計(jì)芯片,件實(shí)現(xiàn)關(guān)鍵詞SDRAM;VerilogCPLDThe Implement

3、ation of SDRAM Memory Interface Based on the EPM240 AbstractWith the rapid development of information science, people face more and more onerous task of signal processing, the requirements of data acquisition and processing system are getting higher and higher. Microprocessor such as single-chip mic

4、roprocessor, DSP etc, their RAM is limited, which requires external expansion in the microprocessor memory. Synchronous Dynamic Random Access Memory has a low cost, high density, fast read and write data on the merits, thereby becoming the first choice for data cache storage medium, which paly an im

5、portant role and widely used in the data acquisition system and image processing systems. SDRAM read and write logic is complex, the imum clock frequency reaches above 100MHz, the ordinary microcontroller can not achieve complex SDRAM control operation. Complex programmable logic device has advantag

6、es such as programming convenience, high integrity, high speed and low cost etc. Therefore select CPLD to design control module of SDRAM interface , to simplify the host to read and write control of the SDRAM. Through the design of SDRAM controller interface based on CPLD, you can connect SDRAM in t

7、he external of STM series, ARM series, STC series single chip microprocessor and the DSP, increase system storage space. At the beginning of paper introduces the research background, research purpose and significance of the study of SDRAM interface design, leads to the study of SDRAM, detailed intro

8、duces information of SDRAM about the basic principles, the internal structure, the basic operation and timing of work, and the design emphasis and difficulty. Based on these theories, modularing the design of SDRAM interface, understanding hardware and software used in the design. Finally, it uses V

9、erilog language in Quartus software to design CPLD chip, Through the hardware and the software realization SDRAM the commissioning of the basic design of the interface. Keywords SDRAM; Interface; Verilog; CPLD 目錄摘要IAbstractII第1章 緒 論11.1 課題背景11.2 課題研究的目的及意義11.3 同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器簡介21.4 論文的結(jié)構(gòu)和框架3第2章 SDRAM的工作原理

10、42.1 存儲(chǔ)器的概述4 存儲(chǔ)器的分類4 存儲(chǔ)器的技術(shù)指標(biāo)5 存儲(chǔ)器的比擬52.2 SDRAM的工作原理6 SDRAM存儲(chǔ)的根本原理6 SDRAM的內(nèi)部結(jié)構(gòu)72.3 本章小結(jié)8第3章 SDRAM的根本操作93.1 SDRAM的根本操作9 芯片初始化9 行有效9 列讀寫10 讀操作11 寫操作123.2 SDRAM的工作特性13 模式存放器的設(shè)置13 預(yù)充電14 刷新153.3 SDRAM接口設(shè)計(jì)的要求16 存儲(chǔ)器接口解決數(shù)據(jù)存取的難點(diǎn)17 存儲(chǔ)器接口在工作方式上的初步優(yōu)化173.4 本章小結(jié)18第4章 系統(tǒng)結(jié)構(gòu)及硬件設(shè)計(jì)194.1 SDRAM接口設(shè)計(jì)的整體結(jié)構(gòu)19 控制接口模塊19 CAS延遲

11、模塊20 突發(fā)長度模塊22 地址轉(zhuǎn)換模塊224.2 EPM240芯片簡介23 系列芯片功能簡介24 邏輯陣列25 全局時(shí)鐘25 I/O端口結(jié)構(gòu)264.3 MT48LC系列芯片簡介264.4 本章小結(jié)29第5章 軟件設(shè)計(jì)與實(shí)現(xiàn)305.1 利用Quartus進(jìn)行設(shè)計(jì)的流程305.2 軟件的設(shè)計(jì)31 Verilog語言的特點(diǎn)31 采用Verilog設(shè)計(jì)綜合的過程32 SDRAM接口設(shè)計(jì)的仿真345.3 本章小結(jié)36結(jié) 論37致 謝38參考文獻(xiàn)39附 錄41緒論千萬不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印。在目錄上點(diǎn)右鍵“更新域,然后“更新整個(gè)目錄。打印前,不要忘記把上面“Abstract這一行后加一空行

12、緒 論數(shù)據(jù)采集處理技術(shù)是現(xiàn)代信號(hào)處理的根底,廣泛應(yīng)用于雷達(dá)、聲納、軟件無線電、瞬態(tài)信號(hào)測試等領(lǐng)域。隨著信息科學(xué)的飛速開展,人們面臨的信號(hào)處理任務(wù)越來越繁重,對(duì)數(shù)據(jù)采集處理系統(tǒng)的要求也越來越高1。近年來復(fù)雜可編程邏輯器件 CPLD,Complex Programable Logic Device 由于其設(shè)計(jì)靈活性、更強(qiáng)的適應(yīng)性及可重構(gòu)性,結(jié)合同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器 SDRAM,Synchronous Dynamic Random Access Memory 的高速、大容量、價(jià)格優(yōu)勢(shì),在設(shè)計(jì)高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)時(shí)受到了廣泛的關(guān)注。SDRAM 同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器 具有價(jià)格低廉、密度高、數(shù)據(jù)讀寫速

13、度快的優(yōu)點(diǎn),從而成為數(shù)據(jù)緩存的首選存儲(chǔ)介質(zhì)。SDRAM的讀寫邏輯復(fù)雜,最高時(shí)鐘頻率達(dá)100MHz 以上,普通單片機(jī)無法實(shí)現(xiàn)復(fù)雜的SDRAM 控制操作。復(fù)雜可編程邏輯器件 CPLD 具有編程方便,集成度高,速度快,價(jià)格低等優(yōu)點(diǎn),因此選用 CPLD 設(shè)計(jì)SDRAM 接口控制模塊, 簡化主機(jī)對(duì)SDRAM 的讀寫控制。通過設(shè)計(jì)基于CPLD 的SDRAM 控制器接口可以在微處理器如單片機(jī)、DSP Digital Singnal Processor,數(shù)字信號(hào)處理 外部連接SDRAM,增加系統(tǒng)的存儲(chǔ)空間。為了更好地把握SDRAM在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,本章將簡要介紹SDRAM的根本情況,說明論文的研究目的及

14、意義。 課題研究的目的及意義隨著內(nèi)存SDRAM技術(shù)廣泛的應(yīng)用,如何更好的控制片外SDRAM的讀寫,使之到達(dá)最大的帶寬利用率,如何盡可能的相對(duì)降低讀寫數(shù)據(jù)的延遲,隱藏讀寫命令發(fā)送到接收數(shù)據(jù)之間的延遲,已經(jīng)成了各大芯片廠商,各大FPGA/CPLD供給商的爭相研究的熱點(diǎn)。由于SDRAM最高頻率到達(dá)100MHz以上,在如此的高頻下在時(shí)鐘上下邊沿穩(wěn)定讀寫數(shù)據(jù)也成了最大的難題之一。設(shè)計(jì)SDRAM存儲(chǔ)器接口不僅要非常了解SDRAM工作特性,時(shí)序要求而且整個(gè)過程覆蓋前端設(shè)計(jì),前端驗(yàn)證,綜合,Timing分析,布局布線及CPLD調(diào)試,是一個(gè)很有挑戰(zhàn)性的研究方向,也很有現(xiàn)實(shí)意義。在設(shè)計(jì)優(yōu)化的同時(shí)既要考慮不同頻率的

15、兼容性,又要考慮不同類型存儲(chǔ)器的兼容性,還需考慮板上走線,對(duì)個(gè)人能力來說是一個(gè)很好的鍛煉。此次將SDRAM存儲(chǔ)器接口的設(shè)計(jì)作為畢業(yè)論文,不僅是對(duì)四年來所學(xué)知識(shí)的歸納與總結(jié),更是對(duì)自己的肯定,通過這次設(shè)計(jì)讓我對(duì)IC領(lǐng)域有了真切的體會(huì),在工程中鍛煉提高自己,在實(shí)踐中使理論更好的得到應(yīng)用。 同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器簡介同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器英文全稱為Synchronous Dynamic Random Access Memory,簡稱SDRAM 下文提到時(shí)都用SDRAM表示 。SDRAM器件的管腳分為控制信號(hào)、地址和數(shù)據(jù)三類。通常一個(gè)SDRAM中包含幾個(gè)B每個(gè)B的存儲(chǔ)單元是按行和列尋址的。由于這種特殊的存儲(chǔ)結(jié)

16、構(gòu),SDRAM有以下幾個(gè)工作特性SDRAM的初始化SDRAM在上電100200s后,必須由一個(gè)初始化進(jìn)程來配置SDRAM的模式存放器,模式存放器的值決定著SDRAM的工作模式。訪問存儲(chǔ)單元為減少I/O引腳數(shù)量,SDRAM復(fù)用地址線,所以在讀寫SDRAM時(shí),先由A命令激活要讀寫的B,并鎖存行地址,然后在讀寫指令有效時(shí)鎖存列地址。一旦B被激活后只有執(zhí)行一次預(yù)充命令后才能再次激活同一B。刷新和預(yù)充SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容總是傾向于放電因此必須有定時(shí)的刷新周期以防止數(shù)據(jù)喪失。刷新周期可由 最小刷新周期時(shí)鐘周期 計(jì)算獲得。對(duì)B預(yù)充電或者關(guān)閉已激活的B,可預(yù)充特定B也可同時(shí)作用于所有BA10

17、、BA0和BA1用于選擇B。操作控制SDRAM的具體控制命令由一些專用控制引腳和地址線輔助完成。CS、RAS、CAS和W在時(shí)鐘上升沿的狀態(tài)決定具體操作動(dòng)作,地址線和B選擇控制線在局部操作動(dòng)作中作為輔助參數(shù)輸入。論文的結(jié)構(gòu)和框架以中為背景,開展了對(duì)其中的研究,重點(diǎn)放在上。下面對(duì)每一章的主要內(nèi)容作一個(gè)概括。對(duì)課題的及做出簡介,并指出論文中待解決的問題。介紹了的根本原理,以及的相關(guān)理論根據(jù),選擇出適合。SDRAM根本操作一章中從理論上詳細(xì)為方案提供必要的理論依據(jù)的系列芯片,為第五章在軟件上實(shí)現(xiàn)做好硬件準(zhǔn)備。主要利用Quatus軟件開發(fā)平臺(tái)對(duì)芯片進(jìn)行編程,實(shí)現(xiàn)。存儲(chǔ)器的種類很多,依據(jù)不同的方法存儲(chǔ)器可

18、以分為很多種,比擬不同的存儲(chǔ)器了解SDRAM的優(yōu)點(diǎn),要實(shí)現(xiàn)SDRAM的接口就要了解SDRAM存儲(chǔ)器的根本原理、內(nèi)部結(jié)構(gòu)和技術(shù)指標(biāo)等,所以本章對(duì)SDRAM的原理、內(nèi)部結(jié)構(gòu)和SDRAM的技術(shù)指標(biāo)作了詳細(xì)的分析。 存儲(chǔ)器的概述存儲(chǔ)器是記憶設(shè)備,用于存放供執(zhí)行的指令計(jì)算或處理的原始數(shù)據(jù)、中間結(jié)果、最終答案的內(nèi)部或者外部器件存儲(chǔ)器的主要功能是程序是計(jì)算機(jī)操作的依據(jù),數(shù)據(jù)是計(jì)算機(jī)操作的對(duì)象。為了實(shí)現(xiàn)自動(dòng)計(jì)算,各種信息必須預(yù)先存放在計(jì)算機(jī)內(nèi)的某個(gè)地方,這個(gè)地方就是存儲(chǔ)器。構(gòu)成存儲(chǔ)器的存儲(chǔ)介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲(chǔ)器中最小的存儲(chǔ)單位就是一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)

19、元,它可存儲(chǔ)一個(gè)二進(jìn)制代碼由假設(shè)干個(gè)存儲(chǔ)元組成一個(gè)存儲(chǔ)單元,然后再由許多存儲(chǔ)單元組成一個(gè)存儲(chǔ)器。在數(shù)據(jù)采集系統(tǒng)當(dāng)中,使用大容量存儲(chǔ)器實(shí)現(xiàn)數(shù)據(jù)緩存是一個(gè)必不可少的環(huán)節(jié),也是系統(tǒng)實(shí)現(xiàn)中的重點(diǎn)和難點(diǎn)之一。SDRAM具有價(jià)格低廉、密度高、數(shù)據(jù)讀寫速度快的優(yōu)點(diǎn),從而成為數(shù)據(jù)緩存存儲(chǔ)器的首選,是動(dòng)態(tài)存儲(chǔ)器系列中使用最廣泛的高速、高容量存儲(chǔ)器。 SDRAM存儲(chǔ)的根本原理SDRAM的根本存儲(chǔ)電路以電荷形式存儲(chǔ)信息,電荷存儲(chǔ)在MOS管柵極和源極之間的極間電容或?qū)iT集成的電容上。電容充電成高電位后,表示1,放電后表示0。根據(jù)使用的三極管數(shù)量不同,有六管型、四管型、三管型和單管型,其中,單管型由于結(jié)構(gòu)簡單、集成度高

20、而得到廣泛應(yīng)用。圖2-1單管動(dòng)態(tài)存儲(chǔ)元單管動(dòng)態(tài)存儲(chǔ)元如圖2-1所示。圖2-1單管動(dòng)態(tài)存儲(chǔ)元數(shù)據(jù)以電荷形式存儲(chǔ)在電容Cs上,Co表示數(shù)據(jù)線的分布電容,三極管T用做開關(guān)。行選信號(hào)高電平有效時(shí)T導(dǎo)通,電路可以進(jìn)行讀/寫操作。寫入時(shí),行選信號(hào)為高電平,T導(dǎo)通,數(shù)據(jù)線上的信息經(jīng)過T送入Cs。當(dāng)數(shù)據(jù)為邏輯1時(shí),Cs被充電至高電平,反之被放電為低電平。讀出操作前,先將數(shù)據(jù)線充電至一個(gè)低于電源電壓,且在Cs代表邏輯l和邏輯0時(shí)的電壓之間的正電壓。讀出時(shí),高電平的行選信號(hào)使T導(dǎo)通,Cs與數(shù)據(jù)線連通,原來存儲(chǔ)在Cs上的電荷和Co上的電荷在兩者之間重新分配。根據(jù)數(shù)據(jù)線上讀出電壓的增量判斷是讀1還是讀0,再經(jīng)過高靈敏

21、度的讀出放大器輸出。讀出操作完成后,由于電荷的重新分配,使電路原來存儲(chǔ)的信息遭到破壞,因此,必須進(jìn)行重寫。行選信號(hào)低電平時(shí)T截止,Cs上的電荷由于沒有回路被保存下來。但是,由于MOS管存在一定的泄漏電流,使Cs上的電荷不斷泄放,再加上Cs存儲(chǔ)的電量很小,電荷保存時(shí)間不長,所以動(dòng)態(tài)存儲(chǔ)器每隔一段時(shí)間就需刷新一次,在700C情況下,典型的刷新時(shí)間間隔一般為2ms。 SDRAM的內(nèi)部結(jié)構(gòu)SDRAM的內(nèi)部是一個(gè)存儲(chǔ)陣列,因?yàn)槿绻枪艿朗酱鎯?chǔ),就很難做到隨機(jī)訪問了。陣列就如同表格一樣,將數(shù)據(jù)“填進(jìn)去,可以把它想象成一張表格。和表格的檢索原理一樣,先指定一個(gè)行 Row ,再指定一個(gè)列 Column ,我們

22、就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的根本原理。這個(gè)單元格可稱為存儲(chǔ)單元,那么這個(gè)表格就是邏輯Bank 5 Logical Bank,下文簡稱L-Bank ,下列圖2-2為SDRAM內(nèi)部結(jié)構(gòu)框圖。圖2-2 SDRAM內(nèi)部功能框圖由于技術(shù)、本錢等原因,不可能只做一個(gè)全容量的L-Bank,而且最重要的是,由于SDRAM的工作原理限制,單一的L-Bank將會(huì)造成非常嚴(yán)重的尋址沖突,大幅降低內(nèi)存效率。所以人們?cè)赟DRAM內(nèi)局部割成多個(gè)L-Bank,較早以前是兩個(gè),目前根本都是4個(gè),這也是SDRAM標(biāo)準(zhǔn)中的最高L-Bank數(shù)量。在進(jìn)行尋址時(shí)就要先確定是哪個(gè)L-Bank,然后再在這個(gè)選定的L

23、-Bank中選擇相應(yīng)的行與列進(jìn)行尋址,一次只能是一個(gè)L-Bank工作。L-Bank中的存儲(chǔ)單元稱為Word 此處代表位的集合而不是字節(jié)的集合 。SDRAM內(nèi)存芯片一次傳輸率的數(shù)據(jù)量就是芯片位寬,那么這個(gè)存儲(chǔ)單元的容量就是芯片的位寬 也是L-Bank的位寬 ,這種關(guān)系僅對(duì)SDRAM有效。L-Bank中的存儲(chǔ)單元是根本的存儲(chǔ)單元,它的容量是假設(shè)干bit,對(duì)于SDRAM而言,就是芯片的位寬,而每個(gè)bit那么是存放與一個(gè)單獨(dú)的存儲(chǔ)體中。這些存儲(chǔ)體就是內(nèi)存中的最小儲(chǔ)存單元。存儲(chǔ)單元數(shù)量 行數(shù)×列數(shù) 得到一個(gè)L-Bank的存儲(chǔ)單元數(shù)量 ×L-Bank的數(shù)量在很多內(nèi)存產(chǎn)品介紹文檔中,都會(huì)

24、用M×W的方式來表示芯片的容量 或者說是芯片的規(guī)格/組織結(jié)構(gòu) 。M是該芯片中存儲(chǔ)單元的總數(shù),單位是兆 英文簡寫M,精確值是1048576,而不是1000000 ,W代表每個(gè)存儲(chǔ)單元的容量,也就是SDRAM芯片的位寬 Width ,單位是bit。計(jì)算出來的芯片容量也是以bit為單位,但用戶可以采用除以8的方法換算為字節(jié) Byte 。比方8M×8,這是一個(gè)8bit位寬芯片,有8M個(gè)存儲(chǔ)單元,總?cè)萘渴?4Mbit 8MB 。本章小結(jié)圖3-1 初始化過程 行有效初始化完成后,就要對(duì)一個(gè)L-Bank中的陣列進(jìn)行尋址,首先就要確定行 Row ,使之處于激活狀態(tài) Active ,然后再確

25、定列,雖然之前要進(jìn)行片選和L-Bank的定址,但它們與行有效可以同時(shí)進(jìn)行。從圖3-2中可以看出,在CS#、L-Bank定址的同時(shí),RAS Row Address Strobe,行地址選通脈沖 也處于有效狀態(tài)。此時(shí)An地址線那么發(fā)送具體的行地址。如圖中是A0A12,共有13個(gè)地址線,由于是二進(jìn)制表示法,所以共有8192個(gè)行 213 8192 ,A0Al2的不同數(shù)值就確定了具體的行地址。由于行有效的同時(shí)也是相應(yīng)L-Bank有效,所以行有效也可稱為L-Bank有效。圖3-2 行有效時(shí)序圖 列讀寫行地址確定之后,就要對(duì)列地址進(jìn)行尋址了。但是,地址線仍然是行地址所用的A0A12。在SDRAM中,行地址與

26、列地址線是共用的,讀/寫的命令的發(fā)出介紹如下,其實(shí)沒有一個(gè)信號(hào)是發(fā)送讀或?qū)懙拿鞔_命令的,而是通過芯片的可寫狀態(tài)的控制來到達(dá)讀/寫的目的。顯然WE#信號(hào)就是一個(gè)關(guān)鍵,當(dāng)WE#無效時(shí),執(zhí)行讀取命令。列尋址信號(hào)與讀寫命令是同時(shí)發(fā)出的,雖然地址線與行尋址共用,但以CAS Column Address Strobe,列地址選通脈沖 7信號(hào)那么可以區(qū)分開行與列尋址的不同,配合A0A9 本例 來確定具體的列地址。時(shí)序圖如圖3-3所示。然而,在發(fā)送列讀寫命令時(shí)必須要與行有效命令有一個(gè)間隔,這個(gè)間隔被定義為tRCD,即RAS to CAS Delay RAS至CAS延遲 8,也可以理解為行選通周期,這應(yīng)該是根據(jù)

27、芯片存儲(chǔ)陣列電子元件響應(yīng)時(shí)間 從一種狀態(tài)到另一種狀態(tài)變化的過程 所制定的延遲。tRCD是SDRAM的一個(gè)重要時(shí)序參數(shù),廣義的tRCD以時(shí)鐘周期 tCK,Clock Time 數(shù)為單位,比方tRCD 2,就代表延遲周期為兩個(gè)時(shí)鐘周期,具體到確切的時(shí)間,那么要根據(jù)時(shí)鐘頻率而定,對(duì)于PC100 SDRAM,tRCD 2,代表20ns的延遲,對(duì)于PC133那么為15ns。注意,PC100 SDRAM的時(shí)鐘頻率為l00MHz,數(shù)據(jù)傳輸頻率不一定等于時(shí)鐘頻率,但是一定以它為基準(zhǔn)。圖3-4為tRCD 3時(shí)的時(shí)序圖。圖3-3 讀寫操作時(shí)序圖圖3-4 tRCD 3的時(shí)序圖 讀操作選定列地址后,就已經(jīng)確定了具體的

28、存儲(chǔ)單元,接下來就是數(shù)據(jù)通過數(shù)據(jù)I/O通道 DQ 輸出到內(nèi)存總線上。但是在CAS發(fā)出之后,仍要經(jīng)過一定的時(shí)間才能有數(shù)據(jù)輸出,從CAS與讀取命令發(fā)出到第一個(gè)數(shù)據(jù)輸出的這段時(shí)間,被定義為CL CAS Latency,CAS潛伏期 。由于CL只在讀取時(shí)出現(xiàn),所以CL又被稱為讀取潛伏期 RL,Read Latency 。CL的單位與tRCD9一樣,為時(shí)鐘周期數(shù),具體耗時(shí)由時(shí)鐘頻率決定。CAS并不是在經(jīng)過CL周期之后才送達(dá)存儲(chǔ)單元,實(shí)際上CAS與RAS一樣是瞬間到達(dá)的,但CAS的響應(yīng)時(shí)間要更快一些。原因如下:假設(shè)芯片位寬為n個(gè)bit,列數(shù)為c,那么一個(gè)行地址要選通n×c個(gè)存儲(chǔ)體,而一個(gè)列地址只

29、需選通n個(gè)存儲(chǔ)體。但存儲(chǔ)體中晶體管的反響時(shí)間仍會(huì)造成數(shù)據(jù)不可能與CAS在同一上升沿觸發(fā),肯定要延后至少一個(gè)時(shí)鐘周期。由于芯片體積的原因,存儲(chǔ)單元中的電容容量很小,所以信號(hào)要經(jīng)過放大來保證其有效的識(shí)別性,這個(gè)放大/驅(qū)開工作由S-AMP Sense Amplifier 負(fù)責(zé),一個(gè)存儲(chǔ)體對(duì)應(yīng)一個(gè)S-AMP通道10。但它要有一個(gè)準(zhǔn)備時(shí)間才能保證信號(hào)的發(fā)送強(qiáng)度 事前還要進(jìn)行電壓比擬以進(jìn)行邏輯電平的判斷 ,因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個(gè)時(shí)鐘上升沿開始,數(shù)據(jù)即已傳向S-AMP,也就是說此時(shí)數(shù)據(jù)已經(jīng)被觸發(fā),經(jīng)過一定的驅(qū)動(dòng)時(shí)間最終傳向數(shù)據(jù)I/O總線進(jìn)行輸出,這段時(shí)間我們稱之為tAC Access T

30、ime from CLK,時(shí)鐘觸發(fā)后的訪問時(shí)間 ,tAC的單位是ns,對(duì)于不同的頻率各有不同的明確規(guī)定,但必須要小于一個(gè)時(shí)鐘周期,否那么會(huì)因訪問時(shí)過長而使效率降低。比方PC133的時(shí)鐘周期為7.5ns,tAC那么是5.4ns。需要強(qiáng)調(diào)的是,每個(gè)數(shù)據(jù)在讀取時(shí)都有tAC。包括在連續(xù)讀取中,只是在進(jìn)行第一個(gè)數(shù)據(jù)傳輸?shù)耐瑫r(shí)就開始了第二個(gè)數(shù)據(jù)的tAC。 圖3-5 CL 2與tAC示意圖上圖為CL 2與tAC示意圖,CL的數(shù)值不能超出芯片的設(shè)計(jì)標(biāo)準(zhǔn),否那么會(huì)導(dǎo)致內(nèi)存的不穩(wěn)定,而且它也不能在數(shù)據(jù)讀取前臨時(shí)更改。CL周期在開機(jī)初始化過程中的MRS階段進(jìn)行設(shè)置,在BIOS中一般都允許用戶對(duì)其調(diào)整,然后BIOS控

31、制北橋芯片在開機(jī)時(shí)通過A4A6地址線對(duì)MR中CL存放器的信息進(jìn)行更改。 寫操作數(shù)據(jù)寫入的操作也是在tRCD之后進(jìn)行,但此時(shí)沒有了CL 記住,CL只出現(xiàn)在讀取操作中 ,行尋址與列尋址的時(shí)序圖和上文一樣,只是在列尋址時(shí),WE#為有效狀態(tài)。從圖3-6中可見,由于數(shù)據(jù)信號(hào)由控制端發(fā)出,輸入時(shí)芯片無需做任何調(diào)整,只需直接傳到數(shù)據(jù)輸入存放器中,然后再由寫入驅(qū)動(dòng)器進(jìn)行對(duì)存儲(chǔ)電容的充電操作,因此數(shù)據(jù)可以與CAS同時(shí)發(fā)送,也就是說寫入延遲為0。不過,數(shù)據(jù)并不是即時(shí)地寫入存儲(chǔ)電容,因?yàn)檫x通三極管 就如讀取時(shí)一樣 與電容的充電必須要有一段時(shí)間,所以數(shù)據(jù)的真正寫入需要一定的周期。為了保證數(shù)據(jù)的可靠寫入,都會(huì)留出足夠的

32、寫入/校正時(shí)間 tWR,Write Recovery Time ,這個(gè)操作也被稱作寫回 Write Back 。tWR至少占用一個(gè)時(shí)鐘周期或再多一點(diǎn) 時(shí)鐘頻率越高,tWR占用周期越多 。圖3-6 數(shù)據(jù)寫入時(shí)序圖 SDRAM的工作特性SDRAM稱為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指其時(shí)鐘頻率與CPU前端總線的系統(tǒng)時(shí)鐘頻率相同,SDRAM可以使所有的輸入輸出信號(hào)保持與系統(tǒng)時(shí)鐘同步,并且內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷刷新來保證數(shù)據(jù)不喪失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲(chǔ),而是自由指定地址進(jìn)行數(shù)據(jù)的讀寫。由于SDRAM 為了提高存儲(chǔ)容量, 采用硅片電容來存儲(chǔ)信息, 隨著時(shí)間的

33、推移, 必須給電容重新充電和刷新來保持電容里的數(shù)據(jù)信息, 但使得 SDRAM 的應(yīng)用變得復(fù)雜,帶來了設(shè)計(jì)難度。 模式存放器的設(shè)置Mode Register Set11:模式存放器設(shè)置,是指對(duì)SDRAM的工作方式做一定義,對(duì)存放器的設(shè)置,可以在每次系統(tǒng)啟動(dòng)時(shí),也可以在每次存取之間進(jìn)行,當(dāng)SDRAM掉電時(shí),系統(tǒng)重新啟動(dòng)后必須重寫模式存放器。其空間安排如下表3-1所示:Burst Length:決定當(dāng)接受到一個(gè)讀寫信號(hào)時(shí)可以讀取的最大的列數(shù)目,對(duì)于連續(xù)讀取模式,其值可以為1,2,4,8或整頁full page,當(dāng)為隔行讀取模式是,其值為1,2,4,8。Burst Type:決定讀取模式為連續(xù)方式還是

34、隔行方式。表3-1模式存放器的配置存放器空間Bit數(shù)功能描述A2-A03Burst LengthA31Burst TypeA6-A43CAS LatencyA7-A82Operation ModeA91Write Burst ModeA10,A112ReservedCAS Latency:決定當(dāng)一個(gè)讀信號(hào)有效到第一個(gè)數(shù)值在數(shù)據(jù)線上有效時(shí)之間的間隔延遲時(shí)間,延遲時(shí)間可以設(shè)定為1,2或3個(gè)時(shí)鐘周期。例如:如果延遲時(shí)間為m,讀信號(hào)在n時(shí)刻有效,那么數(shù)據(jù)將在第m+n個(gè)時(shí)鐘信號(hào)有效,如果相應(yīng)的讀取時(shí)間適合的話,而在m+n-1時(shí)刻數(shù)據(jù)線傳送數(shù)據(jù)。Operation Mode:A7-A8表示操作的模式。Wr

35、ite Burst Mode:當(dāng)A9 0時(shí),有A0-A2決定的Burst Length適合于讀和寫兩種操作。而當(dāng)A9 1時(shí),Write只能讀取單一的單元,而不能支持塊操作。Reserved:A10,A11是保存位,為以后的擴(kuò)展使用。 預(yù)充電由于SDRAM的尋址具有獨(dú)占性,所以在進(jìn)行完讀寫操作后,如果要對(duì)同一L-Bank的另一行進(jìn)行尋址,就要將原來有效 工作 的行關(guān)閉,重新發(fā)送行/列地址。L-Bank關(guān)閉現(xiàn)有工作行,準(zhǔn)備翻開新行的操作就是預(yù)充電 Precharge 。預(yù)充電可以通過命令控制,也可以通過輔助設(shè)定讓芯片在每次讀寫操作之后自動(dòng)進(jìn)行預(yù)充電。實(shí)際上,預(yù)充電是一種對(duì)工作行中所有存儲(chǔ)體進(jìn)行數(shù)據(jù)

36、重寫,并對(duì)行地址進(jìn)行復(fù)位,同時(shí)釋放S-AMP 12 重新參加比擬電壓,一般是電容電壓的l/2,以幫助判斷讀取數(shù)據(jù)的邏輯電平,因?yàn)镾-AMP是通過一個(gè)參考電壓與存儲(chǔ)體位線電壓的比擬來判斷邏輯值的 ,以準(zhǔn)備新行的工作。具體而言,就是將S-AMP中的數(shù)據(jù)回寫,即使是沒有工作過的存儲(chǔ)體也會(huì)因行選通而使存儲(chǔ)電容受到干擾,所以也需要S-AMP進(jìn)行讀后重寫。此時(shí),電容的電量 或者說其產(chǎn)生的電壓 將是判斷邏輯狀態(tài)的依據(jù) 讀取時(shí)也需要 ,為此要設(shè)定一個(gè)臨界值,一般為電容電量的1/2,超過它的為邏輯1,進(jìn)行重寫,否那么為邏輯0,不進(jìn)行重寫 等于放電 。為此,現(xiàn)在根本都將電容的另一端接入一個(gè)指定的電壓 即1/2電容

37、電壓 ,而不是接地,以幫助重寫時(shí)的比擬與判斷。在發(fā)出預(yù)充電命令之后,要經(jīng)過一段時(shí)間才能允許發(fā)送RAS行有效命令翻開新的工作行,這個(gè)間隔被稱為tRP Precharge command period,預(yù)充電有效周期 。和tRCD、CL一樣,tRP的單位也是時(shí)鐘周期數(shù),具體值視時(shí)鐘頻率而定。圖3-7 讀取時(shí)預(yù)充電時(shí)序圖圖中設(shè)定:CL 2、BL 4、tRP 2。自動(dòng)預(yù)充電時(shí)的開始時(shí)間與此圖一樣,只是沒有了單獨(dú)的預(yù)充電命令,并在發(fā)出讀取命令時(shí),A10地址線要設(shè)為高電平 允許自動(dòng)預(yù)充電 ??梢娍刂坪妙A(yù)充電啟動(dòng)時(shí)間很重要,它可以在讀取操作結(jié)束后立刻進(jìn)入新行的尋址,保證運(yùn)行效率。寫操作雖然是0延遲進(jìn)行,但每

38、筆數(shù)據(jù)的真正寫入那么需要一個(gè)足夠的周期來保證,這段時(shí)間就是寫回周期 tWR 。所以預(yù)充電不能與寫操作同時(shí)進(jìn)行,必須要在tWR,之后才能發(fā)出預(yù)充電命令,以確保數(shù)據(jù)的可靠寫入,否那么重寫的數(shù)據(jù)可能是錯(cuò)的,這就造成了寫回延遲。圖3-8 寫入時(shí)預(yù)充電時(shí)序圖 刷新SDRAM之所以稱為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,就是因?yàn)樗粩噙M(jìn)行刷新 Refresh 才能保存住數(shù)據(jù),因此它是SDRAM最重要的操作。刷新操作與預(yù)充電中重寫的操作一樣,都是用S-AMP先讀再寫。進(jìn)行預(yù)充電操作還要進(jìn)行刷新的原因:因?yàn)轭A(yù)充電是對(duì)一個(gè)或所有L-Bank中的工作行操作,并且是不定期的,而刷新那么是有固定的周期,依次對(duì)所有行進(jìn)行操作,以保存

39、那些久久沒經(jīng)歷重寫的存儲(chǔ)體中的數(shù)據(jù)。但與所有L-Bank預(yù)充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預(yù)充電中各L-Bank中的工作行地址并不是一定是相同的。目前公認(rèn)的標(biāo)準(zhǔn)是,存儲(chǔ)體中電容的數(shù)據(jù)有效保存期上限是64ms 毫秒,1/1000秒 ,也就是說每一行刷新的循環(huán)周期是64ms,這樣刷新速度就是:行數(shù)量/64ms。內(nèi)存規(guī)格有4096Refresh Cyeles/64ms或8192 Refresh Cycles/64ms的標(biāo)識(shí),這里的4096與8192就代表這個(gè)芯片中每個(gè)L-Bank的行數(shù)。刷新命令一次對(duì)一行有效,發(fā)送間隔也是隨總行數(shù)而變化,4096行時(shí)為0.625ps 微秒

40、,1/1000毫秒 ,8192行時(shí)就為7.8125ps。刷新操作分為兩種:自動(dòng)刷新 Auto Refresh,簡稱AR 與自刷新 Self Refresh,簡稱SR 。不管是何種刷新方式,都不需要外部提供行地址信息,因?yàn)檫@是一個(gè)內(nèi)部的自動(dòng)操作。對(duì)于AR,SDRAM內(nèi)部有一個(gè)行地址生成器 也稱刷新計(jì)數(shù)器 用來自動(dòng)的依次生成行地址。由于刷新是針對(duì)一行中的所有存儲(chǔ)體進(jìn)行,所以無需列尋址,或者說CAS在RAS之前有效。所以,AR又稱CBR12 CAS Before RAS,列提前于行定位 式刷新。由于刷新涉及到所有L-Bank,因此在刷新過程中,所有的Bank都停止工作,而每次刷新所占用的時(shí)間為9個(gè)時(shí)

41、鐘周期 PC133標(biāo)準(zhǔn) ,之后就可進(jìn)入正常的工作狀態(tài),也就是說在這9個(gè)時(shí)鐘期間內(nèi),所有工作指令只能等待而無法執(zhí)行。64ms之后那么再次對(duì)同一行進(jìn)行刷新,如此周而復(fù)始進(jìn)行循環(huán)刷新。顯然,刷新操作肯定會(huì)對(duì)SDR九M的性能造成影響,但卻不可或缺,也是DRAM相對(duì)于SRAM 靜態(tài)內(nèi)存,無需刷新仍能保存數(shù)據(jù) 取得本錢優(yōu)勢(shì)的同時(shí)所付出的代價(jià)。SR那么主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,這方面最著名的應(yīng)用就是STR Suspend to RAM,休眠掛起于內(nèi)存 13。在發(fā)出AR命令時(shí),將CKE置于無效狀態(tài),就進(jìn)入了SR模式,此時(shí)不再依靠系統(tǒng)時(shí)鐘工作,而是根據(jù)內(nèi)部的時(shí)鐘進(jìn)行刷新操作。在SR期間除了CKE之

42、外的所有外部信號(hào)都是無效的 無需外部提供刷新指令 ,只有重新使CKE有效才能退出自刷新模式并進(jìn)入正常操作狀態(tài)。 SDRAM接口設(shè)計(jì)的要求SDRAM中通常有4個(gè)Bank,每個(gè)Bank中只能有一行處于激活狀態(tài)且可進(jìn)行讀寫,如果想讀寫該Bank的另一行,必須通過預(yù)充電 Precharge 命令關(guān)閉當(dāng)前行,使SDRAM進(jìn)入空閑狀態(tài),再激活所要翻開的行,經(jīng)過tRCD時(shí)間后才能發(fā)出讀寫指令14。以讀為例,讀指令發(fā)出后還要經(jīng)過CL個(gè)時(shí)鐘周期才能得到所需要的數(shù)據(jù)。在此過程中,由于SDRAM的物理限制,激活命令發(fā)出后必須經(jīng)歷時(shí)間tRCD后才能發(fā)出讀指令,再等待CL個(gè)周期才能得到數(shù)據(jù)。得到數(shù)據(jù)后再經(jīng)過時(shí)間tRP才

43、能翻開另外一行讀取另外的數(shù)據(jù)。整個(gè)過程的操作時(shí)間還受到tRC,tRAS等時(shí)間參數(shù)的最小限制。另外,tRCD、tRP、tRC、tRAS以及向SDRAM寫數(shù)據(jù)時(shí)的tWR等參數(shù)都以微秒為單位,系統(tǒng)的運(yùn)行頻率越高,所對(duì)應(yīng)的消耗周期也越多,SDRAM的這些時(shí)間的限制是無法防止的。 存儲(chǔ)器接口解決數(shù)據(jù)存取的難點(diǎn)數(shù)據(jù)采集系統(tǒng)中對(duì)SDRAM中的數(shù)據(jù)是隨機(jī)訪問,而且每次所讀取數(shù)據(jù)長度很短,通常讀取1,2個(gè)數(shù)據(jù)也需要等待10個(gè)周期左右的時(shí)間。在數(shù)據(jù)采集系統(tǒng)中,有大量的中間數(shù)據(jù)需要保存和讀取,經(jīng)計(jì)算要求系統(tǒng)與存儲(chǔ)器的數(shù)據(jù)通訊效率到達(dá)70%以上 視系統(tǒng)運(yùn)行的頻率而定 才能滿足系統(tǒng)設(shè)計(jì)要求。為了解決數(shù)據(jù)讀取的瓶頸問題,

44、存儲(chǔ)器接口設(shè)計(jì)者通??紤]兩種方法:一是適當(dāng)提高系統(tǒng)的運(yùn)行頻率。受到功耗、本錢和系統(tǒng)架構(gòu)等限制,不能把頻率提的很高,而且頻率提高了以后,由于SDRAM一些時(shí)間參數(shù)的限制,存取數(shù)據(jù)消耗的無用周期也相應(yīng)增加,所以,提高系統(tǒng)的運(yùn)行頻率,能對(duì)數(shù)據(jù)的存取瓶頸問題有所改良,但是所取得的效果比擬有限。二是優(yōu)化SDRAM的調(diào)度算法15。雖然SDRAM同一時(shí)刻只能對(duì)一個(gè)Bank的一行進(jìn)行讀取,但是SDRAM中一般都有4個(gè)Bank,如果能把對(duì)4個(gè)Bank的訪問都調(diào)度好,使一個(gè)Bank處于前導(dǎo)時(shí)間時(shí)其他Bank能進(jìn)行數(shù)據(jù)的存取,就可以最大的提高SDRAM工作效率。這樣的代價(jià)是增加了電路的復(fù)雜度。上述多Bank并行操作

45、的方式實(shí)現(xiàn)起來還有兩個(gè)難點(diǎn):14個(gè)Bank共用同一套接口,包括命令,地址,數(shù)據(jù),等等,在多個(gè)Bank協(xié)同操作的時(shí)候還必須保證對(duì)4各Bank的命令在各個(gè)接口上不能相互沖突。形成命令接口,地址接口,數(shù)據(jù)接口的三重流水線結(jié)構(gòu)。24個(gè)Bank有些工作要同時(shí)處理,如刷新 Refresh ,全部預(yù)充電 Precharge All ,模式存放器設(shè)置 MRS 等,需要4個(gè)Bank都處于空閑 IDLE 狀態(tài)且必須同時(shí)操作。在此過程中所有的Bank都不能進(jìn)行數(shù)據(jù)存取,必須要把4個(gè)Bank的狀態(tài)統(tǒng)一起來。 存儲(chǔ)器接口在工作方式上的初步優(yōu)化針對(duì)前面提到的問題,在設(shè)計(jì)存儲(chǔ)器接口模塊的過程中進(jìn)行了相應(yīng)的考慮。1Auto

46、Precharge的應(yīng)用:SDRAM控制器的最終目的是為了提高數(shù)據(jù)的吞吐流水量,減少數(shù)據(jù)總線的空閑狀態(tài)。在實(shí)際應(yīng)用中,我們盡量把讀、寫指令拼接在一起,最大程度的占用數(shù)據(jù)總線。此時(shí)為了防止命令總線產(chǎn)生沖突,除了進(jìn)行算法的優(yōu)化以外,還要使用Auto Precharge模式。在命令接口節(jié)省一個(gè)發(fā)出Precharge命令的周期來關(guān)閉翻開行,此時(shí)其他的Bank可以發(fā)Read Write以及Active命令,這一措施可以提高大概10%的效率,在硬件上也相應(yīng)節(jié)省了一些邏輯單元。2刷新時(shí)間的選擇:系統(tǒng)在自動(dòng)刷新 Auto Precharge 的時(shí)候要求4個(gè)Bank都處于空閑狀態(tài),且要求64ms內(nèi)刷新8192次

47、。設(shè)計(jì)中常見的刷新方式有集中刷新和分布刷新兩種,它們有各自的優(yōu)點(diǎn)。集中刷新是在一段集中的時(shí)間內(nèi)發(fā)出8192次刷新命令完成所有數(shù)據(jù)的刷新,其余時(shí)間內(nèi)數(shù)據(jù)的通訊比擬暢通。在一些特殊的應(yīng)用場合,如小分辨率視頻處理過程中,存在圖像的消影期,或者數(shù)據(jù)采集系統(tǒng)在數(shù)據(jù)采集完成后,短時(shí)間內(nèi)系統(tǒng)不會(huì)對(duì)內(nèi)存再有訪問,SDRAM可以在這段時(shí)間集中進(jìn)行刷新操作。 本章小結(jié)本章系統(tǒng)結(jié)構(gòu)及硬件設(shè)計(jì)SDRAM接口的硬件實(shí)現(xiàn)是至關(guān)重要的一步。本章中將利用ALTERA公司系列的這塊芯片,用方式實(shí)現(xiàn)整個(gè)圖4-1 移動(dòng)SDRAM接口框圖 控制接口模塊控制接口模塊內(nèi)部是有限狀態(tài)機(jī) FSM,F(xiàn)inite-state machine ,

48、有限狀態(tài)機(jī)解釋來自微處理器的輸入,把相應(yīng)的命令和符合時(shí)序要求的地址發(fā)送給移動(dòng)SDRAM設(shè)備,然后,移動(dòng)SDRAM設(shè)備進(jìn)入相應(yīng)的狀態(tài),執(zhí)行命令??刂平涌谀K解碼并存放主機(jī)發(fā)送的命令,把解碼后的空閑、寫、讀、刷新、充電和模式設(shè)置命令和地址信號(hào)送給命令模塊。狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換如圖4-2所示。有限狀態(tài)時(shí)機(jī)綜合考慮存儲(chǔ)器的時(shí)序要求,以正確的順序產(chǎn)生各種操作指令,在發(fā)出操作指令之前,控制器首先會(huì)給出一個(gè)讀取使能信號(hào),從數(shù)據(jù)輸入輸出緩存模塊的地址指令中讀取地址指令。如果所有的Bank都處于Precharge狀態(tài),那么就根據(jù)所給的Bank地址與行地址直接激活該行,如果已經(jīng)有Bank處于激活狀態(tài),那么就對(duì)它們進(jìn)行

49、比擬,如果發(fā)現(xiàn)沖突的話,控制器在進(jìn)入讀、寫狀態(tài)之前就先對(duì)已經(jīng)翻開的Bank進(jìn)行預(yù)充和發(fā)出Active指令激活需要操作的行,程序見附錄C。圖4-2 狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖在寫狀態(tài)時(shí),如果控制器檢測到讀指令,必須在等待讀、寫切換時(shí)間之后再發(fā)出讀指令,同樣的在讀狀態(tài)時(shí),如果檢測到寫指令,也必須等待寫、讀切換時(shí)間。由于控制器能夠動(dòng)態(tài)產(chǎn)生輔助功能指令,并插入到指令總線中,因此用戶只需給出讀寫指令即可,如果用戶給出諸如Precharge、Active、Auto-Refresh等指令,那么控制器只會(huì)產(chǎn)生一個(gè)Precharge指令在送到SDRAM之前,所有的指令都經(jīng)過流水線處理來與地址信號(hào)同步。寫數(shù)據(jù)程序如下: f

50、sm_cke 1 ; fsm_csn 0 ; fsm_casn 1 ; fsm_rasn 1 ; fsm_wen 1 ;write_rst 1 ; nxt_state write_data_st;CAS延遲模塊CAS延遲通過模式存放器配置,CAS延遲模塊的實(shí)質(zhì)是2位遞增計(jì)數(shù)器,這一計(jì)數(shù)器監(jiān)視CAS延時(shí)時(shí)鐘周期數(shù)。它表示讀命令和第一個(gè)輸出數(shù)據(jù)之間延遲的時(shí)鐘周期數(shù),延時(shí)時(shí)鐘周期數(shù)可以是二或三個(gè)時(shí)鐘周期。下列圖圖4-3 a 和圖4-3 b 分別給出了CAS 2和CAS 3時(shí)的數(shù)據(jù)輸出時(shí)序。圖4-3 a CAS 2時(shí)的數(shù)據(jù)輸出時(shí)序圖4-3 b CAS 3時(shí)的數(shù)據(jù)輸出時(shí)序2位遞增計(jì)數(shù)器的輸入輸出如下:i

51、nput clk; input reset; input count_en; output 1:0 count; clk是輸入的時(shí)鐘信號(hào)來自微控制器,reset輸入的異步復(fù)位信號(hào),count_en輸入的計(jì)數(shù)使能信號(hào),count輸出的CAS延遲數(shù)。系統(tǒng)不復(fù)位的情況下在計(jì)數(shù)使能有效時(shí)當(dāng)時(shí)鐘上升沿到來CAS延遲增加。程序如下: reg 1:0 count; always posedge reset,posedge clk begin if reset 1 count 2'b00: else if count_en 1 count count + 2'b01;endendmodule

52、突發(fā)長度模塊突發(fā)長度也使在模式存放器中設(shè)置的,它的內(nèi)部實(shí)質(zhì)是4位遞增計(jì)數(shù)器,這一計(jì)數(shù)器監(jiān)視讀寫突發(fā)工作時(shí)的時(shí)鐘周期數(shù),原理與2位遞增計(jì)數(shù)器相同。突發(fā)長度可以是 1、2、4或者8,突發(fā)Burst 是指在同一行中相鄰的存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸所涉及到存儲(chǔ)單元列的數(shù)量就是突發(fā)長度Burst Lengths,簡稱BL。 在目前,由于內(nèi)存控制器一次讀寫-Bank位寬的數(shù)據(jù),也就是8個(gè)字節(jié),但是在現(xiàn)實(shí)中小于8個(gè)字節(jié)的數(shù)據(jù)很少見,所以一般都要經(jīng)過多個(gè)周期進(jìn)行數(shù)據(jù)的傳輸。上文講到的讀/寫操作,都是一次對(duì)一個(gè)存儲(chǔ)單元進(jìn)行尋址,如果要連續(xù)讀/寫就還要對(duì)當(dāng)前存儲(chǔ)單元的下一個(gè)單元進(jìn)行尋址,也就是要不斷

53、的發(fā)送列地址與讀/寫命令行地址不變,所以不用再對(duì)行尋址。雖然由于讀/寫延遲相同可以讓數(shù)據(jù)的傳輸在I/O端是連續(xù)的,但它占用了大量的內(nèi)存控制資源,在數(shù)據(jù)進(jìn)行連續(xù)傳輸時(shí)無法輸入新的命令,效率很低早期的FPE/EDO內(nèi)存就是以這種方式進(jìn)行連續(xù)的數(shù)據(jù)傳輸。為此,人們開發(fā)了突發(fā)傳輸技術(shù),只要指定起始列地址與突發(fā)長度,內(nèi)存就會(huì)依次地自動(dòng)對(duì)后面相應(yīng)數(shù)量的存儲(chǔ)單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要假設(shè)干個(gè)周期主要是之前的延遲,一般的是tRCD+CL外,其后每個(gè)數(shù)據(jù)只需一個(gè)周期的即可獲得。input clk; input 23:0 addr;input 4:0 pr_

54、state;output 1:0 ba;output 12:0 a;reg 1:0 ba;reg 12:0a;clk是系統(tǒng)的主時(shí)鐘輸入,addr是輸入的地址信號(hào),pr_state是輸入的當(dāng)前狀態(tài),這三個(gè)信號(hào)均由微控制器提供。地址發(fā)生器接收來自微控制器的命令,把命令轉(zhuǎn)換成SDRAM能夠理解的狀態(tài)信號(hào),地址發(fā)生器根據(jù)狀態(tài)信號(hào)產(chǎn)生相應(yīng)的地址選擇SDRAM的行或列進(jìn)行操作。 具體程序如下:parameter active_read_st 5'b00001;parameter read_st 5'b00011;parameter write_st 5'b00100;paramet

55、er lmr_st 5'b01010;parameter lemr_st 5'b01110;parameter active_write_st 5'b10000;always posedge clk begin if pr_state lmr_st begin ba addr23:22;/2'b00; a addr12:0; end else if pr_state active_read_st | pr_state active_write_st begin ba addr23:22; a addr12:0; end else if pr_state read

56、_st | pr_state write_st begin ba addr23:22; a 4'b0010 , addr21:13 ; endendendmodule EPM240芯片簡介Altera公司一直都處于可編程芯片系統(tǒng)SOPC 領(lǐng)域的前沿和領(lǐng)先地位,為業(yè)界提供最先進(jìn)的可編程邏輯器件、相關(guān)的軟件工具、IP軟件模塊以及優(yōu)秀的設(shè)計(jì)方案。Altera公司是全球最大的可編程器件開發(fā)和供給商之一,能夠?yàn)榭蛻籼峁┳钚碌目删幊探鉀Q方案,生產(chǎn)的系列芯片在全球的銷量始終位列榜首,以其專業(yè)的性能和高的性價(jià)比在市場上站穩(wěn)了腳步。Altera在近十五年CPLD經(jīng)驗(yàn)根底上,推出了本錢很低的CPLD II

57、系列。 II器件的本錢是相競爭CPLD的一半,它采用了新的查找表LUT 體系,因此每個(gè)I/O管腳的本錢很低,而且開創(chuàng)了CPLD體系的新紀(jì)元。這種即用的非易失器件系列面向通用的小容量邏輯應(yīng)用,從而設(shè)計(jì)者能夠發(fā)揮CPLD器件的優(yōu)勢(shì),替代小型ASIC和ASSP。 II器件采用了本錢優(yōu)化的六層金屬0.18微米Flash工藝,其功耗大約是前一代器件的十分之一。它們的容量從240至2,210個(gè)邏輯單元LE 192至1,700個(gè)等效宏單元,多達(dá)272個(gè)用戶I/O管腳。CPLD復(fù)雜可編程邏輯器件,是從PAL和GAL器件開展出來的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其根本設(shè)計(jì)方法是借助集成開發(fā)軟件平臺(tái),用原理圖、硬

溫馨提示

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

評(píng)論

0/150

提交評(píng)論