一种基于SystemC的芯片验证方法及系统技术方案

技术编号:37596979 阅读:16 留言:0更新日期:2023-05-18 11:44
本发明专利技术公开了一种基于SystemC的芯片验证方法及系统,其中所述方法包括:搭建SystemC验证平台,包括驱动器、监视器和比较器;在SystemC验证平台上安装CRAVE扩展库和FC4SC扩展库;驱动器调用CRAVE扩展库生成受约束的随机测试用例,再将随机测试用例和定向测试用例反馈至被测芯片和参考模型进行模拟运行;监视器收集被测芯片产生的响应结果和参考模型产生的参考结果;比较器将响应结果和参考结果进行比对,以验证被测芯片的功能正确性;监视器调用FC4SC扩展库对SystemC验证平台的功能覆盖率进行收集,以形成覆盖率报告输出。本发明专利技术可以提高芯片验证的效率,也可以使得芯片验证工作更具全面性。工作更具全面性。工作更具全面性。

【技术实现步骤摘要】
一种基于SystemC的芯片验证方法及系统


[0001]本专利技术涉及芯片验证
,具体是涉及一种基于SystemC的芯片验证方法及系统。

技术介绍

[0002]随着集成电路行业技术的发展,SoC(System on Chip)芯片的规模越来越大,芯片上所能实现的功能复杂度甚至超越摩尔定律所预言的集成度发展速度,同时芯片的设计周期也由以前的18个月缩短到6个月甚至更短。由于芯片规模和复杂性的增加,导致芯片验证工作占据整个设计周期的大部分时间,同时芯片验证工作也变得异常困难。目前已有技术人员提出搭建传统的SystemC验证平台来完成芯片验证任务,但是传统的SystemC验证平台仅能提供单一的定向测试用例以供被测芯片模拟运行,需要耗费大量的人力物力,且无法获取功能覆盖率以量化分析芯片功能验证的完备性。

技术实现思路

[0003]本专利技术提供一种基于SystemC的芯片验证方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
[0004]第一方面,提供一种基于SystemC的芯片验证方法,所述方法包括:
[0005]搭建SystemC验证平台,包括驱动器、监视器和比较器;
[0006]在所述SystemC验证平台上安装CRAVE扩展库和FC4SC扩展库;
[0007]所述驱动器根据CRT原理调用所述CRAVE扩展库生成受约束的随机测试用例,再将所述随机测试用例和用户提供的定向测试用例反馈至被测芯片和参考模型进行模拟运行;
[0008]所述监视器收集所述被测芯片在模拟运行时产生的响应结果以及所述参考模型在模拟运行时产生的参考结果;
[0009]所述比较器将所述响应结果和所述参考结果进行比对,以验证所述被测芯片的功能正确性;
[0010]所述监视器根据CDV原理调用所述FC4SC扩展库对所述被测芯片的功能覆盖率进行收集,以形成可视化的覆盖率报告输出。
[0011]进一步地,所述参考模型是所述SystemC验证平台根据所述被测芯片的功能进行建模得到的。
[0012]进一步地,所述CRAVE扩展库的内部设置有SMT约束求解器,所述SMT约束求解器用于在带约束下对C/C++环境中出现的第一变量类型和SystemC环境下出现的第二变量类型进行随机化。
[0013]进一步地,所述第一变量类型包括整型、数组、STL向量和枚举,所述第二变量类型包括带固定位宽的sc_int变量和sc_bv变量。
[0014]进一步地,所述CRAVE扩展库的使用过程为:
[0015]继承crv_sequence_item基类,以形成受约束的随机类;
[0016]在所述受约束的随机类中定义所有随机变量,并通过构造函数定义关于所述所有随机变量的约束,包括取值范围约束、条件约束、内嵌约束和软约束;
[0017]调用randomize函数将所述所有随机变量在所述约束下进行随机化,生成关于所述被测芯片的随机测试用例。
[0018]进一步地,所述FC4SC扩展库的内部至少提供覆盖组、覆盖点和bin,任一覆盖组包括一个或多个覆盖点,所述覆盖点指代采样变量,任一覆盖点包括一个或多个bin,所述bin指代采样变量的具体数值。
[0019]进一步地,所述FC4SC扩展库的使用过程为:
[0020]继承covergroup基类,以形成覆盖组类;
[0021]在所述覆盖组类中定义所有覆盖点,并为每个覆盖点定义对应的bin;
[0022]调用sample函数对所述所有覆盖点的bin进行采样,得到关于所述被测芯片在当前测试过程中的功能覆盖率。
[0023]第二方面,提供一种基于SystemC的芯片验证系统,包括SystemC验证平台和被测芯片,所述SystemC验证平台包括驱动器、监视器和比较器,并且在所述SystemC验证平台上安装CRAVE扩展库和FC4SC扩展库;
[0024]所述驱动器用于根据CRT原理调用所述CRAVE扩展库生成受约束的随机测试用例,再将所述随机测试用例和用户提供的定向测试用例反馈至所述被测芯片和参考模型进行模拟运行;其中,所述参考模型是所述SystemC验证平台根据所述被测芯片的功能进行建模得到的;
[0025]所述监视器用于收集所述被测芯片在模拟运行时产生的响应结果以及所述参考模型在模拟运行时产生的参考结果;
[0026]所述比较器用于将所述响应结果和所述参考结果进行比对,以验证所述被测芯片的功能正确性;
[0027]所述监视器还用于根据CDV原理调用所述FC4SC扩展库对所述被测芯片的功能覆盖率进行收集,以形成可视化的覆盖率报告输出。
[0028]第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序以实现如第一方面所述的基于SystemC的芯片验证方法。
[0029]第四方面,提供一种计算机可读存储介质,其上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于SystemC的芯片验证方法。
[0030]本专利技术至少具有以下有益效果:与传统的SystemC验证平台相比,驱动器不仅可以提供单一的定向测试用例,还可以通过调用CRAVE扩展库产生受约束的随机测试用例,能够有效地减少编写定向测试用例的工作量,并且通过随机测试方式能够更为全面地查找出被测芯片中的设计漏洞。与传统的SystemC验证平台相比,监视器不仅可以收集被测芯片输出的响应结果以及参考模型输出的参考结果,还可以通过调用FC4SC扩展库来收集被测芯片中的功能覆盖率并生成可视化的覆盖率报告,进而量化当前对被测芯片的验证进度,确保对被测芯片的验证已达到要求,使得对被测芯片的验证工作更具有全面性和完备性。本专利技术所提出的SystemC验证平台能够在一定程度上代替SystemVerilog作为验证语言使用,尤其是针对C/C++/SystemC环境下的芯片设计。
附图说明
[0031]附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。
[0032]图1是本专利技术实施例中的一种基于SystemC的芯片验证方法的流程示意图;
[0033]图2是本专利技术实施例中的关于CRAVE扩展库调用的部分代码示意图;
[0034]图3是本专利技术实施例中的关于FC4SC扩展库调用的部分代码示意图;
[0035]图4是本专利技术实施例中的关于覆盖率报告的示意图;
[0036]图5是本专利技术实施例中的一种基于SystemC的芯片验证系统的组成示意图;
[0037]图6是本公开实施例中的计算机设备的硬件结构示意图。
具体实施方式
[0038]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SystemC的芯片验证方法,其特征在于,所述方法包括:搭建SystemC验证平台,包括驱动器、监视器和比较器;在所述SystemC验证平台上安装CRAVE扩展库和FC4SC扩展库;所述驱动器根据CRT原理调用所述CRAVE扩展库生成受约束的随机测试用例,再将所述随机测试用例和用户提供的定向测试用例反馈至被测芯片和参考模型进行模拟运行;所述监视器收集所述被测芯片在模拟运行时产生的响应结果以及所述参考模型在模拟运行时产生的参考结果;所述比较器将所述响应结果和所述参考结果进行比对,以验证所述被测芯片的功能正确性;所述监视器根据CDV原理调用所述FC4SC扩展库对所述被测芯片的功能覆盖率进行收集,以形成可视化的覆盖率报告输出。2.根据权利要求1所述的基于SystemC的芯片验证方法,其特征在于,所述参考模型是所述SystemC验证平台根据所述被测芯片的功能进行建模得到的。3.根据权利要求1所述的基于SystemC的芯片验证方法,其特征在于,所述CRAVE扩展库的内部设置有SMT约束求解器,所述SMT约束求解器用于在带约束下对C/C++环境中出现的第一变量类型和SystemC环境下出现的第二变量类型进行随机化。4.根据权利要求3所述的基于SystemC的芯片验证方法,其特征在于,所述第一变量类型包括整型、数组、STL向量和枚举,所述第二变量类型包括带固定位宽的sc_int变量和sc_bv变量。5.根据权利要求1所述的基于SystemC的芯片验证方法,其特征在于,所述CRAVE扩展库的使用过程为:继承crv_sequence_item基类,以形成受约束的随机类;在所述受约束的随机类中定义所有随机变量,并通过构造函数定义关于所述所有随机变量的约束,包括取值范围约束、条件约束、内嵌约束和软约束;调用randomize函数将所述所有随机变量在所述约束下进行随机化,生成关于所述被测芯片的随机测试用例。6.根据权利要求1所述的基于System...

【专利技术属性】
技术研发人员:徐能郑欣高鹏熊晓明刘远高怀恩詹瑞典曾少奋钟泳锋林锋杰
申请(专利权)人:佛山芯珠微电子有限公司
类型:发明
国别省市:

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

1