使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器(圖)
發(fā)布時(shí)間:2007/8/23 0:00:00 訪問次數(shù):448
作者:曹華 鄧彬
摘 要:介紹了SDRAM的特點(diǎn)和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,使用該方法實(shí)現(xiàn)的控制器可非常方便地對(duì)SDRAM進(jìn)行控制。
關(guān)鍵詞:SDRAM;控制器;Verilog;狀態(tài)機(jī)
引言
在基于FPGA的圖象采集顯示系統(tǒng)中,常常需要用到大容量、高速度的存儲(chǔ)器。而在各種隨機(jī)存儲(chǔ)器件中,SDRAM的價(jià)格低、體積小、速度快、容量大,是比較理想的器件。但SDRAM的控制邏輯比較復(fù)雜,對(duì)時(shí)序要求也十分嚴(yán)格,使用很不方便,這就要求有一個(gè)專門的控制器,使系統(tǒng)用戶能很方便地操作SDRAM。為此,本文提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,并用Verilog給于實(shí)現(xiàn),仿真結(jié)果表明通過該方法設(shè)計(jì)實(shí)現(xiàn)的控制器可以在FPGA芯片內(nèi)組成如圖1所示的SDRAM接口,從而使得系統(tǒng)用戶對(duì)SDRAM的操作非常方便。
SDRAM簡(jiǎn)介
SDRAM器件的管腳分為控制信號(hào)、地址和數(shù)據(jù)三類。通常一個(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的工作模式。
● 訪問存儲(chǔ)單元
為減少I/O引腳數(shù)量,SDRAM復(fù)用地址線,所以在讀寫SDRAM時(shí),先由ACTIVE命令激活要讀寫的BANK,并鎖存行地址,然后在讀寫指令有效時(shí)鎖存列地址。一旦BANK被激活后只有執(zhí)行一次預(yù)充命令后才能再次激活同一BANK。
● 刷新和預(yù)充
SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,因此必須有定時(shí)的刷新周期以避免數(shù)據(jù)丟失。刷新周期可由(最小刷新周期÷時(shí)鐘周期)計(jì)算獲得。對(duì)BANK預(yù)充電或者關(guān)閉已激活的BANK,可預(yù)充特定BANK也可同時(shí)作用于所有BANK,A10、BA0和BA1用于選擇BANK。
● 操作控制
SDRAM的具體控制命令由一些專用控制引腳和地址線輔助完成。CS、RAS、CAS和WR在時(shí)鐘上升沿的狀態(tài)決定具體操作動(dòng)作,地址線和BANK選擇控制線在部分操作動(dòng)作中作為輔助參數(shù)輸入。由于特殊的存儲(chǔ)結(jié)構(gòu),SDRAM操作指令比較多,不像SRAM一樣只有簡(jiǎn)單的讀寫。
SDRAM控制器的設(shè)計(jì)實(shí)現(xiàn)
● 總體設(shè)計(jì)框圖和外部接口信號(hào)
SDRAM控制器與外部的接口示意圖由圖1給出,控制器右端接口信號(hào)均為直接與SDRAM對(duì)應(yīng)管腳相連的信號(hào),此處不做介紹。控制器左端的接口信號(hào)為與FPGA相連的系統(tǒng)控制接口信號(hào),其中,CLK133為系統(tǒng)時(shí)鐘信號(hào),RESET_N為復(fù)位信號(hào),ADDR為系統(tǒng)給出的SDRAM地址信號(hào),DAIN是系統(tǒng)用于寫入SDRAM的數(shù)據(jù)信號(hào),F(xiàn)PGA_RD和FPGA_WR為系統(tǒng)讀、寫請(qǐng)求信號(hào)(1為有效,0為無(wú)效),SDRAM_FREE是SDRAM的空閑狀態(tài)標(biāo)示信號(hào)(0為空閑,1為忙碌),F(xiàn)DATA_ENABLE是控制器給系統(tǒng)的數(shù)據(jù)收發(fā)指示信號(hào)(為0時(shí),無(wú)法對(duì)SDRAM進(jìn)行數(shù)據(jù)收發(fā);為1時(shí),若是系統(tǒng)讀操作,則系統(tǒng)此時(shí)可從DAOUT接收SDRAM的數(shù)據(jù),若是寫操作,則系統(tǒng)此時(shí)可以通過DAIN發(fā)送數(shù)據(jù)給SDRAM)。
SDRAM控制器的結(jié)構(gòu)組成如圖2所示,包括系統(tǒng)控制接口模塊、CMD命令解析模塊、命令響應(yīng)模塊、數(shù)據(jù)通路模塊共四個(gè)模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號(hào),進(jìn)而產(chǎn)生不同的CMD命令組合;CMD命令解析模塊用于接收CMD命令并解碼成操作指令;命令響應(yīng)模塊用于接收操作指令并產(chǎn)生SDRAM的操作動(dòng)作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入輸出。
SDRA
作者:曹華 鄧彬
摘 要:介紹了SDRAM的特點(diǎn)和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,使用該方法實(shí)現(xiàn)的控制器可非常方便地對(duì)SDRAM進(jìn)行控制。
關(guān)鍵詞:SDRAM;控制器;Verilog;狀態(tài)機(jī)
引言
在基于FPGA的圖象采集顯示系統(tǒng)中,常常需要用到大容量、高速度的存儲(chǔ)器。而在各種隨機(jī)存儲(chǔ)器件中,SDRAM的價(jià)格低、體積小、速度快、容量大,是比較理想的器件。但SDRAM的控制邏輯比較復(fù)雜,對(duì)時(shí)序要求也十分嚴(yán)格,使用很不方便,這就要求有一個(gè)專門的控制器,使系統(tǒng)用戶能很方便地操作SDRAM。為此,本文提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,并用Verilog給于實(shí)現(xiàn),仿真結(jié)果表明通過該方法設(shè)計(jì)實(shí)現(xiàn)的控制器可以在FPGA芯片內(nèi)組成如圖1所示的SDRAM接口,從而使得系統(tǒng)用戶對(duì)SDRAM的操作非常方便。
SDRAM簡(jiǎn)介
SDRAM器件的管腳分為控制信號(hào)、地址和數(shù)據(jù)三類。通常一個(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的工作模式。
● 訪問存儲(chǔ)單元
為減少I/O引腳數(shù)量,SDRAM復(fù)用地址線,所以在讀寫SDRAM時(shí),先由ACTIVE命令激活要讀寫的BANK,并鎖存行地址,然后在讀寫指令有效時(shí)鎖存列地址。一旦BANK被激活后只有執(zhí)行一次預(yù)充命令后才能再次激活同一BANK。
● 刷新和預(yù)充
SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,因此必須有定時(shí)的刷新周期以避免數(shù)據(jù)丟失。刷新周期可由(最小刷新周期÷時(shí)鐘周期)計(jì)算獲得。對(duì)BANK預(yù)充電或者關(guān)閉已激活的BANK,可預(yù)充特定BANK也可同時(shí)作用于所有BANK,A10、BA0和BA1用于選擇BANK。
● 操作控制
SDRAM的具體控制命令由一些專用控制引腳和地址線輔助完成。CS、RAS、CAS和WR在時(shí)鐘上升沿的狀態(tài)決定具體操作動(dòng)作,地址線和BANK選擇控制線在部分操作動(dòng)作中作為輔助參數(shù)輸入。由于特殊的存儲(chǔ)結(jié)構(gòu),SDRAM操作指令比較多,不像SRAM一樣只有簡(jiǎn)單的讀寫。
SDRAM控制器的設(shè)計(jì)實(shí)現(xiàn)
● 總體設(shè)計(jì)框圖和外部接口信號(hào)
SDRAM控制器與外部的接口示意圖由圖1給出,控制器右端接口信號(hào)均為直接與SDRAM對(duì)應(yīng)管腳相連的信號(hào),此處不做介紹?刂破髯蠖说慕涌谛盘(hào)為與FPGA相連的系統(tǒng)控制接口信號(hào),其中,CLK133為系統(tǒng)時(shí)鐘信號(hào),RESET_N為復(fù)位信號(hào),ADDR為系統(tǒng)給出的SDRAM地址信號(hào),DAIN是系統(tǒng)用于寫入SDRAM的數(shù)據(jù)信號(hào),F(xiàn)PGA_RD和FPGA_WR為系統(tǒng)讀、寫請(qǐng)求信號(hào)(1為有效,0為無(wú)效),SDRAM_FREE是SDRAM的空閑狀態(tài)標(biāo)示信號(hào)(0為空閑,1為忙碌),F(xiàn)DATA_ENABLE是控制器給系統(tǒng)的數(shù)據(jù)收發(fā)指示信號(hào)(為0時(shí),無(wú)法對(duì)SDRAM進(jìn)行數(shù)據(jù)收發(fā);為1時(shí),若是系統(tǒng)讀操作,則系統(tǒng)此時(shí)可從DAOUT接收SDRAM的數(shù)據(jù),若是寫操作,則系統(tǒng)此時(shí)可以通過DAIN發(fā)送數(shù)據(jù)給SDRAM)。
SDRAM控制器的結(jié)構(gòu)組成如圖2所示,包括系統(tǒng)控制接口模塊、CMD命令解析模塊、命令響應(yīng)模塊、數(shù)據(jù)通路模塊共四個(gè)模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號(hào),進(jìn)而產(chǎn)生不同的CMD命令組合;CMD命令解析模塊用于接收CMD命令并解碼成操作指令;命令響應(yīng)模塊用于接收操作指令并產(chǎn)生SDRAM的操作動(dòng)作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入輸出。
SDRA
熱門點(diǎn)擊
- MMIC和RFIC的CAD 王紹東,高學(xué)邦,
- D/A轉(zhuǎn)換器輸出波形的尖峰消除方案
- LabVIEW與MATLAB混合編程
- 單片機(jī)89C52并行I/O口實(shí)現(xiàn)多個(gè)LED顯
- SMT焊接常見缺陷及解決辦法
- 3G W-CDMA FDD直接轉(zhuǎn)換零中頻接收
- EDA海外發(fā)展前景(上)
- 數(shù)字動(dòng)態(tài)偏置IC提供完整的功率放大器偏置解決
- 采用微流體背部冷卻技術(shù)實(shí)現(xiàn)芯片散熱(圖)
- 以太網(wǎng):技術(shù)和應(yīng)用不斷擴(kuò)展 信息產(chǎn)業(yè)部電信研
推薦技術(shù)資料
- 按鈕與燈的互動(dòng)實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究