【技术实现步骤摘要】
基于SystemVerilog的内存管理方法、电子设备和介质
[0001]本专利技术涉及芯片验证
,尤其涉及一种基于SystemVerilog的内存管理方法、电子设备和介质。
技术介绍
[0002]在芯片验证过程中,验证平台(Testbench)与待测设计(Design Under Test,简称DUT)需要进行交互,在交互过程中,需要对验证平台的存储空间进行内存管理。现有技术中,通常采用动态内存分配函数(Malloc)进行内存管理。但是动态内存分配函数是基于C语言实现的,而验证平台是基于SystemVerilog实现的,此外,动态内存分配函数通常需要频繁申请、释放内存,若将动态内存分配函数进行内存管理的方式应用在验证平台上,一方面需要解决跨语言的问题,复杂性高,成本高,另一方面会消耗大量的存储,影响芯片验证的仿真速度,影响系统性能。由此可知,如何提供一种适用于芯片验证过程使用的验证平台的内存管理技术,提高芯片验证的仿真速度成为亟待解决的技术问题。
技术实现思路
[0003]本专利技术目的在于,提供一种基于SystemVerilog的内存管理方法、电子设备和介质,便于验证平台的内存管理,提高了芯片验证的仿真速度。
[0004]根据本专利技术第一方面,提供了一种基于SystemVerilog的内存管理方法,包括:步骤S1、获取待测芯片设计的进程列表{B1,B2,
…
,B
m
,
…
,B
M
},B
m
为待 ...
【技术保护点】
【技术特征摘要】
1.一种基于SystemVerilog的内存管理方法,其特征在于,包括:步骤S1、获取待测芯片设计的进程列表{B1,B2,
…
,B
m
,
…
,B
M
},B
m
为待测芯片设计的第m个进程,m的取值范围为1到M,M为待测芯片设计的进程总数;步骤S2、基于SystemVerilog语言在验证平台上实例化一个内存空间,将所述内存空间划分为M个独立的内存区域{A1,A2,
…
,A
m
,
…
,A
M
},A
m
为第m个内存区域,所述验证平台基于SystemVerilog语言生成;步骤S3、将A
m
设置为B
m
对应的内存区域;步骤S4、所述验证平台首次与B
m
进行交互时,在所述内存空间中申请A
m
,所述验证平台以及B
m
在A
m
中写入或读取数据。2.根据权利要求1所述的方法,其特征在于,所述步骤S2包括:步骤S21、在验证平台上实例化一个内存空间,所述内存空间包括N个地址,每个地址的位数均为W;步骤S22、将高S位相同的地址划分为一个内存空间,得到M个独立的内存区域{A1,A2,
…
,A
m
,
…
,A
M
},其中,S<W,S、M满足:2
S
=M,每一A
m
中包含2
W
‑
S
个地址,M
×2W
‑
S
=N。3.根据权利要求1所述的方法,其特征在于,所述步骤S4中,所述验证平台以及B
m
在A
m
中写入或读取数据,包括:步骤S41、所述验证平台或B
m
生成读取或写入B
m
数据的请求;步骤S42、所述验证平台从写入B
m
数据的请求中解析目标写地址和目标写入数据,在A
m
的目标写地址中写入目标写入数据;步骤S43、所述验证平台从读取B
m
数据的请求中解析目标读地址,从A
m
的目标读地址中读取目标读数据返回给所述验证平台或B
m
。4.根据权利要求3所述的方法,其特征在于,A
m
中设置有写状态标识,当A
m
中为空时,所述写状态标识设置为第一状态标识,当A
m
中不为空时,所述写状态标识设置为第二状态标识,在执行所述步骤S42之前包括:步骤S420、检测A
m
中的写状态标识,若为第一状态标识,则生成错误提示,若为第二状态标识,则执行步骤S42。5.根据权利要求1所述的方法,其特征在于,所述步骤S1之后包括:步骤S10、若需要在验证平台上实例化的内存空间小于预设的空间阈值,则执行步骤S2,否则,基于散列存储的方式为待测芯片设计的进程分配内存,所述散列存储的方式为,当待测芯片设计的进程需要分配内存时,分配对应大小的内存,不需要分配时,则不分配内存。6.根据权利要求1所述的方法,其特征在于,所述步骤S3之后还包括:步骤S301、建立A
m
对应的可读取进程集合{B
1m1
,B
2m1
,
…
,B
xm1
,
…
,B
f(m)m1
},B
xm1
为A
m
对应的第x个可读取进程,x的取值范围为1到f(m),f(m)为A
m
对应的可读取进程总数,f(m)≥0,B
xm1
{B1,B2,
…...
【专利技术属性】
技术研发人员:高卫,
申请(专利权)人:沐曦集成电路上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。