多路讀寫(xiě)的SDRAM接口設計
(3)刷新操作
動(dòng)態(tài)存儲器(Dynamic RAM)都存在刷新問(wèn)題。這里主要采用自動(dòng)刷新方式,每隔一段時(shí)間向SDRAM發(fā)一條刷新命令。刷新過(guò)程如圖4所示。
3 接口電路的設計
(1)解復用電路
本解復用電路主要完成將1路高速數據流解復用為4路數據流,其結構框圖如圖5所示。1路數據流進(jìn)入解復用器后,經(jīng)過(guò)SDRAM緩沖,解復用為4路數據流。
由于要解復用為4路數據流,為了充分利用時(shí)隙,滿(mǎn)足高速的要求,采用4個(gè)bank的SDRAM,各路數據緩沖對應不同的bank。為簡(jiǎn)化設計,數據流1的緩沖區定為bank0,數據流2的緩沖區定為bank1,數據流3的緩沖區定為bank2數據流4的緩沖區定為bank3。對于每路數據實(shí)際上是以高速率集中寫(xiě)入,然后以低速率均勻讀出。
(2)SDRAM接口電路的時(shí)序控制
高速數據流的速率為3M字節/秒,采用的系統時(shí)鐘為20倍的字節時(shí)鐘。送入SDRAM的時(shí)鐘為60MHz系統時(shí)鐘。在一個(gè)字節時(shí)鐘內對SDRAM的操作最多有5次(1次讀,4次寫(xiě)),而且為了滿(mǎn)足刷新的要求,每個(gè)字節時(shí)鐘進(jìn)行一次刷新操作。根據SDRAM的時(shí)序要求,這樣的操作是難以實(shí)現的。因而要通過(guò)多bank操作,盡量做到時(shí)分復用來(lái)實(shí)現。圖6給出了在一個(gè)字節時(shí)鐘周期的內數據流1進(jìn)行讀寫(xiě)操作,其它3路數據進(jìn)行讀操作的命令排序時(shí)序圖??梢钥闯鐾ㄟ^(guò)多bank操作,時(shí)分復用,在20個(gè)系統時(shí)鐘節拍內所需的讀寫(xiě)操作命令剛好很緊湊地排開(kāi)。
(3)SDRAM接口電路
SDRAM接口電路中需要專(zhuān)門(mén)操作緩沖區存儲一個(gè)字節時(shí)鐘周期內的操作,以備下一字節時(shí)鐘的排序。為了方便處理,對每路數據的緩沖操作內容(或讀或寫(xiě))放在一個(gè)緩沖區。由于數據流的連續性,排序的同時(shí)仍然會(huì )有操作要求,因此每路的操作內容緩沖區分為兩塊。對一塊緩沖區寫(xiě)入時(shí),讀出另一塊緩沖區中的操作內容,進(jìn)行排序、譯碼、執行。根據字節時(shí)鐘切換對緩沖區的讀寫(xiě),從而避免沖突。對于從SDRAM讀出的數據,每路數據寫(xiě)入相應的讀出數據緩沖區。同樣每路的讀出數據緩沖區也分為兩塊,根據字節時(shí)鐘切換讀寫(xiě)。
由于一個(gè)字節時(shí)鐘周期內,每路所需的操作最多有2次,每路的操作內容緩沖區只需兩個(gè)單元(每個(gè)單元存儲了此次的讀寫(xiě)使能信號、寫(xiě)入數據、地址)即可。對于讀出數據緩沖區,由于一個(gè)字節時(shí)鐘每路數據最多執行一次讀操作,所以讀出數據緩沖區只需要一個(gè)字節。這兩類(lèi)緩沖區容量都小,因此人部用寄存器來(lái)實(shí)現,控制簡(jiǎn)單。
整個(gè)接口電路的結構框圖如圖8所示。
4 SDRAM接口的實(shí)現結果
針對MT48LC8M8A2的SDRAM,采用同步設計方法,用Verilog HDL硬件描述語(yǔ)言建立模型,接口電路已經(jīng)調試通過(guò),規模為2100門(mén)(NAND)。整個(gè)解復用電路也已經(jīng)調試通過(guò)。
評論