资源描述:
《DMA控制器的一种硬件验证方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CN431258/TP计算机工程与科学2009年第31卷第A1期ISSN1007130XCOMPUTERENGINEERING&SCIENCEVol31,NoA1,2009文章编号:1007130X(2009)A1003103*DMA控制器的一种硬件验证方法AHardwareVerificationMethodforDMAController刘功杰,李暾LIUGongjie,LITun(国防科技大学计算机学院,湖南长沙410073)(SchoolofComputerScience,NationalUniversityofDefenseTechnolog
2、y,Changsha410073,China)摘要:在微处理器或SOC芯片设计过程中,DMA控制器的硬件仿真验证是难以解决的问题之一,因为DMA控制器与包括微处理器核和内存控制器在内的几乎所有部件都有数据通信,如将所有部件集成后进行仿真测试,则一旦发现错误后,定位错误会非常困难。本文为此提出了一种简化测试模型和验证方法,可以有效解决上述问题。Abstract:TheverificationofDMAcontrollerisdifficult,inprocessororSOCdesign.FortheDMAcontrollercommunicateswithalltheotherpar
3、tswhichincludeprocessorcoreandmemorycontroller.Ifputsallthepartstogethertodotheverification,howtolocatetheerrorwillbeverydifficult.Thispapergivesagoodsolutiontotheproblem.关键词:DMA控制器;硬件验证Keywords:DMAcontroller;hardwareverificationdoi:10.3969/j.issn.1007130X.2009.A1.010中图分类号:TP303文献标识码:A1所示。1引言在微
4、处理器或SOC芯片设计中,DMA控制器是需要重点考虑的关键部件之一。由于DMA控制器与包括微处理器核和内存控制器在内的几乎所有部件都有数据通信,所以其内部结构和时序控制都较为复杂。基于同样的原因,DMA的硬件仿真验证也难以解决。按照常规做法,硬件验证时需要将与DMA相关的所有部件的代码集成在一起,然后放到硬件仿真器或FPGA板上进行测试,但这样图1系统互联结构图会将问题进一步复杂化,因为每个部件本身都可能引入错其中,DMA控制器的基本特征如下所述,总体结构如误,一旦发现错误后,将无法定位。图2所示。本文针对这一问题,提出了一种简化测试模型和验证(1)使用总线与微处理器核、内存、外设通信
5、;方法,并给出了实现方案,有效地解决了上述问题。(2)4个DMA通道;需要说明的是,硬件仿真验证的工具可以是硬件仿真(3)4种优先级;器,也可以是FPGA板,两者的基本原理相同,本文以FP(4)支持硬件握手。GA板为例。该DMA控制器主要包括两个模块:(1)两个通信界面Interface0和Interface1。Interface2DMA控制器实例0包含一个Master接口和一个Slave接口,Interface1只本文使用的DMA控制器与整个系统的互联关系如图有一个Master接口。Master接口用来与Memory和外部*收稿日期:20090713;修订日期:200909
6、10基金项目:国家自然科学基金资助项目(60773025)作者简介:刘功杰(1977),男,山东德州人,硕士,助理研究员,研究方向为计算机体系结构和SOC设计;李暾,副教授,研究方向为微处理器设计验证、并行模拟、电子CAD等。通讯地址:410073湖南省长沙市国防科技大学计算机学院;Tel:(0731)84573628;Email:gonjie.liu@nudt.edu.cnAddress:SchoolofComputerScience,NationalUniversityofDefenseTechnology,Changsha,Hunan410073,P.R.China31都很大,
7、功能、结构也很复杂,集成这些模块的工作量非常大。而所有模块集成之后,原来的DMA控制器验证工作其实变成了针对全系统的验证,需要加载操作系统、驱动程序和测试程序才能启动验证工作,然而一旦发现错误,因为涉及的部件太多,定位错误又会非常困难。针对上述问题,本文设计了一个简化的测试模型,如图3所示。图2DMA控制器总体结构图设备通信,控制两个设备之间的通信,而Slave接口负责与微处理器的通信,包括接收微处理器的命令、返回微处理器需要的数