測試SDRAM控制器的PDMA
1引言
現(xiàn)代電子信息設(shè)備往往需要保存和處理大量的數(shù)字信息,一個高性能的Memory控制器可以大大提高系統(tǒng)的性能。在進(jìn)行SDRAM控制器的設(shè)計時,需要考慮很多因素,設(shè)計完成以后還要進(jìn)行多項測試看是否完全滿足所要求的各項性能,為此我們設(shè)計了一個PDMA(Programmable Direct Mem o ry Access)用于測試SDRAM控制器的性能。在SoC中,SDRAM控制器往往跟多個IP模塊(圖形處理單元,音頻處理單元等)交換數(shù)據(jù),采用多個PDMA通道同時訪問Memory可以真實模擬SDRAM控制器在SoC環(huán)境中被多個IP隨機(jī)訪問的情形。
2 PDMA的結(jié)構(gòu)及工作原理
PDMA是可編程直接存儲器存取的簡稱。圖1 虛中框內(nèi)是PDMA的內(nèi)部模塊結(jié)構(gòu),它主要由寄存器組和控制器兩大部分構(gòu)成,寄存器組用于保存配置參數(shù)和PDMA對SDRMA控制器訪問后的狀態(tài)信息及接收、啟動、停止等控制信息。圖2是 PDMA寄存器組的內(nèi)部結(jié)構(gòu)。
寄存器組模塊里包含了一個同步模塊、控制寄存器、狀態(tài)寄存器和各通道的寄存器組。每一個子通道的寄存器組又包含訪問基址寄存器、訪問模式寄存器、周期計數(shù)器等三個寄存器。各寄存器的功能描述如表1所示。
PDMA的控制器主要由:產(chǎn)生寫數(shù)據(jù)的狀態(tài)機(jī)、地址譯碼模塊、FIFO以及讀數(shù)據(jù)校驗?zāi)K四部分構(gòu)成。各PDMA控制器的結(jié)構(gòu)如圖3所示,其核心邏輯是一個狀態(tài)機(jī),我們采用一個兩層嵌套的狀態(tài)機(jī)來實現(xiàn)控制功能,如圖4所示。
評論