《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 通用DDR SDRAM控制器的設計
通用DDR SDRAM控制器的設計
劉 瑰 朱鴻宇
摘要: 通用DDR SDRAM控制器的設計方法,以及一種解決DDR SDRAM所特有讀寫方式難于控制的問題的方法。
關鍵詞: 數字鎖相環 SDRAM FPGA
Abstract:
Key words :

  摘  要: 通用DDR SDRAM控制器的設計方法,以及一種解決DDR SDRAM所特有讀寫方式難于控制的問題的方法。
  關鍵詞: 雙數據率SDRAM  數字鎖相環  預充電  突發讀寫

   SDRAM是具有同步接口的高速動態隨機訪問存儲器。它由于具有大容量、讀寫速度較快、支持突發式讀寫及價格低廉而得到了廣泛的應用。但是近幾年來,市面上出現了一種從SDRAM技術發展而來的DDR(Double Data Rate)SDRAM新型存儲器。該存儲器除了具有SDRAM的所有優點外,還由于采用了雙時鐘差分信號等技術,使其在時鐘觸發沿的上、下沿都能進行數據傳輸(傳輸速率是普通SDRAM的2倍),且在價格上也低于SDRAM。在需要大容量存儲器的系統中,如臺式機、工作站、服務器、高性能圖形適配器等選用DDR SDRAM將是一種很好的選擇。但是DDR SDRAM的控制時序比較復雜,要想和MCU、DSP等控制器芯片接口就必須利用可編程門陣列(如FPGA)設計一個DDR SDRAM控制器。但由于它在時鐘的上升沿和下降沿均能讀取數據,這就使得DDR SDRAM控制器較普通的SDRAM控制器更難于設計。為此,本文給出了一種通用DDR SDRAM控制器的一般設計方法,并利用數字鎖相環技術解決了DDR SDRAM特有的讀寫方式難于控制的問題。
1  DDR SDRAM的基本操作和命令
    掌握DDR SDRAM(以下簡稱DDR)的操作是成功設計一個DDR SDRAM控制器的前提條件。下面是一般的DDR所具備的操作。
  DDR支持的常用命令有:空操作(Nop)、激活操作(Active)、突發讀(Burst Read)、突發寫(Burst Write)、自動刷新(Autorefresh)、預充電(Precharge)、模式寄存器配置(Mode Register Set)等。所有的操作命令都通過信號線RAS_N、CAS_N、WE_N共同控制。其基本操作命令如表1所示。

 

 


  在進行讀、寫操作之前必須激活DDR存儲體。一旦一個存儲體被激活,它就必須在此存儲體的下一個激活命令發出之前進行預充電。當對一個存儲體讀或寫訪問后,如果下一次要訪問的行和當前訪問的行不是同一行,則需要結束當前的存儲體并重新打開它。預充電就是用來結束已激活的存儲體的。
  訪問DDR的基本命令是讀和寫操作。當讀命令發出時,地址總線上出現的就是要讀的起始地址,1~3個時鐘周期后要讀的數據將會出現在數據總線上;當寫命令發出時,起始地址和數據就分別出現在地址總線和數據總線上。在做讀操作時,數據出現在數據總線上的周期數是由CAS延遲(CAS Latency,CL)決定的。CL依賴于DDR的速度和存儲器時鐘的頻率。一般而言,時鐘頻率越快CL就越大。在BR或者BW命令初始化后,就會進行突發讀或突發寫,直到完成當前的突發長度(Burst length,BL)或突發結束(Burst Terminate,BT)命令發出才結束該操作。DDR存儲器支持突發的長度為2、4或8個數據周期。
  由于DDR是利用電容存儲電荷的原理來保存信息的,而電容會逐漸放電。因此為了保證每個存儲單元數據的正確性,DDR SDRAM控制器必須周期性地發出自動刷新命令,用戶無需干預。在自動刷新命令發出之前,所有存儲體都必須經過預充電并已經處于空閑狀態。一旦刷新開始,由于內部有地址計數器,所以不需要外部地址的控制。
  DDR中有模式寄存器,它的各種操作模式是:CAS延遲、地址模式、突發長度、突發類型、測試模式等。通過模式寄存器配置(MRS)命令將值寫入到模式寄存器中。
