一种通过复用系统级模型验证环境实现模块级验证的方法技术方案

技术编号:14564395 阅读:77 留言:0更新日期:2017-02-05 21:40
本发明专利技术公开了一种通过复用系统级模型验证环境实现模块级验证的方法,所述方法在系统级建模的过程中,采用与实际设计相一致的模块化建模,分别建立各个模块的功能模型,这样,在用来完成系统级的模型验证之后,通过用实际设计的一个或多个模块替换掉对应的模型,为模块级验证提供直接的验证环境。本发明专利技术在保证不影响系统级模型验证的前提下,通过前期建模时投入的时间和工作,能大幅地减少模块级验证搭建环境所需的时间,同时,大部分系统级验证的激励也可以直接复用,降低了构造模块验证激励的难度,能有效地缩短整个芯片的研发周期。

【技术实现步骤摘要】

本专利技术涉及芯片设计
,具体涉及一种通过复用系统级模型验证环境实现模块级验证的方法
技术介绍
随着工艺技术以及应用领域的不断发展,一方面芯片设计的复杂度不断提高,设计中对部分重要和复杂的模块进行模块级验证变得越来越有必要;而另一方面对芯片研发周期的要求越来越严格,这就要求对于芯片的各种验证工作需要尽早和高效地进行。传统上的模块级验证,主要分为两种:一种是由设计人员自己进行简单的白盒测试;另一种是通过完整的设计需求文档,由验证人员搭建黑盒的验证平台,并通过覆盖率的方式保证验证的充分性。前者只能适用于简单的或者默认为已经比较稳定的模块,后者能用于比较复杂的模块,但为每个模块搭建不同的验证环境需要耗费大量的时间和工作量,尤其是当芯片中有多个需要进行模块验证的复杂模块时,完成这些彼此不相关的模块验证任务将很大程度地影响验证进度。如图1所示的简单设计,该芯片有五个模块,其中模块1与模块2复杂度比较高,需要进行模块级验证。传统的做法是分别为模块1和模块2搭建单独的验证环境,再加上之前搭建的系统级模型验证环境,一共需要搭建3个不同的验证平台,以及对应的三套不同的“激励-结果监测”机制。
技术实现思路
本专利技术要解决的技术问题是:为了解决上述问题,本专利技术提出了一种通过复用系统级模型验证环境实现模块级验证的方法。本专利技术所采用的技术方案为:一种通过复用系统级模型验证环境实现模块级验证的方法,考虑到对于超大规模芯片仿真验证的需求,所述方法在系统级建模的过程中,采用与实际设计相一致的模块化建模,分别建立各个模块的功能模型,这样,在用来完成系统级的模型验证之后,通过用实际设计的一个或多个模块替换掉对应的模型,为模块级验证提供直接的验证环境。所述方法配置过程如下:1)选用能支持硬件描述的建模语言;2)明确芯片设计的模块划分、功能描述和接口定义;3)用建模语言按照功能分别实现各个模块,保证模块模型功能和接口时序与实际设计一致;这是为了满足之后的验证需要直接用模型和设计代码按模块混合验证的需求,而模块模型内部的实现方式,并不需要与实际设计符合;4)将于模型内部的监测和控制机制分布于各个模块,保证任意数量的模块模型组合不会影响全局的监测和控制;5)按照验证的类型和目标,对建好的模型进行替换,使用模型与设计代码按照模块进行混合,构造出系统,用系统级验证替代部分或全部的模块级验证。因为需要实现大量可以直接与设计代码(硬件描述语言)有关的接口,包括需要在接口和模块模型内部进行一定程度的时序控制,所述建模余元采用emverilog或者systemC等带有硬件描述特征的语言进行建模,可以更加方便地实现和管理。所述模块级的模型实现,使用参数化等方式,为之后的修改提供便利。正常情况下,总体设计完成之后,验证工作开始进行建模,到了这个阶段,模块划分和模块功能不会再有变化,但是接口定义与模块实际实现有关,也就是说在模块实现过程中可能会有所变动。因为所有的模块模型都是独立可替换的,所以在各个模块中设置有独立的监测和控制机制,并都与一套总的监测和控制机制相连。为了对单个模块进行更加充分的验证(要通过系统级仿真激励覆盖特定模块内部的所有功能点和代码,效率会比较低),所述方法采用在该模块的上游模块(输出激励到该模块的模块)添加直接注入和控制激励的方式。本专利技术的有益效果为:本专利技术在保证不影响系统级模型验证的前提下,通过前期建模时投入的时间和工作,能大幅地减少模块级验证搭建环境所需的时间,同时,大部分系统级验证的激励也可以直接复用,降低了构造模块验证激励的难度,能有效地缩短整个芯片的研发周期。附图说明图1为一个简单的芯片模块划分示例示意图;图2为传统系统级模型验证环境示意图;图3为传统模块级验证的验证环境示意图;图4为本专利技术复用系统级模型验证环境的模块级验证环境示意图。具体实施方式下面根据说明书附图,结合具体实施方式对本专利技术进一步说明:实施例1:如图4所示,一种通过复用系统级模型验证环境实现模块级验证的方法,在搭建系统级验证模型的阶段,就考虑到了模块验证的需求,对各个模块分别建模。同时,用于模型内部的监测和控制机制分布于各个模块,保证任意数量的模块模型组合也不会影响全局的监测和控制。这样,在进行模块级验证的时候,只需要用待验证设计模块对建好的模块模型进行替换,使用模型与设计按照模块进行混合,构造出系统,用系统级验证替代部分或全部的模块级验证。这样的话,只需要搭建一套验证平台和验证环境,如果有需要,可以实现系统级模型验证,所有模块的模块验证,以及灵活的各种模块组合的集成验证。随着需要进行模块验证的模块增加,两种方式需要的工作量差别会更加明显。实施例2:在实施例1的基础上,本实施例所述方法配置过程如下:1)选用能支持硬件描述的建模语言;2)明确芯片设计的模块划分、功能描述和接口定义;3)用建模语言按照功能分别实现各个模块,保证模块模型功能和接口时序与实际设计一致;这是为了满足之后的验证需要直接用模型和设计代码按模块混合验证的需求,而模块模型内部的实现方式,并不需要与实际设计符合;4)将于模型内部的监测和控制机制分布于各个模块,保证任意数量的模块模型组合不会影响全局的监测和控制;5)按照验证的类型和目标,对建好的模型进行替换,使用模型与设计代码按照模块进行混合,构造出系统,用系统级验证替代部分或全部的模块级验证。实施例3:在实施例2的基础上,本实施例因为需要实现大量可以直接与设计代码(硬件描述语言)有关的接口,包括需要在接口和模块模型内部进行一定程度的时序控制,所述建模余元采用emverilog或者systemC等带有硬件描述特征的语言进行建模,可以更加方便地实现和管理。实施例4:在实施例2的基础上,本实施例所述模块级的模型实现,使用参数化等方式,可以为之后的修改提供便利。正常情况下,总体设计完成之后,验证工作开始进行建模,到了这个阶段,模块划分和模块功能不会再有变化,但是接口定义与模块实际实现有关,也就是说在模块实现过程中可能会有所变动。实施例5:在实施例2的基础上,本实施例因为所有的模块模型都是独立可替换的,所以在各个模块中设置有独立的监测和控制机制,并都与一套总的监测和控制机制相连。实施例6:在实施例2的基础上,本实施例为了对单个模块进行更加充分的验证(要通过系统级仿真激励覆盖特定模块内部的所有功能点和代码,效率会比较低),所述方法采用在该模块的上游模块(输出激励到该模块的模块)添加直接注入和控制激励的方式。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网
...

