基于SystemVerilog的内存管理方法、电子设备和介质技术

技术编号:39401741 阅读:15 留言:0更新日期:2023-11-19 15:54
本发明专利技术涉及芯片验证技术领域,尤其涉及一种基于SystemVerilog的内存管理方法、电子设备和介质,步骤S1、获取待测芯片设计的进程列表{B1,B2,

【技术实现步骤摘要】
基于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
为待测芯片设计的第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
中写入或读取数据。
[0005]根据本专利技术第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本专利技术第一方面所述的方法。
[0006]根据本专利技术第三方面,提供一种计算机可读存储介质,所述计算机指令用于执行本专利技术第一方面所述的方法。
[0007]本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本专利技术提供的一种基于SystemVerilog的内存管理方法、电子设备和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:本专利技术实施例基于SystemVerilog在验证平台上实例化内存空间,并为待测芯片设计的每一进程分配一个独立的内存空间,在验证平台首次与待测芯片设计的进程进行交
互时,在所述内存空间中为首次交互的待测芯片设计的进程申请对应的内存,保证了待测芯片设计的每一进程的独立性,避免内存冲突。直接基于SystemVerilog在验证平台上进行内存管理,降低了芯片验证平台内存管理的复杂性,提高了芯片验证的仿真速度,提升了系统性能。
附图说明
[0008]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009]图1为本专利技术实施例提供的基于SystemVerilog的内存管理方法流程图。
具体实施方式
[0010]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0011]本专利技术实施例提供了一种基于SystemVerilog的内存管理方法,应用于芯片验证场景,在芯片验证过程中,需要设置验证平台,通过验证平台和待测芯片设计的交互实现芯片验证。如图1所示,所述方法包括:步骤S1、获取待测芯片设计的进程列表{B1,B2,

,B
m
,

,B
M
},B
m
为待测芯片设计的第m个进程,m的取值范围为1到M,M为待测芯片设计的进程总数。
[0012]需要说明的是,在芯片验证场景中,待测芯片设计包括M个独立的进程,在待测芯片设计和验证平台进行交互的过程中,需要为每一进程申请独立的内存,使得不同进程之间的内存不冲突,且能完成芯片验证流程,不需要频繁申请释放。
[0013]步骤S2、基于SystemVerilog语言在验证平台上实例化一个内存空间,将所述内存空间划分为M个独立的内存区域{A1,A2,

,A
m
,

,A
M
},A
m
为第m个内存区域,所述验证平台基于SystemVerilog语言生成。
[0014]需要说明的是,验证平台基于SystemVerilog语言生成,本专利技术实施例的内存管理也直接基于SystemVerilog语言实现,无需采用C语言实现的动态内存分配函数来管理内存,提高了系统性能。
[0015]步骤S3、将A
m
设置为B
m
对应的内存区域。
[0016]可以理解的是,通过步骤S3建立A
m
和B
m
的映射关系,实现为每一B
m
分配一个独立的内存空间。
[0017]步骤S4、所述验证平台首次与B
m
进行交互时,在所述内存空间中申请A
m
,所述验证平台以及B
m
在A
m
中写入或读取数据。
[0018]需要说明的是,建立A
m
和B
m
的映射关系之后,并没有直接给所有B
m
在所述验证平台中申请内存,而是在所述验证平台与B
m
进行首次交互时,再基于A
m
和B
m
的映射关系为B
m
申请对应的内存,减少了空间消耗,提高了芯片验证的仿真速度。
[0019]作为一种实施例,所述步骤S2包括:步骤S21、在验证平台上实例化一个内存空间,所述内存空间包括N个地址本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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,
…...

【专利技术属性】
技术研发人员:高卫
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1