一种数字IC验证中DMA访问的验证策略制造技术

技术编号:38825838 阅读:16 留言:0更新日期:2023-09-15 20:05
本发明专利技术提供一种数字IC验证中DMA访问的验证策略,首先,将终端与设备端的主存地址空间均设置为静态变量;从设备端和终端中,选择至少一个作为验证端,对验证端进行数据序列的数据布控;通过DMA写请求将设备端数据写入终端主存、通过DMA读请求将终端数据读回设备端后,将验证端的数据与设备端最后接收到的数据进行校验以完成对DMA写读请求的数据验证。本发明专利技术通过将RC与EP均设置为静态变量,使两者中任何一方的数据布控不会与另一方产生干预。何一方的数据布控不会与另一方产生干预。何一方的数据布控不会与另一方产生干预。

【技术实现步骤摘要】
一种数字IC验证中DMA访问的验证策略


[0001]本专利技术属于数字IC验证领域,具体涉及一种数字IC验证中DMA访问的验证策略。

技术介绍

[0002]DMA(Direct Memory Access,直接存储器访问)是所有现代电脑的重要特色,DMA访问为直接存储器访问,DMA传输将数据从一个地址空间复制到另外一个地址空间,它允许不同速度的硬件装置来沟通,例如:移动一个外部内存的区块到芯片内部更快的内存区;否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方,这个过程中,CPU产生了大量中断负载。
[0003]由于DMA允许不同速度的硬件装置来沟通,因此对进行DMA数据校验,保证DMA数据传输正确性十分重要。
[0004]目前进行DMA数据校验的方式为将shadow主存设置为静态变量,使其作为终端(RC)主存地址空间和设备端(EP)数据地址空间数据校验的媒介。终端与设备端设置数据的同时对shadow主存设置同样的数据作为数据转移起始方的备份,目的是保证数据在转移回起始方后保持起始方数据的完整性,可在数据发送与接收完成后与shadow中数据进行校验以保证数据转移的正确性。
[0005]如图1所示,上述方法首先对设备端(EP)和shadow主存进行相同数据序列的数据布控;通过DMA写请求将设备端数据写入终端(RC)主存、通过DMA读请求将终端数据读回设备端后,在设备端将shadow中从起始地址搬运的数据与设备端最后接收到的数据进行校验以完成对DMA写读请求的数据验证,引入shadow的目的主要是为了防止DMA读请求读到的数据将原始数据覆盖而导致原始数据序列被覆盖。
[0006]上述方法的不足之处在于shadow主存为静态变量,在同一时间只能与RC或EP保持一致的数据布控,当验证策略需要RC和EP端同时对地址空间数据进行布控时会产生冲突。

技术实现思路

