<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 高速圖像處理系統(tǒng)中DDR2-SDRAM接口的設(shè)計

          高速圖像處理系統(tǒng)中DDR2-SDRAM接口的設(shè)計

          作者: 時間:2011-07-22 來源:網(wǎng)絡(luò) 收藏

          1.1.5 Read指令
          讀指令是用來對DDR2內(nèi)存進行讀操作,并對突發(fā)讀進行初始化。其中BA0和BA1給出bank地址,A0~A1給出起始列地址。突發(fā)讀結(jié)束后,激活的行在預(yù)充之前繼續(xù)保持有效,直到該行被預(yù)充電。從列選擇到數(shù)據(jù)輸出的延遲為CAS延遲(CL),整個讀延遲等于AL+CL。讀操作時由內(nèi)存給出一個與數(shù)據(jù)同步的數(shù)據(jù)濾波信號DQS,它的邊沿與讀取的數(shù)據(jù)邊沿對齊。
          1.1.6 Write指令
          Write指令用來控制DDR2內(nèi)存進行寫操作,并給出burst寫的起始地址。其中BA0和BA1給出bank地址,A0~A1給出起始列地址。整個寫延遲為讀延遲減去一個時鐘周期,即寫延遲等于AL+CL-1。寫操作時,控制器同樣給出一個與數(shù)據(jù)同步的數(shù)據(jù)濾波信號DQS,它的邊沿與寫數(shù)據(jù)的中間對齊。
          1.1.7 Idle指令
          用來使DDR2內(nèi)存處于空閑無操作狀態(tài)。
          1.2 控制器的
          本文中的DDR2 SDRAM控制器是采用VHDL硬件描述語言的,主要由4部分組成:用戶界面模塊(User Interface)、基礎(chǔ)模塊(infrast-ructure)、物理層模塊(Physical layer)和存儲控制模塊(Controller)。控制器的原理框圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/161777.htm

          g.JPG


          時鐘生成模塊用來產(chǎn)生控制器中所有模塊的時鐘信號。外部用戶時鐘通過數(shù)字時鐘管理器(DCM)進行后,輸出0度和90度的時鐘。同時該包括了一個延遲校準模塊,是用來校準讀數(shù)據(jù)(DQ)對讀數(shù)據(jù)選通脈沖(DQS)的延遲,以便DQS的邊沿能正確對齊DQ有效窗口的中間位置。
          用戶模塊主要包括讀/寫數(shù)據(jù)和地址三類FIFO,用來接收和存儲用戶的數(shù)據(jù),命令和地址等信息,起到緩沖和同步數(shù)據(jù)的作用。控制器模塊生成該模塊所需要的控制信號。
          物理層模塊負責(zé)在控制信號的約束下完成用戶訪問地址與訪問指令的解釋與匹配,產(chǎn)生DDR2 SDRAM所需的控制指令信號,并保證指令與地址,數(shù)據(jù)的同步和信號的維持。
          控制模塊主要實現(xiàn)的功能為:在系統(tǒng)上電過程及系統(tǒng)意外復(fù)位發(fā)生時,與初始化模塊配合,對控制器和所控制的DDR2進行初始化設(shè)置,復(fù)位延時保護等:在系統(tǒng)正常工作時,進行系統(tǒng)讀/寫請求指令的接收、應(yīng)答,對系統(tǒng)訪問地址的采樣與同步,完成所需的所有狀態(tài)轉(zhuǎn)換、任務(wù)調(diào)度、總線仲裁、時序同步,并為用戶模塊、物理層模塊產(chǎn)生相應(yīng)的控制信號,為系統(tǒng)提供控制器狀態(tài)指示信號??刂破鞯臓顟B(tài)機結(jié)構(gòu)如圖2所示。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();