<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于VHDL的SDRAM控制器的實(shí)現

基于VHDL的SDRAM控制器的實(shí)現

作者: 時(shí)間:2012-10-29 來(lái)源:網(wǎng)絡(luò ) 收藏

在高速實(shí)時(shí)或者非實(shí)時(shí)信號處理系統當中,使用大容量存儲器數據緩存是一個(gè)必不可少的環(huán)節,也是系統中的重點(diǎn)和難點(diǎn)之一。(同步動(dòng)態(tài)隨機訪(fǎng)問(wèn)存儲器)具有價(jià)格低廉、密度高、數據讀寫(xiě)速度快的優(yōu)點(diǎn),從而成為數據緩存的首選存儲介制裁。但是存儲體結構與RAM有較大差異,其控制時(shí)序和機制也較復雜,限制了的使用。目前,雖然一些能家長(cháng)微處理器提供了和SDRAM的透明接口,但其可擴展性和靈活性不夠,難以滿(mǎn)足現實(shí)系統的要求,限制了SDRAM的使用。

本文引用地址:http://dyxdggzs.com/article/159725.htm

  在詳細闡讀SDRAM數據文檔的前提下,參考ALTERA公司的IP core,利用可編程器件(CPLD,FPGA)設計了一種通用的SDRAM。它具有很高的靈活性,可以方便地和其它數據采集分析系統中,如圖1所示。在該系統中,以SDRAM存儲陣列緩存中頻來(lái)的高速數據。存滿(mǎn)后,數據被慢速讀出至數據處理模塊。下面將對SDRAM控制模塊的設計進(jìn)行詳細的描述。

采集原理圖

  1 SDRAM內存條的結構

  SDRAM內存條由SDRAM內存芯片構成,根據內存條的容量大小決定內存條上內存芯片的個(gè)數?,F以MICRON公司生產(chǎn)的TIM16LSDT6464A型SDRAM內存條為例,簡(jiǎn)要介紹SDRAM的結構。

  MIT16LSDT6464A內存條容量為512M Byte,由16片容量為32M Byte的內存芯片MT46LC32M8A2構成。16片內存芯片被分為兩級,每個(gè)芯片的數據位寬為8bit.8片一組,64bit數據寬度。每個(gè)內存芯片的數據線(xiàn)和控制均是復用的。對內存條的讀寫(xiě)操作,是以?xún)却嫘酒M為單位的,通過(guò)內存條的片選信號S0、S1、S2、S3決定組號。S0、S2控制芯片組1,S1、S3控制芯片組2.

  SDRAM內存芯片的主要信號有控制信號、控制信號、數據信號,均為工作時(shí)鐘同步輸入、輸出信號。

  控制信號主要有:CS(片選信號),CKE(時(shí)鐘使能信號),DQM(輸入、輸出使能信號),CAS、RAS、WE(讀寫(xiě)控制命令字)。通過(guò)CAS、RAS、WE的各種邏輯組合,可產(chǎn)生各種控制命令。

  地址信號有:BA0和BA1頁(yè)地址選擇信號,A0~A12地址信號,行、列地址選擇信號。通過(guò)分時(shí)復用決定地址是行地址還是列地址。在讀寫(xiě)操作中,在地線(xiàn)上依次給出頁(yè)地址、行地址、列地址,最終確定存儲單元地址。

  數據信號有:DQ0~DQ7,雙向數據。其使能受DQM控制。

  SDRAM的工作模式通過(guò)LOAD MODE REGISTER命令對工作模式寄存器進(jìn)行設置來(lái)選擇。設置參量有Reserved(備用的人)Write Burst Mode(WB,寫(xiě)突發(fā)模式)、Operation Mode(Op Mode,工作模式)、CAS Latency(CAS延遲)、Burst Type(BT,突發(fā)類(lèi)型)、Burst Length(突發(fā)長(cháng)度)。

  2 SDRAM的基本讀寫(xiě)操作

  SDRAM的基本讀操作需要控制線(xiàn)和地址線(xiàn)相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD(SDRAM的RAS到CAS的延遲指標)時(shí)間后,發(fā)出讀命令字。CL(CAS延遲值)個(gè)工作時(shí)鐘后,讀出數據依次出現在數據總線(xiàn)上。在讀操作的最后,要向SDRAM發(fā)出預充電(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHAREG命令后,相隔tRP時(shí)間,才可再次訪(fǎng)問(wèn)該行)后,可以開(kāi)始下一次的讀、寫(xiě)操作。SDRAM的讀操作只有突發(fā)模式(Burst Mode),突發(fā)長(cháng)度為1、2、4、8可選。

  SDRAM的基本寫(xiě)操作也需要控制線(xiàn)和地址線(xiàn)相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD的時(shí)間后,發(fā)出寫(xiě)命令字。寫(xiě)命令可以立即寫(xiě)入,需寫(xiě)入數據依次送到DQ(數據線(xiàn))上。在最后一個(gè)數據寫(xiě)入后延遲tWR時(shí)間。發(fā)出預充電命令,關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間后,可以展開(kāi)下一次操作。寫(xiě)操作可以有突發(fā)寫(xiě)和非突發(fā)寫(xiě)兩種。突發(fā)長(cháng)度同讀操作。

  tRCD、tRP、tWR的具體要求,詳見(jiàn)SDRAM廠(chǎng)家提供的數據手冊。所等待的工作時(shí)鐘個(gè)數由tRCD、tRP、tWR的最小值和工作時(shí)鐘周期共同決定。

  由以上介紹可以得出,SDRAM的讀、寫(xiě)操作均由一系列命令組成,因此讀、寫(xiě)操作是有時(shí)鐘損耗的,工作時(shí)鐘速率不等于SDRAM能達到的讀、寫(xiě)速率。但是由于SDRAM有突發(fā)讀、寫(xiě)模式,也就是說(shuō)可以讀出和寫(xiě)入一串地址連續的數據,從而提高了效率。當突發(fā)長(cháng)度為整頁(yè)時(shí),讀、寫(xiě)速度達到最快。隨機讀、寫(xiě)速度的計算公式為:

  furite/read=工作時(shí)鐘頻率(HzHzHhdkkdk ss dkkdkdkd,,,m,mddddd)×數據寬度(bytes)×突發(fā)讀寫(xiě)長(cháng)度/操作所需的時(shí)鐘數

  為了提高存儲密度,SDRAM采用硅片電容存儲信息。電容總會(huì )有漏電流流過(guò),所以為了不使信息丟失,必須定期地給電容刷新充電。外部控制邏輯必須按要求定期向內存條發(fā)出刷新命令,保證在規定的時(shí)間內對每一個(gè)單元都進(jìn)行刷新。

  3 初始化操作

  SDRAM在上電以后必須對其進(jìn)行初始化操作,具體操作如下:

 ?。?)系統在上電后要等待100~200μs.在待時(shí)間到了以后至少執行一條空操作或者指令禁止操作。

 ?。?)對所有芯片執行PRECHARGE命令,完成預充電。

 ?。?)向每組內存芯片發(fā)出兩條AUTO REFRESH命令,使SDRAM芯片內部的刷新計數器可以進(jìn)入正常運行狀態(tài)。

 ?。?)執行LOAD MODE REGISTER命令,完成對SDRAM工作模式的設定。

  完成以上步驟后,SDRAM進(jìn)入正常工作狀態(tài),等待對其進(jìn)行讀、寫(xiě)和刷新等操作。

  4 SDRAM設計

  4.1 功能說(shuō)明

  在以SDRAM作為緩存的系統中,使用可編程器件對其進(jìn)行控制具有很強的靈活性。為了使設計具有模塊化和可重復使用的優(yōu)點(diǎn),設計了一個(gè)簡(jiǎn)化的SDRAM接口電路。這樣就屏蔽掉了SDRAM操作的復雜性,而其它邏輯模塊可通過(guò)接口電路對SDRAM進(jìn)行訪(fǎng)問(wèn)。此外,由于整個(gè)SDRAM控制器用語(yǔ)言編寫(xiě),只要對其進(jìn)行簡(jiǎn)單的修改就可以滿(mǎn)足不同的需求,具有很強的靈活性。

  參照圖2,SDRAM控制器完成的主要功能是對CMD[2:0]的命令字和ADDR端的地址進(jìn)行解析,產(chǎn)生相應的SDRAM的控制時(shí)序。

SDRAM的控制時(shí)序

  CLK為輸入的工作時(shí)鐘端口。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 實(shí)現 控制器 SDRAM VHDL 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>