《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > SDRAM通用控制器的FPGA模塊化設計
SDRAM通用控制器的FPGA模塊化設計
摘要: 介紹了一種SDRAM通用控制器的FPGA模塊化解決方案。基于FPGA的SDRAM控制器,以其可靠性高、可移植性強、易于集成的特點,已逐漸取代了以往的專用控制器芯片而成為主流解決方案。
關鍵詞: FPGA Flash SRAM
Abstract:
Key words :

       引言

      
同步動態(tài)隨機存儲器(SDRAM),在同一個CPU時鐘周期內即可完成數據的訪問和刷新,其數據傳輸速度遠遠大于傳統(tǒng)的數據存儲器(DRAM),被廣泛的應用于高速數據傳輸系統(tǒng)中。基于FPGA的SDRAM控制器,以其可靠性高、可移植性強、易于集成的特點,已逐漸取代了以往的專用控制器芯片而成為主流解決方案。然而,SDRAM復雜的控制邏輯和要求嚴格的時序,成為開發(fā)過程中困擾設計人員主要因素,進而降低了開發(fā)速度,而且大多數的基于FPGA的SDRAM控制器都是針對特定的SDRAM芯片進行設計,無法實現控制器的通用性。本文介紹一種通用SDRAM控制器的FPGA模塊化解決方案。

       SDRAM控制邏輯復雜,命令種類多樣,需要周期性刷新操作、行列管理的等多重操作。

       SDRAM首先要進行初始化操作。在上電后等待100ns,

 

至少執(zhí)行1條空操作,然后對所有頁執(zhí)行預充電操作,接著向各頁發(fā)出兩條刷新操作指令,最后執(zhí)行SDRAM工作模式的設定LMR命令用來配置SDRAM工作模式寄存器。SDRAM工作寄存器可以根據具體應用的需要進行設置。

       初始后的SDRAM在得到了RAS、CAS、WE的值后開始執(zhí)行相應的命令。在對SDRAM進行讀、寫過程中,必須要先進行頁激活ACT操作,保證存儲單元是打開的,以便從中讀取地址或者寫入地址,然后通過預充電PHC命令實現來關閉存儲單元。在進行寫操作時,內部的列地址和數據都會被寄存,而進行讀操作時,內部地址被寄存,數據的存儲則發(fā)生在CAS延遲時間(通常為1~3個時鐘周期)后。最后,操作終止:當SDRAM順次的進行讀、寫操作后,當到達到突發(fā)長度或者突發(fā)終止指令BT出現時,SDRAM將終止其操作。

       模塊化的SDRAM控制器設計

      
在SDRAM控制器的FPGA實現方案中,采用了:FPGA的自底向上的模塊化設計思想,首先分析頂層模塊的功能,再將其功能分類細化,分配到不同的子模塊去實現,然后自底向上的先逐步完成各個子模塊的設計,最后將子模塊相互連接生成頂層模塊。經過分析,SDRAM控制器應實現的功能有:為SDRAM提供刷新控制以保持SDRAM中的數據;對主機的命令進行仲裁,將下一步要執(zhí)行的命令翻譯成可與SDRAM連接的信號;為SDRAM的讀、寫生成數據路徑。因此,根據SDRAM的指令操作特點將SDRAM控制器劃分為接口控制模塊、命令生成模塊和數據路徑模塊三個主要模塊(圖1)。

 