[0007]本专利技术提供一种数字IC验证中DMA访问的验证策略,通过将RC与EP均设置为静态变量,使两者中任何一方的数据布控不会与另一方产生干预。
[0008]本专利技术的一种数字IC验证中DMA访问的验证策略,首先,将终端与设备端的主存地址空间均设置为静态变量;
[0009]从设备端和终端中,选择至少一个作为验证端,对验证端进行数据序列的数据布控;
[0010]通过DMA写请求将设备端数据写入终端主存、通过DMA读请求将终端数据读回设备端后,将验证端的数据与设备端最后接收到的数据进行校验以完成对DMA写读请求的数据验证。
[0011]于一实施例中,数据校验的方法是:通过掩码与数据地址偏移的方式准确定位目标数据。
[0012]于一实施例中,数据校验的方法为每次校验128B的数据,当起始地址不为128B对界时,从起始地址之前的第一个128B对接地址开始取256B的数据,根据起始地址进行偏移,只校验从起始地址开始的128B数据;每次校验128B数据是由于虚拟主存每次只能取128B对界地址开始的128B数据。
[0013]本专利技术的一种数字IC验证中DMA访问的验证策略,相比现有验证策略,具有如下改进:
[0014]1.放弃使用shadow主存,减少了一个虚拟主存的使用,增加了验证环境简洁度;
[0015]2.在设置数据时,可对两方(终端、设备端)择一或同时进行数据布控,增加了验证策略多样性、验证的灵活性;对两方主存进行部数操作时,增加了验证策略的测试强度;该方式不会因为误操作对共用的shadow主存产生影响。
附图说明
[0016]图1为现有的数字IC验证中DMA访问的验证策略示意图
[0017]图2为本专利技术的数字IC验证中DMA访问的验证策略一实施例示意图
[0018]图3为本专利技术的数字IC验证中DMA访问的验证策略另一实施例示意图
[0019]图4为本专利技术的数字IC验证中DMA访问的验证策略另一实施例示意图
具体实施方式
[0020]为清楚描述本专利技术,现结合附图进一步说明。
[0021]如图2所示的一种数字IC验证中DMA访问的验证策略,首先,将终端与设备端的主存地址空间均设置为静态变量,使得终端与设备端的任何一方都可对本地以及对方的主存进行访问。
[0022]选择设备端作为验证端,对验证端进行数据序列的数据布控,系统为数据序列0静态分配存储地址,即在运行时中不再改变分配情况;
[0023]通过DMA写请求将设备端数据写入终端主存形成数据序列1、通过DMA读请求将终端数据读回设备端形成数据序列2后,将设备端最后接收到的数据序列2与存储在设备端静态分配地址的数据序列0进行校验,即完成了对DMA写读请求的数据验证,校验是通过掩码与数据地址偏移的方式,准确定位的目标数据。
[0024]如图3所示的一种数字IC验证中DMA访问的验证策略,首先,将终端与设备端的主存地址空间均设置为静态变量,使得终端与设备端的任何一方都可对本地以及对方的主存进行访问。
[0025]选择终端作为验证端,对验证端进行数据序列的数据布控,系统为数据序列0静态分配存储地址,即在运行时中不再改变分配情况;
[0026]通过DMA写请求将设备端数据写入终端主存形成数据序列1、通过DMA读请求将终端数据读回设备端形成数据序列2后,将设备端最后接收到的数据序列2与存储在终端静态分配地址的数据序列0进行校验,即完成了对DMA写读请求的数据验证,校验是通过掩码与数据地址偏移的方式,准确定位的目标数据。
[0027]如图4所示的一种数字IC验证中DMA访问的验证策略,首先,将终端与设备端的主存地址空间均设置为静态变量,使得终端与设备端的任何一方都可对本地以及对方的主存
进行访问。
[0028]同时选择设备端和终端中作为验证端,对设备端和终端均进行数据序列的数据布控,系统为数据序列0在设备端和终端均静态分配存储地址,即在运行时中不再改变分配情况;
[0029]通过DMA写请求将设备端数据写入终端主存形成数据序列1、通过DMA读请求将终端数据读回设备端形成数据序列2后,将设备端最后接收到的数据序列2与存储在设备端或终端的静态分配地址的数据序列0进行校验,即完成了对DMA写读请求的数据验证,其中,校验时,虚拟主存采用宽度为128B的数组实现,每次校验128B的数据(每次校验128B数据是由于虚拟主存每次只能取128B对界地址开始的128B数据),即:每次取数据只能从128B对界地址开始取,例如只能从0B,128B,256B...地址开始取,取数的长度为128B的倍数;当需要取的数据起始地址(例如1B)不为128B对界时,需要根据起始地址进行偏移,从小于此地址的第一个128B对界地址(例如0B)开始取;且需要取大于128B的数据才能取到全部需要的数据,即需要从起始地址之前的第一个128B对接地址开始取256B(128B的2倍)的数据,但只对其中需要的128B数据进行操作(例如地址1
...

【技术保护点】

【技术特征摘要】
1.一种数字IC验证中DMA访问的验证策略,其特征在于,首先,将终端与设备端的主存地址空间均设置为静态变量;从设备端和终端中,选择至少一个作为验证端,对验证端进行数据序列的数据布控;通过DMA写请求将设备端数据写入终端主存、通过DMA读请求将终端数据读回设备端后,将验证端的数据与设备端最后接收到的数据进行校验以完成对DMA写读请求的数据验证。2.如权利要求1所述的数字IC验证中DMA访问的验证策略,其特征在于,...

【专利技术属性】
技术研发人员:王鹏虞美兰李文田亚慧孙东伟丁宇璐王梦嘉
申请(专利权)人:太初无锡电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1