【技术保护点】
一种通过复用系统级模型验证环境实现模块级验证的方法,其特征在于:所述方法在系统级建模的过程中,采用与实际设计相一致的模块化建模,分别建立各个模块的功能模型,这样,在用来完成系统级的模型验证之后,通过用实际设计的一个或多个模块替换掉对应的模型,为模块级验证提供直接的验证环境。

【技术特征摘要】
1.一种通过复用系统级模型验证环境实现模块级验证的方法,其特征在于:所述方法在系统级建模的过程中,采用与实际设计相一致的模块化建模,分别建立各个模块的功能模型,这样,在用来完成系统级的模型验证之后,通过用实际设计的一个或多个模块替换掉对应的模型,为模块级验证提供直接的验证环境。
2.根据权利要求1所述的一种通过复用系统级模型验证环境实现模块级验证的方法,其特征在于,所述方法配置过程如下:
1)选用能支持硬件描述的建模语言;
2)明确芯片设计的模块划分、功能描述和接口定义;
3)用建模语言按照功能分别实现各个模块,保证模块模型功能和接口时序与实际设计一致;
4)将于模型内部的监测和控制机制分布于各个模块,保证任意数量的模块模型组合不会影响全局的监测和控制;
5)按照验证的类型和目标,对建好的模型进行替换...

【专利技术属性】
技术研发人员:李拓
申请(专利权)人:山东海量信息技术研究院
类型:发明
国别省市:山东;37

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

1