2 DDR SDRAM 控制器的設計
2.1 DDR SDRAM控制器簡介

  本文討論的DDR SDRAM控制器(簡稱DDR控制器)一方與MCU等控制器接口,另一方與DDR接口。同MCU等控制器的接口主要有地址總線(ADDR)、數據總線(DATA)、3位的命令總線(CMD[2:0])以及命令回答(CMDACK)等。地址總線和數據總線的位數取決于DDR的總線位數。DDR控制器接收從MCU發來的命令及數據,對命令進行譯碼,并向DDR發出相應的操作及數據。與DDR接口的一方主要是RAS_N、CAS_N、WE_N等控制信號線以及數據總線DDRDATA、地址總線DDRADDR等。整個DDR控制器由3個模塊構成:控制接口模塊、命令模塊和數據通路模塊??刂平涌谀K接收從MCU來的命令和相關存儲器地址,對命令進行譯碼并將請求發送給命令模塊;命令模塊接收從控制接口模塊譯碼后的命令和地址,產生相應的命令給DDR;數據通路模塊在讀命令READA和寫命令WRITEA期間處理數據交換。DDR控制器總框圖如圖1所示。

2.2 DDR控制器的命令
  DDR控制器共完成8種操作:NOP、READA、WRITEA、REFRESH、PRECHARGE、LOAD_MODE、LOAD_REG1、LOAD_REG2,其控制命令如表2所示。


  這8種操作都是由MCU在命令總線CMD[2:0]上向DDR控制器發出的,DDR控制器在接收到諸如READA、WRITEA、REFRESH、PRECHARGE、LOAD_MODE等命令時將會向MCU發回答命令CMDACK。當MCU收到CMDACK命令后會在1個時鐘周期后向DDR控制器發NOP命令。DDR控制器在發CMDACK命令的同時也會向DDR發相應的操作,也就是將DDR的RAS_N、CAS_N、WE_N置成相應的高位或低位。如果命令是READA或WRITEA,則需要重新從數據總線上讀出數據或寫入數據。各命令的功能如下。 (1)NOP空操作命令。在MCU接收到CMDACK命令后,MCU就會在一個時鐘周期后向DDR控制器發出NOP命令。
  (2)READA命令是帶有預充電的突發讀操作。MCU向DDR控制器發出READA命令的同時在地址總線ADDR上發出要讀的地址;DDR控制器接收到后將向DDR發出激活(Active)命令,并向MCU發出CMDACK命令;幾個時鐘周期后,要讀的DDR中的突發數據會由DDR控制器通過數據總線傳送給MCU。
  (3)WRITEA命令是帶有預充電的突發寫操作。其過程和READA的過程類似,也是在DDR控制器接收到MCU發出的WRITEA命令期間,在地址總線ADDR上接收要寫入的地址,然后DDR控制器向DDR發出激活(Active)命令,并向MCU發出CMDACK命令。只是在WRITEA命令有效期間,要寫入DDR的第一個突發數據就已經出現在數據總線上了。
   (4)REFRESH命令是DDR控制器指示DDR完成自動刷新的命令。
  (5)PRECHARGE命令是控制器指示DDR完成存儲體預充電的命令。
  (6)LOAD_MODE是用來配置DDR中的模式寄存器的,其值就是在MCU向DDR控制器發出LOAD_
MODE命令的同時在ADDR總線上傳送的數值。當DDR控制器向DDR發出模式寄存器配置(MRS)命令時,ADDR總線上的值就會直接映射到DDR的地址總線上。
  (7)LOAD_REG1和LOAD_REG2是配置DDR控制器內部2個寄存器的命令。
