国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

SDRAM通用控制器的FPGA模塊化設(shè)計

發(fā)布時間:2010-7-22 17:24    發(fā)布者:vinda
關(guān)鍵詞: SDRAM , 控制器
引言

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

SDRAM及其控制過程

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

SDRAM首先要進行初始化操作。在上電后等待100ns,至少執(zhí)行1條空操作,然后對所有頁執(zhí)行預(yù)充電操作,接著向各頁發(fā)出兩條刷新操作指令,最后執(zhí)行SDRAM工作模式的設(shè)定LMR命令用來配置SDRAM工作模式寄存器。SDRAM工作寄存器可以根據(jù)具體應(yīng)用的需要進行設(shè)置。
初始后的SDRAM在得到了RAS、CAS、WE的值后開始執(zhí)行相應(yīng)的命令。在對SDRAM進行讀、寫過程中,必須要先進行頁激活A(yù)CT操作,保證存儲單元是打開的,以便從中讀取地址或者寫入地址,然后通過預(yù)充電PHC命令實現(xiàn)來關(guān)閉存儲單元。在進行寫操作時,內(nèi)部的列地址和數(shù)據(jù)都會被寄存,而進行讀操作時,內(nèi)部地址被寄存,數(shù)據(jù)的存儲則發(fā)生在CAS 延遲時間(通常為1~3個時鐘周期)后。最后,操作終止:當SDRAM順次的進行讀、寫操作后,當?shù)竭_到突發(fā)長度或者突發(fā)終止指令BT出現(xiàn)時,SDRAM將終止其操作。

模塊化的SDRAM控制器設(shè)計

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


  
圖1 SDRAM控制器的FPGA模塊化設(shè)計方案

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

與主機接口信號:CLK(系統(tǒng)時鐘);RESET(系統(tǒng)復(fù)位);CMD[2:0](譯碼指令);CMDACK(指令應(yīng)答信號);ADDR[ASIZE-1:0](地址線);DATAIN/DATAOU[DSIZE-1:0](輸入、輸出數(shù)據(jù)總線);DM[(DSIZE/8)-1:0](數(shù)據(jù)掩碼)。
與SDRAM接口信號:SA(地址線);BA(頁地址);CS_N(片選信號);CKE(時鐘使能信號);RAS、CAS、WE(命令控制信號);DQM[(DSIZE/8)-1:0](SDRAM數(shù)據(jù)掩碼);DQ[DSIZE-1:0](雙向數(shù)據(jù)線)。

各個模塊的設(shè)計與實現(xiàn)

接口控制模塊

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

type states is(nop,reada,writea,refresh,
precharge,load_mode);
signal state : states ;
………………
case cmd is
when "011" => state state

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

命令生成模塊

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

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

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

if (do_state=refresh or do_state=reada or
do_state=writea
or do_state=precharge or
do_state=load_mode)then
command_delay(7 downto 0)

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

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

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

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


圖2 SDRAM控制器接口


結(jié)語

本方案采用的模塊化思想為SDRAM控制器的開發(fā)提供了一種層次分明、易于擴展的設(shè)計思路。實驗結(jié)果表明,該控制器設(shè)計緊湊,維護升級方便,易于實現(xiàn)對SDRAM的通用化控制,這無疑將極大的提高SDRAM應(yīng)用的開發(fā)速度。
本文地址:http://www.qingdxww.cn/thread-16213-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 無線充電基礎(chǔ)知識及應(yīng)用培訓(xùn)教程3
  • 基于CEC1712實現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 想要避免發(fā)生災(zāi)難,就用MPLAB® SiC電源仿真器!
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 最近韩国日本免费 | 日韩精品在线视频 | 新版天堂资源中文8在线 | 一二三四社区在线视频社区3 | 欧美高清不卡视频 | 国产精品久久久久久久成人午夜 | 青青草原网站在线观看 | 奶茶app下载网址进入下载 | 无限看片动漫的视频在线观看免费 | av福利导导航 | 成年女人毛片免费视频 | 伊人六月 | 高清视频 一区二区三区四区 | 欧洲欧美成人免费大片 | 摸一摸操一操 | 久久久久久久久一级毛片 | 国产在线91精品入口首页 | 欧美在线高清视频 | 亚洲综合激情另类专区老铁性 | 久久久精品2018免费观看 | 色丁香色婷婷 | 亚洲精品高清视频 | 丝瓜草莓视频 | 韩国精品在线观看 | 成人午夜影视 | 两个人的免费视频 | 亚洲一区精品在线 | 四虎成人免费网站在线 | 亚洲激情婷婷 | 欧美在线亚洲 | 韩国一级毛片在线高清免费 | 三级纯黄 | 女人wwxxxxx | 国产精品久久久久久麻豆一区 | 99视频精品全部在线播放 | 色综合久久久久 | 欧美一级做一级爱a做片性 欧美一级做一a做片性视频 | 99久久免费精品国产免费 | 国产亚洲人成网站天堂岛 | 亚洲黄色影视 | 综合色区 |