模塊化設計

       下面,對其接口信號進行介紹,需要注意的是,為了實現該控制器的通用性,ADDR、DATAIN、DATAOUT、DQ、DOM信號設計成可根據SDRAM的容量改變的形式。

       與主機接口信號:CLK(系統(tǒng)時鐘);RESET(系統(tǒng)復位);CMD[2:0](譯碼指令);CMDACK(指令應答信號);ADDR[ASIZE-1:0】(地址線);DATAIN/DATAOU[DSIZE-1:0](輸入、輸出數據總線);DM[(DSIZE/8)-1:0】(數據掩碼)。

       與SDRAM接口信號:SA(地址線);BA(頁地址);CS-N(片選信號);CKE(時鐘使能信號);RAS、CAS、WE(命令控制信號);DQM[(DSIZE/8)-1:0](SDRAM數據掩碼);DQ[DSIZE-1:0】(雙向數據線)。

       各個模塊的設計與實現

      
接口控制模塊

      
接口控制模塊主要實現的功能是將CMD[2:0]翻譯成接口指令和對刷新計數器的控制指令。接口模塊在工作過程中首先通過要通過狀態(tài)機來完成對CMD[2:0]的翻譯。在VHDL程序中聲明一個用戶自定義類型states,根據CMD[2:0】輸入來決定狀態(tài)的轉移,完成對CMD[2:0】的解碼,部分代碼如下:

         在VHDL程序中聲明一個用戶自定義類型states代碼
            在VHDL程序中聲明一個用戶自定義類型states代碼2

       另外,SDRAM需要周期性刷新操作以保持數據。在模塊的程序設計中,刷新周期的控制通過一個計數器來完成,到達規(guī)定的計數周期數時,接口模塊通過REF_REQ信號向SDRAM發(fā)出刷新請求。直到SDRAM完成刷新操作,發(fā)出REF_AcK刷新應答信號,計數器才重新賦值,開始下一次的計數。

       命令生成模塊

      
命令生成模塊實現對輸入的SDRAM指令請求進行仲裁判斷的功能,并將仲裁后要執(zhí)行的指令解碼成sDRAM需要的RAS、CAS等信號,從而實現指令對SDRAM的控制。仲裁機制是SDRAM控制器設計不可或缺的一個環(huán)節(jié)。仲裁機制實現要遵循如下規(guī)則:

       ·sDRAM在每一刻只有一個指令在執(zhí)行;
       ·先到的指令先執(zhí)行,如果刷新請求到來時,其它命令正在執(zhí)行中,要等到當前命令執(zhí)行完成后,才能執(zhí)行刷新指令;
       ·其它指令和刷新請求同時到來時刷新操作先執(zhí)行。

       經過仲裁判斷后,指令將傳入命令生成器。命令生成器不僅要把指令解碼成SDRAM需要的RAS、CAS等信號,同時還要對命令執(zhí)行的時間進行控制。下面的例程僅供參考。

       對命令執(zhí)行的時間進行控制

       下面介紹輸入的指令為writea和reada指令時模塊所進行的操作。當SDRAM的writea和reada指令到來時,將引發(fā)一系列指令的執(zhí)行,和其它指令相比需要更多的附加時間。所以,在這種情況下需要聲明第二個移位寄存器rw_shift來完成這兩個指令的附加時間的實現。rw_shift的工作原理和第一個移位寄存器command_delay是一樣的,需根據讀、寫的時間決定rw_shift的位數。

       最后一個移位寄存器oe_shift用來為數據通道生成數據輸入、輸出使能信號oe。對于非頁模式的讀寫來說,oe保持有效的時間取決于突發(fā)長度,需要注意的是,讀操作時,oe有效的起始時間取決于CAS延時時間,而對于寫操作,則在寫指令開始時oe就是有效的。

       數據路徑模塊

      
數據路徑模塊的作用是在writea和reada命令期間生成數據的路徑。在用VHDL語言程序中,用簡單的賦值語句就可以實現數據路徑模塊。

       通用性的實現

      

 

根據SDRAM控制器的FPGA模塊化設計方案生成的FPGA控制器易于修改和擴展,具有可通用的特性。在具體的應用中,針對不同的SDRAM,并不需要更改SDRAM控制器結構,只要根據datasheei中的sDRAM的容量將地址線數和數據的位數做相應修改,再依據SDRAM的時序和讀、寫速度更改接口控制模塊中的時間信號的周期,如刷新周期、命令生成模塊中移位寄存器的位數和初值等,這樣就可以對不同的SDRAM進行控制。最后,生成的SDRAM控制器頂層模塊如圖2所示。為了證明該控制器設計方案的可行性和通用性,在Altera公司的Cyclone系列FPGA--EP1C6Q240C8中生成SDRAM控制器,根據數據手冊中SDRAM的參數對控制器各模塊的VHDL語言程序做相應的改動,實現了對三星公司的8MByte SDRAM K4S641632E和2MByteSDRAM K4S161622D的控制,均達到了100MHz的讀、寫速度。

       結語

      
本方案采用的模塊化思想為SDRAM控制器的開發(fā)提供了一種層次分明、易于擴展的設計思路。實驗結果表明,該控制器設計緊湊,維護升級方便,易于實現對SDRAM的通用化控制,這無疑將極大的提高SDRAM應用的開發(fā)速度。

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 中文字幕日本精品一区二区三区 | 国内视频在线 | 国产精品密蕾丝视频 | 在线成人播放毛片 | 国产午夜精品不卡观看 | 久久精品国产半推半就 | 黄色片中文字幕 | 国产新疆成人a一片在线观看 | 国产日韩欧美亚洲 | 999精品久久久中文字幕蜜桃 | 欧美大成色www永久网站婷 | 日本成人一级 | a亚洲欧美中文日韩在线v日本 | 一区二区三区免费精品视频 | 国产成人精彩在线视频50 | 欧美视频第一页 | 在线中文字幕一区 | 无码一区二区三区视频 | 福利视频欧美一区二区三区 | 精品无人区一区二区三区a 精品午夜国产在线观看不卡 | 日本欧美一二三区色视频 | 免费在线欧美 | 中文日韩欧美 | 天天综合网天天综合色不卡 | 一级片手机在线观看 | 三级黄色片在线观看 | 5x性区m免费毛片视频看看 | 日韩爽爽爽视频免费播放 | 欧美白人猛性xxxxx交69 | 午夜寂寞影院在线观看 | 免费中文字幕在线 | 一级黄色在线视频 | 色天天综合色天天天天看大 | 小明永久免费 | 无遮羞无删减肉动漫在线观看 | 久草欧美 | 老色网站 | 亚洲综合久久1区2区3区 | 欧美亚洲国产成人综合在线 | 久久国产午夜精品理论片34页 | 免费在线精品视频 |