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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器(圖)

          使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器(圖)

          ——
          作者:曹華 鄧彬 時(shí)間:2005-09-19 來(lái)源: 收藏

          使用實(shí)現(xiàn)基于FPGA的SDRAM控制器(圖)

          摘 要:介紹了SDRAM的特點(diǎn)和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,使用該方法實(shí)現(xiàn)的控制器可非常方便地對(duì)SDRAM進(jìn)行控制。
          關(guān)鍵詞:SDRAM;控制器;;狀態(tài)機(jī)

          引言
          ---在基于FPGA的圖象采集顯示系統(tǒng)中,常常需要用到大容量、高速度的。而在各種隨機(jī)件中,SDRAM的價(jià)格低、體積小、速度快、容量大,是比較理想的器件。但SDRAM的控制邏輯比較復(fù)雜,對(duì)時(shí)序要求也十分嚴(yán)格,使用很不方便,這就要求有一個(gè)專門(mén)的控制器,使系統(tǒng)用戶能很方便地操作SDRAM。為此,本文提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,并用給于實(shí)現(xiàn),仿真結(jié)果表明通過(guò)該方法設(shè)計(jì)實(shí)現(xiàn)的控制器可以在FPGA芯片內(nèi)組成如圖1所示的SDRAM接口,從而使得系統(tǒng)用戶對(duì)SDRAM的操作非常方便。

           

          SDRAM簡(jiǎn)介
           ---SDRAM器件的管腳分為控制信號(hào)、地址和數(shù)據(jù)三類(lèi)。通常一個(gè)SDRAM中包含幾個(gè)BANK,每個(gè)BANK的存儲(chǔ)單元是按行和列尋址的。由于這種特殊的存儲(chǔ)結(jié)構(gòu),SDRAM有以下幾個(gè)工作特性。
          ● SDRAM的初始化
          ---SDRAM在上電100~200μs后,必須由一個(gè)初始化進(jìn)程來(lái)配置SDRAM的模式寄存器,模式寄存器的值決定著SDRAM的工作模式。
          ● 訪問(wèn)存儲(chǔ)單元
          ---為減少I(mǎi)/O引腳數(shù)量,SDRAM復(fù)用地址線,所以在讀寫(xiě)SDRAM時(shí),先由ACTIVE命令激活要讀寫(xiě)的BANK,并鎖存行地址,然后在讀寫(xiě)指令有效時(shí)鎖存列地址。一旦BANK被激活后只有執(zhí)行一次預(yù)充命令后才能再次激活同一BANK。
          ● 刷新和預(yù)充
          ---SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,因此必須有定時(shí)的刷新周期以避免數(shù)據(jù)丟失。刷新周期可由(最小刷新周期



          關(guān)鍵詞: Verilog 存儲(chǔ)器

          評(píng)論


          相關(guān)推薦

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

          看屁屁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); })();