2.3 DDR控制器的內部寄存器
  DDR控制器內部有2個16位的配置寄存器:REG1和REG2,其值分別由命令LOAD_REG1和LOAD_REG2命令寫入。
REG1中包含了CAS延遲CL(REG1[1:0])、RAS到CAS延遲的時鐘數RC(REG[3:2])、REFERSH命令持續時間的時鐘數RRD(REG1[7:4])及突發長度BL(REG1[12:9])。
  REG2是一個16位的寄存器,存儲的是DDR控制器向DDR發出刷新命令的間隔時間。
2.4 各功能模塊設計
2.4.1 控制接口模塊
  控制接口模塊包含1個命令譯碼器和1個16位的刷新減計數器及相應的控制電路。命令譯碼器譯碼并寄存從MCU來的命令,將譯碼后的NOP、WRITEA、READA、REFRESH、PRECHARGE和LOAD_MODE等命令及相應的地址轉送給命令模塊。減計數器和相應的控制電路用來產生刷新命令給命令模塊,其值就是由LOAD_REG2命令寫入到REG2中的值。當計數器減到0時,控制接口模塊就向命令模塊發REFRESH_REQ并一直保持到命令模塊發REFRESH_ACK來響應該請求。一旦控制接口模塊接收到REFRESH_ACK,減計數器就會重新寫入REG2中的值。
2.4.2 命令模塊
  命令模塊由1個簡單的仲裁器、命令發生器及命令時序器組成。它接收從控制接口模塊來的譯碼后的命令,接收刷新控制邏輯發來的刷新請求命令并產生正確的命令給DDR。仲裁器在控制接口發來的命令(也就是MCU通過控制接口譯碼后的命令)和刷新控制邏輯發來的刷新請求命令之間進行仲裁。刷新請求命令的優先級高于控制接口來的命令。如果控制接口來的命令和刷新請求命令同時到達,或者同在一個刷新操作期間,則仲裁器就會拖延向MCU發CMDACK命令的時間直到刷新操作完成。如果刷新命令正在進行操作期間發出,則要一直等待到操作全部完成。
  在仲裁器收到MCU發來的命令后,該命令就傳送到命令發生器,命令時序器即用3個移位寄存器產生正確的命令時序后發給DDR。1個移位寄存器用來控制激活命令時序,1個用來控制READA和WRITEA命令,1個用來計時操作命令的持續時間,為仲裁器確定最后的請求操作是否完成。
2.4.3 數據通路模塊
  數據通路模塊提供了DDR到MCU的數據通路。MCU從DDR設備讀出的數據和MCU向DDR設備寫入的數據都要經過數據通路模塊。在MCU向DDR控制器發WRITEA命令時,數據總線DATA上要寫入DDR的數據;在MCU向DDR控制器發READA命令時,數據總線DATA則從DDR讀出數據。
  數據通路模塊在和DDR接口的一方完成了2個轉換:一是將DDR過來的數據總線寬度翻倍,二是將DDR在時鐘上、下沿送出的數據用200MHz的時鐘頻率接收。數據通路模塊在和MCU接口的一方也相應地做了2個轉換:一是將MCU過來的數據寬度減半送給DDR,二是將MCU工作在100MHz頻率下的數據以200MHz的頻率送給DDR。
  DDR送來的數據是在100MHz的時鐘頻率的上升和下降沿被讀出的,而到了數據通路模塊則將時鐘頻率倍頻到200MHz,因此只需在時鐘的上升沿讀出數據即可。其中的時鐘倍頻可采用數字鎖相環技術將輸入時鐘升頻。某些FPGA內部包含了鎖相環電路(如Altera公司的FLEX10KA系列的FPGA),可以直接調用。
2.5 初始化過程
  在MCU與DDR之間通信必須通過DDR控制器對DDR進行初始化:置DDR的突發長度、CL、突發類型以及操作模式等。在初始化完DDR后,MCU也必須對DDR控制器的2個內部寄存器進行設置,由MCU發LOAD_REG2和LOAD_REG1命令分別完成。整個DDR和DDR控制器的初始化過程為:(1)完成預充電PRECHARGE命令。(2)發LOAD_MODE命令。(3)發LOAD_REG2命令。(4)發LOAD_
  REG1命令。
