《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 測試SDRAM控制器的PDMA
測試SDRAM控制器的PDMA
摘要: 現代電子信息設備往往需要保存和處理大量的數字信息,一個高性能的Memory控制器可以大大提高系統的性能。在進行SDRAM控制器的設計時,需要考慮很多因素,設計完成以后還要進行多項測試看是否完全滿足所要求的各項性能,為此我們設計了一個PDMA(ProgrammableDirectMemoryAccess)用于測試SDRAM控制器的性能。在SoC中,SDRAM控制器往往跟多個IP模塊(圖形處理單元,音頻處理單元等)交換數據,采用多個PDMA通道同時訪問Memory可以真實模擬SDRAM控制器在SoC環境中被多個IP隨機訪問的情形。
Abstract:
Key words :

中心議題:

解決方案:

  • 仿真多個IP核
  • SDRAM控制器的設計


1引言

現代電子信息設備往往需要保存和處理大量的數字信息,一個高性能的Memory控制器可以大大提高系統的性能。在進行SDRAM控制器的設計時,需要考慮很多因素,設計完成以后還要進行多項測試看是否完全滿足所要求的各項性能,為此我們設計了一個PDMA(Programmable Direct Mem o ry Access)用于測試SDRAM控制器的性能。在SoC中,SDRAM控制器往往跟多個IP模塊(圖形處理單元,音頻處理單元等)交換數據,采用多個PDMA通道同時訪問Memory可以真實模擬SDRAM控制器在SoC環境中被多個IP隨機訪問的情形。

2 PDMA的結構及工作原理

PDMA是可編程直接存儲器存取的簡稱。圖1 虛中框內是PDMA的內部模塊結構,它主要由寄存器組和控制器兩大部分構成,寄存器組用于保存配置參數和PDMA對SDRMA控制器訪問后的狀態信息及接收、啟動、停止等控制信息。圖2是 PDMA寄存器組的內部結構。


寄存器組模塊里包含了一個同步模塊、控制寄存器、狀態寄存器和各通道的寄存器組。每一個子通道的寄存器組又包含訪問基址寄存器、訪問模式寄存器、周期計數器等三個寄存器。各寄存器的功能描述如表1所示。



PDMA的控制器主要由:產生寫數據的狀態機、地址譯碼模塊、FIFO以及讀數據校驗模塊四部分構成。各PDMA控制器的結構如圖3所示,其核心邏輯是一個狀態機,我們采用一個兩層嵌套的狀態機來實現控制功能,如圖4所示。

 


3 測試系統的結構和工作原理

在本設計中,PDMA用于仿真多個IP核對SDRAM控制器進行讀寫訪問以驗證SDRAM控制器的設計是否高效合理,性能是否穩定等指標。

PDMA整個測試系統由PCI接口模塊、PDMA 以及SDRAM控制器三大部分構成(見圖1)。PCI接口模塊與PDMA之間以內部IO總線相連接。 PDMA與SDRAM控制器之間以內部Memory總線連接。PCI接口模塊連接外部PCI總線與內部的 PDMA,轉換由外部發起的PCI IO訪問對PDMA進行參數配置以及對命令、狀態等寄存器進行讀寫。PDMA在得到了配置參數及啟動訪問的命令信息后啟動對SDRAM控制器的訪問(寫然后讀),并把測試的結果反映到PDMA的狀態寄存里。

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

(1)PCI接口模塊對PDMA各通道進行參數配置(如訪問長度、訪問基址、訪問方式等);

(2)PCI接口模塊寫PDMA的控制寄存器,啟動對SDRAM的讀寫;

(3)PCI接口模塊讀PDMA的狀態寄存器,探測訪問是否完成,如完成,則讀取完成后的狀態信息(如錯誤位,發生錯誤的地址)。

4 RTL仿真

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

(1)配置PCI配置空間的IO Base 及 Mem o ry Base寄存器;

(2)寫PCI配置空間54H,58H等寄存器,配置SDRAM 控制器及SDRAM芯片的參數;

(3)寫PCI配置空間的命令寄存器(offset==04h),使能該設備;

(4)訪問PCI IO空間中的PDMA配置寄存器,設定各個PDMA通道的配置參數;

(5)寫入相應的命令,啟動PDMA訪問內新路子SDRAM控制器;

(6)檢測PDMA的狀態寄存器,根據設定的條件(正常結束或者發生錯誤)退出仿真程序;

(7)打開波形文件,檢查是否有錯誤發生。

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


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


5 上板測試的方法和過程

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


(1)下載bit文件到FPGA中;

(2)配置SDRAM控制器;

(3)置PDMA寄存器;

(4)啟動PDMA訪問;

(5)讀回PDMA的狀態位。

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


6 實驗結論

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 小说区图片区综合久久88| 欧美色欧美亚洲高清在线观看| 国产精品成在线观看| 中文字幕影片免费在线观看| 欧美视频日韩视频| 可知子与野鸟君日文| 久久久久久久影院| 多人乱p欧美在线观看| 中文字幕韩国电影| 校草让我脱了内裤给全班看| 人人澡人人澡人人看添av| 色爱无码av综合区| 国产熟睡乱子伦视频| 99精品久久99久久久久| 我和岳乱妇三级高清电影| 亚州无吗黄瓜视频有直播的不| 波多野结衣不打码视频| 又硬又粗又大一区二区三区视频| 国产成人愉拍精品| 国产色无码精品视频国产| 一本一道久久a久久精品综合| 日本边添边摸边做边爱的网站 | 免费无码国产V片在线观看| 香蕉视频一区二区三区| 国产精品福利电影| r18bl各种play高h| 扒开女人内裤边吃奶边摸| 久旷成熟的岳的| 欧美成人在线视频| 人人爽人人爽人人片av| 美女女女女女女bbbbbb毛片| 国产又粗又长又更又猛的视频| 84pao强力打造| 天天综合网在线| 中文天堂在线最新版在线www| 日韩亚洲欧美综合| 亚洲中字慕日产2020| 毛片色毛片18毛片美女| 免费无码又爽又刺激高潮| 老司机亚洲精品影院在线观看| 国产国语在线播放视频|