多路讀寫接口設(shè)計分析論文
時間:2022-06-26 03:58:00
導(dǎo)語:多路讀寫接口設(shè)計分析論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:介紹SDRAM的主要控制信號和基本命令時序,提出一種應(yīng)用于解復(fù)用的支持多路讀寫的SDRAM接口設(shè)計,為需要大容量存儲器的電路設(shè)計提供了新思路。
關(guān)鍵詞:SDRAM解復(fù)用接口
存儲器是容量數(shù)據(jù)處理電路的重要組成部分。隨著數(shù)據(jù)處理技術(shù)的進(jìn)一步發(fā)展,對于存儲器的容量和性能提出了越來越高的要求。同步動態(tài)隨機(jī)存儲器SDRAM(SynchronousDynamicRandomAccessMemory)因其容量大、讀寫速度快、支持突發(fā)式讀寫及相對低廉的價格而得到了廣泛的應(yīng)用。SDRAM的控制比較復(fù)雜,其接口電路設(shè)計是關(guān)鍵。
本文首先介紹SDRAM的主要控制信號和基本命令;然后介紹接口電路對SDRAM的主要操作路徑及操作過程,應(yīng)用于解復(fù)用的SDRAM接口電路的設(shè)計方法;最后給出了實(shí)現(xiàn)結(jié)果。
1SDRAM的主要控制信號和基本命令
SDRAM的主要控制信號為:
·CS:片選使能信號,低電平有效;
·RAS:行地址選通信號,低電平有效;
·CAS:列地址選通信號,低電平有效;
·WE:寫使能信號,低電平有效。
SDRAM的基本命令及主要控制信號見表1。
表1SDRAM基本操作及控制信號
命令名稱CSRASCASWE
命令禁止(NOP:Commandinhibit)HXXX
空操作(NOP:Nooperation)LHHH
激活操作(ACT:Selectbankandactiverow)LLHH
讀操作(READ:Selectbankandcolumn,andstartREADburst)LHLH
寫操作(WRITE:Selectbankandcolumn,andstartWRITEburst)LHLL
突發(fā)操作停止(BTR:Burstterminate)LHHL
預(yù)充電(PRE:Deactiverowinbankorbanks)LLHL
自動刷新或自我刷新(REF:Autorefreshorselfrefresh)LLLH
配置模式寄存器(LMR:Loadmoderegister)LLLL
所有的操作控制信號、輸入輸出數(shù)據(jù)都與外部時鐘同步。
2接口電路對SDRAM的主要操作路徑及操作過程
一個完備的SDRAM接口很復(fù)雜。由于本文的SDRAM接口應(yīng)用于解復(fù)用,處理的事件相對來說比較簡單,因而可以簡化設(shè)計而不影響性能。接口電路SDRAM的主要操作可以分為:初始化操作、讀操作、寫操作、自動刷新操作。
(1)初始化操作
SDRAM上電一段時間后,經(jīng)過初始化操作才可以進(jìn)入正常工作過程。初始化主要完成預(yù)充電、自動刷新模式寄存器的配置。操作過程如圖1所示。
(2)讀寫操作
讀寫操作主要完成與SDRAM的數(shù)據(jù)交換。讀操作過程如圖2所示,寫操作過程如圖3所示。
(3)刷新操作
動態(tài)存儲器(DynamicRAM)都存在刷新問題。這里主要采用自動刷新方式,每隔一段時間向SDRAM發(fā)一條刷新命令。刷新過程如圖4所示。
3接口電路的設(shè)計
(1)解復(fù)用電路
本解復(fù)用電路主要完成將1路高速數(shù)據(jù)流解復(fù)用為4路數(shù)據(jù)流,其結(jié)構(gòu)框圖如圖5所示。1路數(shù)據(jù)流進(jìn)入解復(fù)用器后,經(jīng)過SDRAM緩沖,解復(fù)用為4路數(shù)據(jù)流。
由于要解復(fù)用為4路數(shù)據(jù)流,為了充分利用時隙,滿足高速的要求,采用4個bank的SDRAM,各路數(shù)據(jù)緩沖對應(yīng)不同的bank。為簡化設(shè)計,數(shù)據(jù)流1的緩沖區(qū)定為bank0,數(shù)據(jù)流2的緩沖區(qū)定為bank1,數(shù)據(jù)流3的緩沖區(qū)定為bank2數(shù)據(jù)流4的緩沖區(qū)定為bank3。對于每路數(shù)據(jù)實(shí)際上是以高速率集中寫入,然后以低速率均勻讀出。
由于進(jìn)行的是解復(fù)用,因此寫入的數(shù)據(jù)只有1路,但是有可能4路數(shù)據(jù)同時都要讀出。所以對于4路數(shù)據(jù)流,其讀寫地址和讀寫使能信號是分開的。
(2)SDRAM接口電路的時序控制
高速數(shù)據(jù)流的速率為3M字節(jié)/秒,采用的系統(tǒng)時鐘為20倍的字節(jié)時鐘。送入SDRAM的時鐘為60MHz系統(tǒng)時鐘。在一個字節(jié)時鐘內(nèi)對SDRAM的操作最多有5次(1次讀,4次寫),而且為了滿足刷新的要求,每個字節(jié)時鐘進(jìn)行一次刷新操作。根據(jù)SDRAM的時序要求,這樣的操作是難以實(shí)現(xiàn)的。因而要通過多bank操作,盡量做到時分復(fù)用來實(shí)現(xiàn)。圖6給出了在一個字節(jié)時鐘周期的內(nèi)數(shù)據(jù)流1進(jìn)行讀寫操作,其它3路數(shù)據(jù)進(jìn)行讀操作的命令排序時序圖。可以看出通過多bank操作,時分復(fù)用,在20個系統(tǒng)時鐘節(jié)拍內(nèi)所需的讀寫操作命令剛好很緊湊地排開。
一個字節(jié)時鐘內(nèi)對SDRAM讀寫操作是隨機(jī)的,這與數(shù)據(jù)流的復(fù)用比例有在。為了滿足時序,根據(jù)上面的說明,需要把一個字節(jié)時鐘周期內(nèi)對SDRAM的命令合理排序,然后按照排好的順序執(zhí)行命令。這樣就需要把一個字節(jié)時鐘周期內(nèi)對SDRAM的操作進(jìn)行緩存,然后在下一個字節(jié)時鐘周期內(nèi)進(jìn)行排序、與SDRAM命令相對應(yīng)、將命令譯碼產(chǎn)生相應(yīng)的控制信號線,完成操作。緩存排序過程如圖7所示。
(3)SDRAM接口電路
SDRAM接口電路中需要專門操作緩沖區(qū)存儲一個字節(jié)時鐘周期內(nèi)的操作,以備下一字節(jié)時鐘的排序。為了方便處理,對每路數(shù)據(jù)的緩沖操作內(nèi)容(或讀或?qū)懀┓旁谝粋€緩沖區(qū)。由于數(shù)據(jù)流的連續(xù)性,排序的同時仍然會有操作要求,因此每路的操作內(nèi)容緩沖區(qū)分為兩塊。對一塊緩沖區(qū)寫入時,讀出另一塊緩沖區(qū)中的操作內(nèi)容,進(jìn)行排序、譯碼、執(zhí)行。根據(jù)字節(jié)時鐘切換對緩沖區(qū)的讀寫,從而避免沖突。對于從SDRAM讀出的數(shù)據(jù),每路數(shù)據(jù)寫入相應(yīng)的讀出數(shù)據(jù)緩沖區(qū)。同樣每路的讀出數(shù)據(jù)緩沖區(qū)也分為兩塊,根據(jù)字節(jié)時鐘切換讀寫。
由于一個字節(jié)時鐘周期內(nèi),每路所需的操作最多有2次,每路的操作內(nèi)容緩沖區(qū)只需兩個單元(每個單元存儲了此次的讀寫使能信號、寫入數(shù)據(jù)、地址)即可。對于讀出數(shù)據(jù)緩沖區(qū),由于一個字節(jié)時鐘每路數(shù)據(jù)最多執(zhí)行一次讀操作,所以讀出數(shù)據(jù)緩沖區(qū)只需要一個字節(jié)。這兩類緩沖區(qū)容量都小,因此人部用寄存器來實(shí)現(xiàn),控制簡單。
整個接口電路的結(jié)構(gòu)框圖如圖8所示。
4SDRAM接口的實(shí)現(xiàn)結(jié)果
針對MT48LC8M8A2的SDRAM,采用同步設(shè)計方法,用VerilogHDL硬件描述語言建立模型,接口電路已經(jīng)調(diào)試通過,規(guī)模為2100門(NAND)。整個解復(fù)用電路也已經(jīng)調(diào)試通過。