《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > PDMA在測試SDRAM控制器中的應(yīng)用
PDMA在測試SDRAM控制器中的應(yīng)用
摘要: 我們設(shè)計了一個PDMA(ProgrammableDirectMemoryAccess)用于測試SDRAM控制器的性能。
關(guān)鍵詞: 通用電子測量 PDMA SDRAM控制器
Abstract:
Key words :

 

我們設(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)成。各模塊的功能由表2描述。


PDMA控制器的結(jié)構(gòu)如圖3所示,其核心邏輯是一個狀態(tài)機(jī),我們采用一個兩層嵌套的狀態(tài)機(jī)來實現(xiàn)控制功能,如圖4所示。


3 測試系統(tǒng)的結(jié)構(gòu)和工作原理

在本設(shè)計中,PDMA用于仿真多個IP核對SDRAM控制器進(jìn)行讀寫訪問以驗證SDRAM控制器的設(shè)計是否高效合理,性能是否穩(wěn)定等指標(biāo)。
PDMA整個測試系統(tǒng)由PCI接口模塊、PDMA 以及SDRAM控制器三大部分構(gòu)成(見圖1)。PCI接口模塊與PDMA之間以內(nèi)部IO總線相連接。 PDMA與SDRAM控制器之間以內(nèi)部Memory總線連接。PCI接口模塊連接外部PCI總線與內(nèi)部的 PDMA,轉(zhuǎn)換由外部發(fā)起的PCI IO訪問對PDMA進(jìn)行參數(shù)配置以及對命令、狀態(tài)等寄存器進(jìn)行讀寫。PDMA在得到了配置參數(shù)及啟動訪問的命令信息后啟動對SDRAM控制器的訪問(寫然后讀),并把測試的結(jié)果反映到PDMA的狀態(tài)寄存里。

測試用PDMA的具體工作過程如下:

(1)PCI接口模塊對PDMA各通道進(jìn)行參數(shù)配置(如訪問長度、訪問基址、訪問方式等);
(2)PCI接口模塊寫PDMA的控制寄存器,啟動對SDRAM的讀寫;
(3)PCI接口模塊讀PDMA的狀態(tài)寄存器,探測訪問是否完成,如完成,則讀取完成后的狀態(tài)信息(如錯誤位,發(fā)生錯誤的地址)。

 

 

4 RTL仿真

完成RTL級的設(shè)計后,我們利用Cadence公司的仿真工具VerilogXL對設(shè)計進(jìn)行了功能仿真。仿真的環(huán)境是基于PCI的,所以其仿真順序如下:

(1)配置PCI配置空間的IO Base 及 Mem o ry Base寄存器;
(2)寫PCI配置空間54H,58H等寄存器,配置SDRAM 控制器及SDRAM芯片的參數(shù);
(3)寫PCI配置空間的命令寄存器(offset==04h),使能該設(shè)備;
(4)訪問PCI IO空間中的PDMA配置寄存器,設(shè)定各個PDMA通道的配置參數(shù);
(5)寫入相應(yīng)的命令,啟動PDMA訪問內(nèi)新路子SDRAM控制器;
(6)檢測PDMA的狀態(tài)寄存器,根據(jù)設(shè)定的條件(正常結(jié)束或者發(fā)生錯誤)退出仿真程序;
(7)打開波形文件,檢查是否有錯誤發(fā)生。

圖5是由PCI發(fā)起的一次寫IO寄存器訪問的仿真波形,PDMA的配置數(shù)據(jù)就是通過若干這樣的操作完成的。


相對而言,我們更關(guān)注PDMA是如何訪問Memory的。圖6是由一個PDMA發(fā)起的寫讀模式下的訪問時序。GROUP1的信號是由PDMA發(fā)起的內(nèi)部Memory總線信號組,而GROUP2的信號是 Memory控制器和內(nèi)存芯片間的符合jedec標(biāo)準(zhǔn)的總線協(xié)議。從圖中我們可以清楚地看到總線協(xié)議的轉(zhuǎn)換過程,及時發(fā)現(xiàn)是否有違反協(xié)議的情況發(fā)生。


5 上板測試的方法和過程

在完成功能仿真后,使用Synopsys綜合工具 FPGA compiler對設(shè)計進(jìn)行綜合,并選用XILINX公司的VERTEX1600E系列為目標(biāo)器件,生成相應(yīng)的網(wǎng)表文件,下載到FPGA上進(jìn)行測試。綜合的結(jié)果如表3所示。測試平臺是一臺PC機(jī),帶有PCI標(biāo)準(zhǔn)接口的測試卡和PCI讀寫軟件。上板測試過程如下:


(1)下載bit文件到FPGA中;
(2)配置SDRAM控制器;
(3)置PDMA寄存器;
(4)啟動PDMA訪問;
(5)讀回PDMA的狀態(tài)位。

測試時需要輸入相應(yīng)的測試向量,一個好的軟件界面可以大大減輕硬件工程師編寫、輸入測試向量的工作量。表4是一個測試向量的內(nèi)容和結(jié)果,像這樣的測試要進(jìn)行多次以提高故障覆蓋率并統(tǒng)瞥鯥P的性能。


6 實驗結(jié)論

經(jīng)過不斷調(diào)試和改進(jìn),PDMA能夠按照功能寄存器的配置準(zhǔn)確發(fā)起Memory訪問,并能夠及時報告SDRAM控制器的操作錯誤。該測試平臺不僅適用于驗證SDRAM控制器的設(shè)計,而且在經(jīng)過很小的改動后可以配置成支持對性能更好的DDR存儲控制器的測試驗證。靈活的配置方式使之成為一個通用的測試平臺,對不同的Memory控制器的測試只需用軟件對相應(yīng)的配置寄存器進(jìn)行配置即可,硬件基本不用進(jìn)行改動,大大節(jié)約了設(shè)計時間,提高了設(shè)計的成功率和效益。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美午夜影院 | 99视频精品免视3 | 欧美人交性视频在线香蕉 | 久久精品夜色国产 | 久久厕所精品国产精品亚洲 | www.热| 欧美一级毛片免费看视频 | 欧美日韩一区二区三区视频播 | 新版天堂中文资源官网 | a高清免费毛片久久 | 92国产福利久久青青草原 | 亚洲羞羞裸色私人影院 | 性欧美精品久久久久久久 | 91精品国产乱码久久久久久 | 超清波多野结衣精品一区 | 日本a级精品一区二区三区 日本a级毛片免费视频播放 | 国产精品亚洲一区二区三区在线观看 | 久草在线视频新时代视频 | 黄色在线不卡 | 国产欧美日韩视频在线观看 | 美女张开大腿让男人捅 | 亚洲一区二区天海翼 | 99在线热播精品免费 | 免费永久国产在线视频 | 精品欧美高清不卡在线 | 毛片免费观看日本中文 | 午夜视频国产 | 久久一区二区三区免费 | 欧美国产三级 | av成人天堂| 鲁老汉精品视频在线观看 | 在线男人的天堂 | 香蕉香蕉国产片一级一级毛片 | 欧美亚洲国产精品 | 国产精品精品国产一区二区 | 国产黄a三级三级看三级 | 一级特黄aa大片欧美 | 久久99亚洲精品久久频 | 久久中文字幕综合不卡一二区 | 午夜免费毛片 | 久久精品免费一区二区视 |