3  結束語
  本文給出的通用DDR控制器的設計方法,可以很好地解決DDR在時鐘上升和下降沿都能讀取數據而不好控制的問題,而且可以直接利用FPGA內部提供的數字鎖相環電路,避免了在設計中增加復雜的模擬電路。此外,開發者還可以根據自己的實際需要對該設計方法進行修改,以形成自己專用的DDR控制器。
參考文獻
1  DDR SDRAM Specification.http://www.samsung.com,2002.5
2  夏宇聞.復雜數字電路與系統的Verilog HDL設計技術.北京:北京航空航天大學出版社,1998
3  戴梅萼,史嘉權.微型計算機技術及應用(第二版).北京:清華大學出版社,1996
4  常青,陳輝煌,孫廣富等.可編程專用集成電路及其應用與設計實踐.北京:國防工業出版社,1998
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产日韩欧美在线一区| 99成人精品| 国产一区二区三区久久久久久久久| 亚洲一区免费网站| 国模私拍一区二区三区| 亚洲人久久久| 日韩亚洲精品视频| 亚洲电影第1页| 尤物精品国产第一福利三区| 久久久免费精品| 9i看片成人免费高清| 国内精品国语自产拍在线观看| 狠狠色丁香婷婷综合久久片| 亚洲视频一区二区免费在线观看| 欧美一区二区精品久久911| 欧美大成色www永久网站婷| 一区二区三区成人| 久久综合网色—综合色88| 欧美国产日本高清在线| 亚洲综合第一页| 欧美片在线观看| 亚洲欧洲久久| 国产精品国产自产拍高清av王其| 欧美福利一区二区三区| 亚洲国产精品久久久久久女王| 中文在线不卡视频| 一本色道久久88综合日韩精品| 宅男噜噜噜66一区二区| 久久国产欧美日韩精品| 麻豆免费精品视频| 国产精品久久久久久久久久久久久| 欧美精品麻豆| 久久久久国产精品午夜一区| 亚洲国产欧美日韩精品| 欧美精品一区二区蜜臀亚洲| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩色一区| 欧美激情欧美狂野欧美精品| 亚洲一区二区在线观看视频| 久久久午夜电影| 欧美日韩美女在线| 欧美三级电影一区| 亚洲欧美日韩精品久久亚洲区| 国产精品免费aⅴ片在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 久久国产福利| 欧美精品国产一区| 在线看片欧美| 国产综合香蕉五月婷在线| 中文精品一区二区三区| 国产综合色一区二区三区| 欧美日韩在线综合| 在线一区二区三区做爰视频网站| 欧美日韩在线大尺度| 国产日韩一区欧美| 欧美ed2k| 一区二区高清| 亚洲欧美一区在线| 久久国产一区二区三区| 欧美精品激情在线观看| 欧美午夜不卡| 伊人久久大香线蕉综合热线| 小黄鸭视频精品导航| 午夜国产欧美理论在线播放| 香蕉免费一区二区三区在线观看| 欧美伦理91i| 影音先锋中文字幕一区二区| 欧美日韩影院| 亚洲美女中出| 美女精品国产| 欧美精品 日韩| 国产主播一区二区三区| 在线成人av网站| 亚洲视频香蕉人妖| 欧美在线免费一级片| 午夜精品久久久久久久99樱桃| 国产精品福利片| 久久成人人人人精品欧| 国产字幕视频一区二区| 久久久人成影片一区二区三区观看| 亚洲国语精品自产拍在线观看| 欧美va天堂在线| 国产精品欧美一区二区三区奶水| 欧美日韩国产色站一区二区三区| 欧美一区二区日韩一区二区| 伊人男人综合视频网| 在线观看亚洲专区| 国产女主播视频一区二区| 亚洲欧美高清| 久久人91精品久久久久久不卡| 国产亚洲精品激情久久| 在线观看日韩www视频免费| 亚洲永久免费精品| 欧美激情一区三区| 欧美另类女人| 国产精品永久| 亚洲国产欧美久久| 国产精品久久久久7777婷婷| 国产精品日韩久久久| 在线国产精品一区| 亚洲欧美综合网| 亚洲精品之草原avav久久| 好看不卡的中文字幕| 国产精品视频午夜| 亚洲欧美国产另类| 一区二区三区精品视频| 欧美伦理影院| 亚洲欧美激情在线视频| 亚洲理论在线观看| 欧美日本国产| 欧美高清日韩| 亚洲欧美变态国产另类| 国产原创一区二区| 亚洲欧洲日韩在线| 红桃视频国产一区| 国产一本一道久久香蕉| 91久久香蕉国产日韩欧美9色| 久久精品成人一区二区三区| 免费在线成人| 欧美日韩国产免费观看| 国产在线国偷精品产拍免费yy| 亚洲国产精品一区在线观看不卡| 韩日欧美一区二区三区| 亚洲精品专区| 久久婷婷蜜乳一本欲蜜臀| 午夜亚洲伦理| 国产自产v一区二区三区c| 欧美另类在线观看| 欧美激情久久久久| 国产亚洲福利社区一区| 国产精品红桃| 亚洲欧美在线高清| 在线观看一区二区精品视频| 久久久久一区| 美女国内精品自产拍在线播放| 国产欧美一区二区视频| av不卡在线看| 影音先锋日韩有码| 新67194成人永久网站| 久久久美女艺术照精彩视频福利播放| 久久亚洲精品中文字幕冲田杏梨| 日韩午夜精品视频| 国产精品日日摸夜夜摸av| 久久露脸国产精品| 欧美在线观看网址综合| 久久天堂av综合合色| 欧美另类在线观看| 韩国精品主播一区二区在线观看| 久久精品一级爱片| 欧美喷潮久久久xxxxx| 亚洲卡通欧美制服中文| 欧美一区二区三区四区在线观看地址| 伊甸园精品99久久久久久| 亚洲国产欧美精品| 在线欧美三区| 国产久一道中文一区| 国产精品乱码一区二区三区| 午夜视频在线观看一区| 午夜日韩福利| 亚洲激情第一页| 亚洲国产另类久久久精品极度| 欧美成人免费一级人片100| 国产精品久久久久久一区二区三区| 国产欧美精品一区二区三区介绍| 亚洲七七久久综合桃花剧情介绍| 91久久精品一区二区三区| 老司机精品久久| 免费欧美网站| 欧美日韩高清在线| 久久久久在线观看| 国产精品人成在线观看免费| 欧美午夜a级限制福利片| 久久国产精品久久精品国产| 免费中文字幕日韩欧美| 一区二区三区在线看| 亚洲欧美一区二区在线观看| 国产亚洲欧美一区在线观看| 国产精品日韩一区二区| 久久av老司机精品网站导航| 国产欧美日韩一级| 国产综合久久久久久| 欧美日韩国产高清视频| 91久久国产精品91久久性色| 亚洲一级片在线看| 美女脱光内衣内裤视频久久网站| 欧美日韩日韩| 亚洲欧美视频| 一本色道久久综合亚洲91| 午夜影视日本亚洲欧洲精品| 欧美成人精品激情在线观看| 欧美视频久久| 欧美在线观看一二区| 蜜桃精品一区二区三区| 国产三区精品| 欧美一区免费视频| 国产精品久久77777| 一区二区三区国产在线| 亚洲香蕉成视频在线观看| 亚洲欧洲一区二区三区在线观看| 久久久久免费| 久久大香伊蕉在人线观看热2| 伊人伊人伊人久久| 久久在精品线影院精品国产| 在线电影一区| 欧美一区三区二区在线观看| 国产精品乱看| 国产精品中文字幕在线观看| 日韩一区二区精品| 午夜老司机精品| 国产日韩欧美精品在线| 欧美一级在线亚洲天堂| 在线成人免费观看| 久久精品国产第一区二区三区最新章节| 欧美二区在线| 国产精品永久免费视频| 午夜亚洲影视| 欧美成人午夜激情在线| 日韩亚洲欧美精品| 亚洲精品日产精品乱码不卡| 蜜桃av一区| 国产精品激情偷乱一区二区∴| 久久久久久久久一区二区| 香蕉免费一区二区三区在线观看| 亚洲尤物视频网| 久久国产一区二区三区| 99精品视频免费在线观看| 亚洲欧洲精品成人久久奇米网| 亚洲一区二区在线看| 亚洲狼人精品一区二区三区| 欧美一区二区三区啪啪| 国产婷婷色一区二区三区四区| 欧美精品一区二区三区高清aⅴ| 欧美调教vk| 亚洲男人的天堂在线观看| 久久国产精品毛片| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲黄色成人| 国产精品久久国产精品99gif| 精品成人乱色一区二区| 国产精品亚洲综合久久| 蜜桃视频一区| 免费影视亚洲| aa级大片欧美| 亚洲一区二区在线观看视频| 国产一区二区三区奇米久涩| 久久久久国产成人精品亚洲午夜| 欧美精品激情在线观看| 欧美激情国产日韩精品一区18| 久久国产黑丝| 久久久美女艺术照精彩视频福利播放| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情第8页| 极品少妇一区二区三区精品视频| 欧美成人亚洲成人| 亚洲欧洲三级| 欧美日韩18| 久久欧美中文字幕| 国产精品自拍小视频| 久久高清一区| 99在线精品免费视频九九视| 狠狠爱综合网| 欧美/亚洲一区| 亚洲欧美一区二区在线观看| 久久久激情视频| 国产亚洲精品美女| 欧美日韩三级在线| 欧美日韩一级片在线观看| 欧美一区二区成人| 夜夜夜精品看看| 99精品热6080yy久久| 国产在线一区二区三区四区| 国产欧美在线观看一区| 亚洲精品一品区二品区三品区| 亚洲品质自拍| 国产精品国产| 欧美日本一道本在线视频| 欧美大片免费观看| 亚洲精品视频二区| 久久久精品五月天| 欧美成人一区二区三区在线观看| 国产精品一区毛片| 一本色道久久综合狠狠躁篇怎么玩| 99精品欧美一区二区蜜桃免费| 欧美国产第二页| 一区二区精品| 亚洲大片精品永久免费| 久久精品网址| 红桃视频国产一区| 亚洲国产小视频在线观看| 国产精品久久久久久久一区探花| 久久激情视频久久| 亚洲自拍都市欧美小说| 亚洲国产精品成人久久综合一区| 久久久av网站| 国内精品久久久久久久影视蜜臀| 激情一区二区三区| 欧美精品一区视频| 国产精品一区二区三区久久久| 亚洲欧美日韩一区在线观看| 久久久久久久欧美精品| 亚洲视频免费在线观看| 亚洲一区二区高清视频| 亚洲大胆在线| 久久精品一二三区| 国产嫩草影院久久久久| 欧美大片第1页| 欧美日韩一级片在线观看| 国产一区二区日韩精品| 国产精品美女午夜av| 欧美一区二区三区在线免费观看| 国产一区二区三区黄| 亚洲日本欧美| 午夜精品剧场| 伊人婷婷久久| 香蕉免费一区二区三区在线观看| 亚洲欧美中文在线视频| 亚洲自拍偷拍网址| 99ri日韩精品视频| 午夜精品美女自拍福到在线| 免费欧美日韩国产三级电影| 久久久久一区二区三区| 欧美精品激情blacked18| 欧美女同视频| 模特精品在线| 国一区二区在线观看| 久久亚洲精品视频| 国产精品专区第二|