CN114721986A - 基于通用验证方法的异构直接存储器访问验证方法及系统 - Google Patents

基于通用验证方法的异构直接存储器访问验证方法及系统 Download PDF

Info

Publication number
CN114721986A
CN114721986A CN202210643141.XA CN202210643141A CN114721986A CN 114721986 A CN114721986 A CN 114721986A CN 202210643141 A CN202210643141 A CN 202210643141A CN 114721986 A CN114721986 A CN 114721986A
Authority
CN
China
Prior art keywords
dma
data
verification
group
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210643141.XA
Other languages
English (en)
Other versions
CN114721986B (zh
Inventor
朱珂
杨晓龙
徐庆阳
谭力波
钟丹
张波
曹睿
刘颜鹏
朱婧瑀
刘长江
陈德沅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingxin Microelectronics Technology Tianjin Co Ltd
Original Assignee
Jingxin Microelectronics Technology Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingxin Microelectronics Technology Tianjin Co Ltd filed Critical Jingxin Microelectronics Technology Tianjin Co Ltd
Priority to CN202210643141.XA priority Critical patent/CN114721986B/zh
Publication of CN114721986A publication Critical patent/CN114721986A/zh
Application granted granted Critical
Publication of CN114721986B publication Critical patent/CN114721986B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于存储器验证技术领域,尤其涉及基于通用验证方法的异构直接存储器访问验证方法及系统,包括基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;判断写入的第一组验证数据和读出的第一组验证数据是否一致,本发明解决现有技术存在在大流量通信前端测试中,异构芯片的DMA数据搬移的数字验证问题,具有解决了普通的验证平台无法高效充分的验证DMA控制器的有益技术效果。

Description

基于通用验证方法的异构直接存储器访问验证方法及系统
技术领域
本发明属于存储器验证技术领域,尤其涉及基于通用验证方法的异构直接存储器访问验证方法及系统。
背景技术
现有针对异构架构体系的验证方法主要是基于fpag原型验证,通过真实的开发板卡实现异构体系的DMA数据搬移验证,在DMA两侧对接cpu或者端点,实现两侧的数据搬移,并可以通过基于不同cpu处理器,通过软件读取缓存中的数据进行最终的比对,这种方法能够模拟真实的芯片工作环境;由于异构芯片的DMA需要处理两端的异构协议,因此内部涉及到相对复杂的包类型转换,地址偏移问题以及寻址问题,这一问题使得在验证过程中需要构建参考模型时,验证人员的工作也相对复杂。
具体的说,如图4所示,基于标准UVM通用结构,现有基于UVM验证方法学的数字前端验证流程中,主要依托于标准的UVM架构,其中标准的平台组件主要包括monitor,scoreboard, reference model, driver等,通过驱动平台在DUT(Design Under Test) 的input和output处的组件monitor进行监测,并调用TLM完成各个组件间的通信,将输入和输出数据传递给scoreboard中进行比对,完成对于DUT的验证;基于对传统UVM架构的简化,用户可以直接在测试用例中,初始化两侧的memory的预期搬移数据,并根据dut的配置要求直接启动DMA搬移预期数据,在base_test会监测DMA的状态信号,等待DMA将一侧的异构数据更新近另一侧,完成数据的通信后,直接通过后门访问的方式,按照用例中预期的搬移字节数,将两侧memory中数据进行字节比对。
更具体的说,如图5所示,基于标准UVM通用流程图,现有技术中,基于UVM的前端验证方法中,主要是根据标准的UVM架构,通过验证平台在DUT 的input和output处的监测组件monitor,将数据两侧的数据传递给scoreboard中,然后通过其内部参考模型的解析,将搬移的数据和地址解析出来,再根据dut的配置模式,按照异构芯片两侧的地址偏移,比对其两侧的数据是否匹配。上述传统的UVM验证平台对于TLM中的port和fifo的例化会增加验证平台的中例化的端口数量,这些UVM提供的通信机制中,会例化一些冗余的接口并不会在仿真中用到,同时fifo缓存和广播端口本身也会拖慢一定的编译和仿真时间,尤其对于复杂的DMA环境需要涉及到高速大流量的数据搬移,这种影响会被放大。 另外复杂冗余的接口连接也会阻碍验证人员前期对于验证平台架构的快速搭建;在传统UVM平台中,利用TLM的port和fifo机制,完成信息在monitor_rx和reference model,以及scoreboard和reference model组件间的传输。 monitor_rx 采样到DUT的配置信息后,会将信息通过广播analysis port 将信息传递给reference model中例化的 TLM_fifo_rx中缓存起来,同理reference model的预测结果会缓存在TLM_fifo_tx中供scoreboard提取。进行其中driver将设计代码(DUT)所需要的测试激励输入,同时monitor_rx会一直监测driver和DUT的接口行为,将同样的测试激励送给参考模型(reference model) 完成对于DUT的预期结果预测,最后在scoreboard中会对预期结果和monitor_tx送进来的真实输出结果进行比对,完成对于DUT行为的检查。
由于异构芯片的DMA需要处理两端的异构协议,因此内部涉及到相对复杂的包类型转换,地址偏移问题以及寻址问题,这一问题使得在验证过程中需要构建参考模型时,验证人员的工作也相对复杂;现有技术中,基于UVM的前端验证方法中,主要是根据标准的UVM架构,通过验证平台在DUT 的input和output处的监测组件monitor,将数据两侧的数据传递给scoreboard中,然后通过其内部参考模型的解析,将搬移的数据和地址解析出来,再根据dut的配置模式,按照异构芯片两侧的地址偏移,比对其两侧的数据是否匹配。
现有技术存在在大流量通信前端测试中,异构芯片的DMA数据搬移的数字验证问题。
发明内容
本发明提供基于通用验证方法的异构直接存储器访问验证方法及系统,以解决上述背景技术中提出了现有技术存在在大流量通信前端测试中,异构芯片的DMA数据搬移的数字验证问题。
本发明所解决的技术问题采用以下技术方案来实现:基于通用验证方法的异构直接存储器访问验证方法,包括:
在DMA存储器中:
基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;
判断写入的第一组验证数据和读出的第一组验证数据是否一致;
或者;
基于第二通用异构协议架构通过第二DMA写入与第一组验证数据相同的第二组验证数据,并基于第一通用异构协议架构通过第一DMA读出第二组验证数据;
判断写入的第二组验证数据和读出的第二组验证数据是否一致。
进一步,所述DMA验证方法还包括:
第一DMA写入操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
同时;
若写入操作完成,则执行:
第一DMA读出操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
第一DMA判断操作:
判断第一预期写入数据与第一组实际读出数据是否一致;
或者;
第二DMA写入操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
同时;
若写入操作完成,则执行:
第二DMA读出操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二DMA判断操作:
判断第二预期写入数据与第二组实际读出数据是否一致。
进一步,所述DMA写入操作前还包括:
DMA启动前配置:
配置相应的DMA描述符,并随机配置相应的预期写入数据。
进一步,所述DMA写入操作还包括:
通过绝对路径索引:
根据DMA描述符中的起始地址,将相应的随机生成的第一预期写入数据根据随机数据长度写入为第一组DMA寄存数据;
或者;
根据DMA描述符中的起始地址,将相应的随机生成的第二预期写入数据根据随机数据长度写入为第二组DMA寄存数据。
进一步,所述DMA读出操作还包括:
通过直接后门访问:
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第一组DMA寄存数据;
或者;
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第二组DMA寄存数据。
进一步,所述DMA判断操作还包括:
搬移数据处理:
基于后门绝对路径,通过直接后门访问:
将第一组实际读出数据读入第一组实际读出队列;
或者;
将第二组实际读出数据读入第二组实际读出队列。
进一步,所述DMA判断操作还包括:
第一搬移数据比对:
将第一组实际读出队列与第一预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误;
或者;
第二搬移数据比对:
将第二组实际读出队列与第二预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误。
进一步,所述写入操作完成还包括:判定数据写入时间是否达到预期写入时间,若达到,则确定写入操作完成。
同时,本发明还提供基于通用验证方法的异构直接存储器访问验证系统,包括:基于测试用例应用的DMA验证平台,所述DMA验证平台用以实现上述任一项的基于通用验证方法学UVM 的异构直接存储器访问DMA 验证方法。
所述DMA验证平台包括设计测试单元DUT,所述设计测试单元DUT包括:DMA存储器;
第一通用异构协议架构控制器:用于:
第一DMA写入操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
第二DMA读出操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二通用异构协议架构控制器:用于:
第二DMA写入操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
第一DMA读出操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
测试用例模块:用于:
第一DMA判断操作:
判断第一预期写入数据与第一组实际读出数据是否一致;
第二DMA判断操作:
判断第二预期写入数据与第二组实际读出数据是否一致。
进一步,所述DMA验证平台还包括:
第一通用异构协议架构缓存储器:还用于写入DMA描述符,并随机配置相应的预期写入数据。
有益技术效果:
本专利采用在DMA存储器中:基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;判断写入的第一组验证数据和读出的第一组验证数据是否一致;或者;基于第二通用异构协议架构通过第二DMA写入与第一组验证数据相同的第二组验证数据,并基于第一通用异构协议架构通过第一DMA读出第二组验证数据;判断写入的第二组验证数据和读出的第二组验证数据是否一致,由于通过两侧对接异构协议的两种验证ip,直接利用验证ip内部提供的shadowmemory作为DMA数据搬移的源地址和目的地址,同时两侧的数据比对同与一般的UVM验证平台也不同,数据的比对直接通过后门从两侧的memory中提取出来,提取的规则是根据dut中的搬移长度和地址偏移规则,两侧的数据比对过程省略了通过TLM在UVM平台中的组件间通信这一步骤,直接在testcase中完成每次的数据搬移比对,比对结果跟随仿真log输出;通过改进传统的UVM验证方法学的平台框架,很好的解决了普通的验证平台无法高效充分的验证DMA控制器的问题。
附图说明
图1是本发明DMA验证方法的方法总流程图;
图2是本发明DMA验证方法的方法具体流程图;
图3是本发明DMA验证方法的异构DMA验证流程图;
图4是本发明DMA验证方法的现有技术的标准UVM通用结构图;
图5是本发明DMA验证方法的现有技术的标准UVM通用流程图;
图6是本发明DMA验证方法的异构DMA验证平台架构图。
具体实施方式
以下结合附图对本发明做进一步描述:
实施例:
本实施例:如图1所示,基于通用验证方法的异构直接存储器访问验证方法,其特征在于,包括:
在DMA存储器中:
S101基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;
S102判断写入的第一组验证数据和读出的第一组验证数据是否一致;
或者;
S103基于第二通用异构协议架构通过第二DMA写入与第一组验证数据相同的第二组验证数据,并基于第一通用异构协议架构通过第一DMA读出第二组验证数据;
S104判断写入的第二组验证数据和读出的第二组验证数据是否一致。
采用在DMA存储器中:基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;判断写入的第一组验证数据和读出的第一组验证数据是否一致;或者;基于第二通用异构协议架构通过第二DMA写入与第一组验证数据相同的第二组验证数据,并基于第一通用异构协议架构通过第一DMA读出第二组验证数据;判断写入的第二组验证数据和读出的第二组验证数据是否一致,由于通过两侧对接异构协议的两种验证ip,直接利用验证ip内部提供的shadow memory作为DMA数据搬移的源地址和目的地址,同时两侧的数据比对同与一般的UVM验证平台也不同,数据的比对直接通过后门从两侧的memory中提取出来,提取的规则是根据dut中的搬移长度和地址偏移规则,两侧的数据比对过程省略了通过TLM在UVM平台中的组件间通信这一步骤,直接在testcase中完成每次的数据搬移比对,比对结果跟随仿真log输出;通过改进传统的UVM验证方法学的平台框架,很好的解决了普通的验证平台无法高效充分的验证DMA控制器的问题。
如图2所示,所述DMA验证方法还包括:
第一DMA写入操作:
S201基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
同时;
S202若写入操作完成,则执行:
第一DMA读出操作:
S203基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
第一DMA判断操作:
S204判断第一预期写入数据与第一组实际读出数据是否一致;
或者;
第二DMA写入操作:
S211基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
同时;
S212若写入操作完成,则执行:
第二DMA读出操作:
S213基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二DMA判断操作:
S214判断第二预期写入数据与第二组实际读出数据是否一致。
由于采用所述DMA验证方法还包括:第一DMA写入操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;同时;若写入操作完成,则执行:第一DMA读出操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;第一DMA判断操作:判断第一预期写入数据与第一组实际读出数据是否一致;或者;第二DMA写入操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;同时;若写入操作完成,则执行:第二DMA读出操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;第二DMA判断操作:判断第二预期写入数据与第二组实际读出数据是否一致,由于其具体实施步骤是:首先通过在pcie侧(RC)配置DMA搬移数据的描述符,指定DMA所需搬移数据的地址和其他相关信息。随后在tc测试用例中初始化两侧的验证ip提供的memory,随机在memory中写入数据,这是为DMA将要执行的搬移工作,提前将要被搬移的数据写入预期的地址区域,该地址区域一般是由上一步所配置的描述符指定。通过配置总线启动DMA后,DMA应自动根据配置的描述符内容,以及内部寄存器的配置情况完成预期的数据搬移,搬移方向可以是从pcie侧发往srio侧,或者是从srio侧发往pcie侧。当DMA完成指定搬移动作后,在tc测试用例中会根据配置的描述符内容,通过后门读的方式,将pcie和srio两侧的搬移的数据进行字节粒度的对比,如果比对结果一致,则表明的DMA的搬移操作正确,比对结果通过log的形式打印出来,本方法简化了传统UVM架构,在针对高速异构DMA的验证平台中,采用一种新型的验证方式,采用速度更快的后门访问,直接在base_tc 中整合reference model,省略以上模块间的复杂的TLM通信机制,直接将得到的数据进行比对;直接利用验证ip自带的memory空间作为数据搬移区间,同时在每次DMA用例中自动地,直接地完成针对两侧搬移数据的比对,简化了平台的构建仿真过程,提升了搬移数据的自动比对效率。
如图3所示,所述DMA写入操作前还包括:
DMA启动前配置:
配置相应的DMA描述符,并随机配置相应的预期写入数据。
由于采用述DMA写入操作前还包括:DMA启动前配置:配置相应的DMA描述符,并随机配置相应的预期写入数据,由于DMA启动前配置:根据DMA的配置规则,DMA的所有描述符均应存放在PCIE的root complex(RC) 一侧,在每次的用例配置中,首先通过在RC侧配置DMA搬移数据的描述符,每一个描述符可以用于指明DMA所搬移数据的起始与目的地址和其他相关信息,在平台随机测试过程中,描述符的内容一般配置为随机地址。随后,每一条TC测试用例中都会初始化两侧的验证ip提供的memory,根据需要搬移数据的传输方向和传输数据量,在memory中写入随机产生的数据,这是为DMA将要执行的搬移工作,提前将要被搬移的数据写入预期的地址区域,该地址区域一般是由上一步所配置的描述符指定。
所述DMA写入操作还包括:
通过绝对路径索引:
根据DMA描述符中的起始地址,将相应的随机生成的第一预期写入数据根据随机数据长度写入为第一组DMA寄存数据;
或者;
根据DMA描述符中的起始地址,将相应的随机生成的第二预期写入数据根据随机数据长度写入为第二组DMA寄存数据。
由于采用DMA写入操作还包括:通过绝对路径索引:根据DMA描述符中的起始地址,将相应的随机生成的第一预期写入数据根据随机数据长度写入为第一组DMA寄存数据;或者;根据DMA描述符中的起始地址,将相应的随机生成的第二预期写入数据根据随机数据长度写入为第二组DMA寄存数据,由于其本质的写入的方法是:通过验证平台的绝对路径索引方式,直接访问DMA存储器的地址,根据随机生成的数据长度与数据内容,从起始地址开始,按DMA存储器地址顺序,将随机数据以字节为单位写入进DMA存储器内。
所述DMA读出操作还包括:
通过直接后门访问:
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第一组DMA寄存数据;
或者;
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第二组DMA寄存数据。
所述DMA判断操作还包括:
搬移数据处理:
基于后门绝对路径,通过直接后门访问:
将第一组实际读出数据读入第一组实际读出队列;
或者;
将第二组实际读出数据读入第二组实际读出队列。
所述DMA判断操作还包括:
第一搬移数据比对:
将第一组实际读出队列与第一预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误;
或者;
第二搬移数据比对:
将第二组实际读出队列与第二预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误。
由于采用所述DMA读出操作还包括:通过直接后门访问:根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第一组DMA寄存数据;或者;根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第二组DMA寄存数据;
同时,采用所述DMA判断操作还包括:搬移数据处理:基于后门绝对路径,通过直接后门访问:将第一组实际读出数据读入第一组实际读出队列;或者;将第二组实际读出数据读入第二组实际读出队列。
同时,采用所述DMA判断操作还包括:搬移数据处理:基于后门绝对路径,通过直接后门访问:将第一组实际读出数据读入第一组实际读出队列;将第二组实际读出数据读入第二组实际读出队列。
同时,采用所述DMA判断操作还包括:第一搬移数据比对:将第一组实际读出队列与第一预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误;或者;第二搬移数据比对:将第二组实际读出队列与第二预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误。
由于本验证方法针对上述DMA操作流程,每条TC的基类base_tc中,通过监测DMA模块内部的完成状态信号,判定DMA本次的数据搬移动作是否完成,这是为了保证链路上的数据经DMA后,还需一定的时间经过两侧的控制器并写入VIP的memory中,大约需要等待40us,再开始进行搬移结果的检查。为节省检查中因采样缓存数据带来的额外仿真时间消耗,同时避免总线占用,本设计中利用UVM自带的uvm_hdl_read后门访问函数,这样可以不消耗仿真时间并从DMA模块内部进行条件采样,在DMA动作完成后,首先在描述符处理模块中直接后门访问PCIE MEM中预先配置的描述符,采集的描述符数据内容包括描述符起始地址des_addr和描述符数量count,明确了DMA的搬移长度和地址偏移规则后,根据采集的count和des_addr具体值,计算出DMA预期得到的PCIE和SRIO的起始地址,随后将上述所得信息(info)传递给搬移数据处理模块。
在该模块数据处理模块内,主要分为两部分,第一部分首先根据传递进来的info,利用验证平台例化的后门绝对路径,通过uvm_hdl_read后门访问info所指向的两侧VIP的memory中的搬移数据,对读取到的数据进行字节序的对齐,每次pcie和srio两侧采集8字节数据并存放进两个单独的队列中,第二部分是针对每个描述符的搬移数据,对队列中的数据进行字节粒度的比对,如果比对结果一致,则表明的DMA的搬移操作正确,如果不一致,则表明DMA搬移动作存在错误,最后每条test case的比对结果最终通过log的形式打印出来。
所述写入操作完成还包括:判定数据写入时间是否达到预期写入时间,若达到,则确定写入操作完成。
由于采用所述写入操作完成还包括:判定数据写入时间是否达到预期写入时间,若达到,则确定写入操作完成,由于大约需要等待40us,再开始进行搬移结果的检查。为节省检查中因采样缓存数据带来的额外仿真时间消耗,同时避免总线占用。
如图6所示,基于通用验证方法的异构直接存储器访问验证系统,包括:基于测试用例应用的DMA验证平台,所述DMA验证平台用以实现上述任一项的基于通用验证方法学UVM 的异构直接存储器访问DMA 验证方法;
所述DMA验证平台包括设计测试单元DUT,所述设计测试单元DUT包括:DMA存储器;
第一通用异构协议架构控制器:用于:
第一DMA写入操作:
S201基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
第二DMA读出操作:
S213基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二通用异构协议架构控制器:用于:
第二DMA写入操作:
S211基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
第一DMA读出操作:
S203基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
测试用例模块:用于:
第一DMA判断操作:
判断第一预期写入数据与第一组实际读出数据是否一致;
第二DMA判断操作:
S214判断第二预期写入数据与第二组实际读出数据是否一致。
由于采用基于通用验证方法的异构直接存储器访问验证系统,包括:基于测试用例应用的DMA验证平台,所述DMA验证平台用以实现上述任一项的基于通用验证方法学UVM的异构直接存储器访问DMA 验证方法;所述DMA验证平台包括设计测试单元DUT,所述设计测试单元DUT包括:DMA存储器;第一通用异构协议架构控制器:用于:第一DMA写入操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;第二DMA读出操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;第二通用异构协议架构控制器:用于:第二DMA写入操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;第一DMA读出操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;测试用例模块:用于:第一DMA判断操作:判断第一预期写入数据与第一组实际读出数据是否一致;第二DMA判断操作:判断第二预期写入数据与第二组实际读出数据是否一致,由于该技术方案,脱离的传统的UVM框架,将异构框架下的DMA搬移数据直接通过两侧vip进行连接,并且,没有通过UVM中的reference model和scoreboard进行预测和比对,直接在每一次的运行用例的时候通过后门读的方式比对两侧memory的数据是否一致,提升了仿真速度,节约内存资源,帮助验证人员在前期准备过程中,避免了referencemodel和scoreboard与环境中其它组件过多的进行通信的问题,并且能快速的针对DMA设计结构,构建出测试环境以及测试用例。因此本专利简化验证平台的构建和测试用例的开发,在异构DMA的验证效率有一定提升,同时能够达到与现有技术同样的验证质量;对于使用者而言,本专利能够尽量简化UVM的整体结构,使验证工程师更多地将注意力中心放在DMA的功能验证中,即使是对于异构协议不熟悉的验证人员,缺乏UVM验证方法学知识的验证人员,也能快速熟悉环境,开展验证工作;这种简化的验证结构相比其他UVM平台,具有易维护的,复用性强等特点,可以适用于多种情况下的异构DMA验证任务中。
所述DMA验证平台还包括:第一通用异构协议架构缓存储器:还用于写入DMA描述符,并随机配置相应的预期写入数据。
由于采用所述DMA验证平台还包括:第一通用异构协议架构缓存储器:还用于写入DMA描述符,并随机配置相应的预期写入数据,由于通过两侧对接异构协议的两种验证ip,直接利用验证ip内部提供的shadow memory作为DMA数据搬移的源地址和目的地址,同时两侧的数据比对同与一般的UVM验证平台也不同,数据的比对直接通过后门从两侧的memory中提取出来,提取的规则是根据dut中的搬移长度和地址偏移规则,两侧的数据比对过程省略了通过TLM在UVM平台中的组件间通信这一步骤,直接在testcase中完成每次的数据搬移比对,比对结果跟随仿真log输出,本方法所使用的验证平台中,可以通过其他手段替代UVM验证方法学,如单独使用SV语言进行平台的搭建,或者直接使用verilog语言进行验证平台的实现,验证平台两侧的异构验证ip不仅局限于本专利中所示的srio和pcie协议,也可以是其他通用的异构协议验证ip。
同时,下面对本验证方法的特点进行总结性说明:
本专利中的所使用的验证平台中,可以通过其他手段替代UVM验证方法学,如单独使用SV语言进行平台的搭建,或者直接使用verilog语言进行验证平台的实现,验证平台两侧的异构验证ip不仅局限于本专利中所示的srio和pcie协议,也可以是其他通用的异构协议验证ip,本专利中,一方面使用了UVM验证方法学帮助快速构建异构DMA验证环境,因为UVM验证方法学融入了软件的oop理念,依托市面上成熟的EDA环境,可以更好的帮助验证工程师解决复杂芯片中的硬件验证问题。同时面对日益加快的芯片开发流程,本发明中使用UVM验证方法学可以节约大量的环境构建调试时间,平台中的各个组件的对于今后涉及到类似的验证需求,具有很高的复用度;对于本专利,通过改进传统的UVM验证方法学的平台框架,很好的解决了普通的验证平台无法高效充分的验证DMA控制器的问题本专利直接利用验证ip自带的memory空间作为数据搬移区间,同时在每次DMA用例中自动地,直接地完成针对两侧搬移数据的比对,简化了平台的构建仿真过程,提升了搬移数据的自动比对效率。
同时,对本专利的重要的技术效果再次说明如下:
(1)本专利可以有效的在验证初期简化异构DMA平台的构建和测试用例的开发,提升测试效率,同时在数据比对过程中并没有依托传统的UVM平台通信机制,可以有效的提升仿真器的性能,加速仿真。
(2)对于使用者而言,本专利能够使验证工程师更多地将注意力中心放在DMA的功能验证中,即使是对于异构协议不熟悉的验证人员,缺乏UVM验证方法学知识的验证人员,也能快速熟悉环境,开展验证工作。
(3)因平台框架相对,同时相比其他UVM结构,具有易维护的,复用性强等特点,可以适用于多种情况下的异构DMA验证任务中去。
工作原理:
本专利通过采用基于通用验证方法的异构直接存储器访问验证系统,包括:基于测试用例应用的DMA验证平台,所述DMA验证平台用以实现上述任一项的基于通用验证方法学UVM 的异构直接存储器访问DMA 验证方法;所述DMA验证平台包括设计测试单元DUT,所述设计测试单元DUT包括:DMA存储器;第一通用异构协议架构控制器:用于:第一DMA写入操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;第二DMA读出操作:基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;第二通用异构协议架构控制器:用于:第二DMA写入操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;第一DMA读出操作:基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;测试用例模块:用于:第一DMA判断操作:判断第一预期写入数据与第一组实际读出数据是否一致;第二DMA判断操作:判断第二预期写入数据与第二组实际读出数据是否一致。
其具体实施步骤是:首先通过在pcie侧(RC)配置DMA搬移数据的描述符,指定DMA所需搬移数据的地址和其他相关信息。随后在tc测试用例中初始化两侧的验证ip提供的memory,随机在memory中写入数据,这是为DMA将要执行的搬移工作,提前将要被搬移的数据写入预期的地址区域,该地址区域一般是由上一步所配置的描述符指定。通过配置总线启动DMA后,DMA应自动根据配置的描述符内容,以及内部寄存器的配置情况完成预期的数据搬移,搬移方向可以是从pcie侧发往srio侧,或者是从srio侧发往pcie侧。当DMA完成指定搬移动作后,在tc测试用例中会根据配置的描述符内容,通过后门读的方式,将pcie和srio两侧的搬移的数据进行字节粒度的对比,如果比对结果一致,则表明的DMA的搬移操作正确,比对结果通过log的形式打印出来,本方法简化了传统UVM架构,在针对高速异构DMA的验证平台中,采用一种新型的验证方式,采用速度更快的后门访问,直接在base_tc 中整合reference model,省略以上模块间的复杂的TLM通信机制,直接将得到的数据进行比对;直接利用验证ip自带的memory空间作为数据搬移区间,同时在每次DMA用例中自动地,直接地完成针对两侧搬移数据的比对,简化了平台的构建仿真过程,提升了搬移数据的自动比对效率。
本发明解决现有技术存在在大流量通信前端测试中,异构芯片的DMA数据搬移的数字验证问题,具有解决了普通的验证平台无法高效充分的验证DMA控制器的有益技术效果。
利用本发明的技术方案,或本领域的技术人员在本发明技术方案的启发下,设计出类似的技术方案,而达到上述技术效果的,均是落入本发明的保护范围。

Claims (10)

1.基于通用验证方法的异构直接存储器访问验证方法,其特征在于,包括:
在DMA存储器中:
基于第一通用异构协议架构通过第一DMA写入第一组验证数据,并基于第二通用异构协议架构通过第二DMA读出第一组验证数据;
判断写入的第一组验证数据和读出的第一组验证数据是否一致;
或者;
基于第二通用异构协议架构通过第二DMA写入与第一组验证数据相同的第二组验证数据,并基于第一通用异构协议架构通过第一DMA读出第二组验证数据;
判断写入的第二组验证数据和读出的第二组验证数据是否一致。
2.根据权利要求1所述验证方法,其特征在于,所述验证方法还包括:
第一DMA写入操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
同时;
若写入操作完成,则执行:
第一DMA读出操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
第一DMA判断操作:
判断第一预期写入数据与第一组实际读出数据是否一致;
或者;
第二DMA写入操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
同时;
若写入操作完成,则执行:
第二DMA读出操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二DMA判断操作:
判断第二预期写入数据与第二组实际读出数据是否一致。
3.根据权利要求2所述验证方法,其特征在于,所述DMA写入操作前还包括:
DMA启动前配置:
配置相应的DMA描述符,并随机配置相应的预期写入数据。
4.根据权利要求2所述验证方法,其特征在于,所述DMA写入操作还包括:
通过绝对路径索引:
根据DMA描述符中的起始地址,将相应的随机生成的第一预期写入数据根据随机数据长度写入为第一组DMA寄存数据;
或者;
根据DMA描述符中的起始地址,将相应的随机生成的第二预期写入数据根据随机数据长度写入为第二组DMA寄存数据。
5.根据权利要求2所述验证方法,其特征在于,所述DMA读出操作还包括:
通过直接后门访问:
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第一组DMA寄存数据;
或者;
根据读出的预先配置的DMA描述符中的起始地址和数据长度,确定读出的第二组DMA寄存数据。
6.根据权利要求2所述验证方法,其特征在于,所述DMA判断操作还包括:
搬移数据处理:
基于后门绝对路径,通过直接后门访问:
将第一组实际读出数据读入第一组实际读出队列;
或者;
将第二组实际读出数据读入第二组实际读出队列。
7.根据权利要求2所述验证方法,其特征在于,所述DMA判断操作还包括:
第一搬移数据比对:
将第一组实际读出队列与第一预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误;
或者;
第二搬移数据比对:
将第二组实际读出队列与第二预期写入数据通过字节粒度的比对,判断比对结果是否一致,若一致,则确定搬移操作正确,否则,确定搬移操作错误。
8.根据权利要求2所述验证方法,其特征在于,所述写入操作完成还包括:判定数据写入时间是否达到预期写入时间,若达到,则确定写入操作完成。
9.基于通用验证方法的异构直接存储器访问验证系统,其特征在于,包括:基于测试用例应用的DMA验证平台,所述DMA验证平台用以实现如权利要求1-权利要求8任一项所述的基于通用验证方法学UVM 的异构直接存储器访问DMA 验证方法;
所述DMA验证平台包括设计测试单元DUT,所述设计测试单元DUT包括DMA存储器、第一通用异构协议架构控制器、第二通用异构协议架构控制器、测试用例模块;
第一通用异构协议架构控制器用于:
第一DMA写入操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第一预期写入数据写入为DMA存储器内的第一组DMA寄存数据;
第二DMA读出操作:
基于第一通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第二组DMA寄存数据读出为第二组实际读出数据;
第二通用异构协议架构控制器用于:
第二DMA写入操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将第二预期写入数据写入为DMA存储器内的第二组DMA寄存数据;
第一DMA读出操作:
基于第二通用异构协议架构,根据DMA描述符配置的相应的预期写入地址,将DMA存储器内的第一组DMA寄存数据读出为第一组实际读出数据;
测试用例模块用于:
第一DMA判断操作:
判断第一预期写入数据与第一组实际读出数据是否一致;
第二DMA判断操作:
判断第二预期写入数据与第二组实际读出数据是否一致。
10.根据权利要求9所述验证系统,其特征在于,所述DMA验证平台还包括:
第一通用异构协议架构缓存储器:还用于写入DMA描述符,并随机配置相应的预期写入数据。
CN202210643141.XA 2022-06-09 2022-06-09 基于通用验证方法的异构直接存储器访问验证方法及系统 Active CN114721986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210643141.XA CN114721986B (zh) 2022-06-09 2022-06-09 基于通用验证方法的异构直接存储器访问验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210643141.XA CN114721986B (zh) 2022-06-09 2022-06-09 基于通用验证方法的异构直接存储器访问验证方法及系统

Publications (2)

Publication Number Publication Date
CN114721986A true CN114721986A (zh) 2022-07-08
CN114721986B CN114721986B (zh) 2022-09-06

Family

ID=82232746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210643141.XA Active CN114721986B (zh) 2022-06-09 2022-06-09 基于通用验证方法的异构直接存储器访问验证方法及系统

Country Status (1)

Country Link
CN (1) CN114721986B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968864A (zh) * 2022-07-28 2022-08-30 飞腾信息技术有限公司 验证环境的搭建方法、芯片的验证方法及系统
CN116383155A (zh) * 2023-06-05 2023-07-04 成都融见软件科技有限公司 一种基于eda验证仿真器的日志查询系统
CN116564399A (zh) * 2023-04-20 2023-08-08 深圳市晶存科技有限公司 芯片测试方法、装置、电子设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233497A1 (en) * 2002-06-18 2003-12-18 Chien-Yi Shih DMA controller and method for checking address of data to be transferred with DMA
CN105320583A (zh) * 2014-07-31 2016-02-10 上海华虹集成电路有限责任公司 基于uvm验证方法学的只写寄存器验证测试平台及验证方法
WO2016197711A1 (zh) * 2015-06-09 2016-12-15 中兴通讯股份有限公司 一种配置寄存器的方法和装置
CN110046387A (zh) * 2019-03-14 2019-07-23 广东工业大学 一种基于uvm的sm2模块验证平台及验证方法
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN112527705A (zh) * 2020-11-05 2021-03-19 山东云海国创云计算装备产业创新中心有限公司 一种PCIe DMA数据通路的验证方法、装置及设备
CN113868039A (zh) * 2021-08-30 2021-12-31 浪潮电子信息产业股份有限公司 一种测试方法、装置及相关设备
CN114036883A (zh) * 2021-11-18 2022-02-11 中电科申泰信息科技有限公司 一种基于uvm和vip的uart模块级验证平台

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233497A1 (en) * 2002-06-18 2003-12-18 Chien-Yi Shih DMA controller and method for checking address of data to be transferred with DMA
CN105320583A (zh) * 2014-07-31 2016-02-10 上海华虹集成电路有限责任公司 基于uvm验证方法学的只写寄存器验证测试平台及验证方法
WO2016197711A1 (zh) * 2015-06-09 2016-12-15 中兴通讯股份有限公司 一种配置寄存器的方法和装置
CN110046387A (zh) * 2019-03-14 2019-07-23 广东工业大学 一种基于uvm的sm2模块验证平台及验证方法
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN112527705A (zh) * 2020-11-05 2021-03-19 山东云海国创云计算装备产业创新中心有限公司 一种PCIe DMA数据通路的验证方法、装置及设备
CN113868039A (zh) * 2021-08-30 2021-12-31 浪潮电子信息产业股份有限公司 一种测试方法、装置及相关设备
CN114036883A (zh) * 2021-11-18 2022-02-11 中电科申泰信息科技有限公司 一种基于uvm和vip的uart模块级验证平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王伟: "OCP协议桥的设计与UVM验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968864A (zh) * 2022-07-28 2022-08-30 飞腾信息技术有限公司 验证环境的搭建方法、芯片的验证方法及系统
CN116564399A (zh) * 2023-04-20 2023-08-08 深圳市晶存科技有限公司 芯片测试方法、装置、电子设备及计算机可读存储介质
CN116564399B (zh) * 2023-04-20 2024-04-02 深圳市晶存科技有限公司 芯片测试方法、装置、电子设备及计算机可读存储介质
CN116383155A (zh) * 2023-06-05 2023-07-04 成都融见软件科技有限公司 一种基于eda验证仿真器的日志查询系统
CN116383155B (zh) * 2023-06-05 2023-08-11 成都融见软件科技有限公司 一种基于eda验证仿真器的日志查询系统

Also Published As

Publication number Publication date
CN114721986B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN114721986B (zh) 基于通用验证方法的异构直接存储器访问验证方法及系统
CN115841089B (zh) 一种基于uvm的系统级芯片验证平台及验证方法
US8327039B2 (en) Integrated DMA processor and PCI express switch for a hardware-based functional verification system
CN113297017B (zh) 一种基于uvm的soc验证系统及方法
CN102508753B (zh) Ip核验证系统
US5493672A (en) Concurrent simulation of host system at instruction level and input/output system at logic level with two-way communication deadlock resolution
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
US20110307847A1 (en) Hybrid system combining TLM simulators and HW accelerators
CN111104269B (zh) 一种基于uart接口的处理器调试方法及系统
WO2011020081A1 (en) System and method for providing multi-process protection using direct memory mapped control registers
CN101251819A (zh) 一种适用于多处理器核系统芯片的调试方法
CN110321260B (zh) 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台
CN102184290B (zh) 嵌入式微处理器的周期精确和位精确系统级模型构建方法
CN113657069B (zh) 片上系统soc仿真验证方法、装置、验证服务器及存储介质
CN115496018A (zh) 一种SoC芯片多版本验证方法、装置及设备
US6041378A (en) Integrated circuit device and method of communication therewith
CN117785593A (zh) 一种基于UVM的xHCI驱动的实现系统及方法
CN116414526A (zh) 一种基于虚拟机的仿真装置和方法
CN103713977B (zh) 一种微处理器ip核比较验证的实现方法
CN115017845A (zh) 用于ip单元级别验证的总线驱动式芯片仿真激励模型
US20100274550A1 (en) Integrated development structure having virtual inputs/outputs for embedded hardware/software
CN116306398A (zh) 一种多通道io接口ip的验证平台及其停止算法
CN113496108B (zh) 一种应用于仿真的cpu模型
CN116611375A (zh) 软硬件协同仿真平台及软硬件测试方法
US11392533B1 (en) Systems and methods for high-speed data transfer to multiple client devices over a communication interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant