本发明属于硬件仿真测试,具体涉及一种生成sva断言检查器及连接仿真平台的方法。
背景技术:
1、sva断言是一种描述性语言,可以用来描述已知硬件电路信号的时序关系和逻辑关系,是检查入如时钟、复位、或协议类最为常用的验证方法之一。sva断言不仅提供相关的内嵌函数来测试特定的设计情况,并且还能提供一些构造方法来自动收集断言覆盖率,因此,断言检查经常出现在各种硬件测试的仿真环境中。
2、然而,常规下进行断言检验器和硬件测试环境的连接,不仅需要考虑断言检验器和硬件测试环境之间的数据传输和处理速度,还需要兼顾两者之间的接口和环境的兼容性,此外,由连接而可能引入额外复杂性和潜在错误源的情况也需要避免,综上所述,常规方法下使用断言检验器连接硬件测试环境存在诸多不便和挑战。
技术实现思路
1、为了解决上述背景技术中提到的至少一个问题,本发明提出了提出了一种生成sva断言检查器及连接仿真平台的方法。
2、一种生成sva断言检查器及连接仿真平台的方法,包括步骤:
3、步骤s1,在表格文档中定义sva断言检测组件和sva断言检验器,具体过程如下:
4、首先,创建文档表格,并在文档表格中定义电路层级信号、sva断言检验器的例化名、需检测的信号、以及断言模块检测组件的控制信号;
5、然后,创建脚本,具体为python语言创建的脚本,并在python脚本中定义两个类,一个类定义为sva断言检测组件;另一个类定义为sva断言检验器。
6、步骤s2,由定义好的表格文档生成sva断言检测组件和sva断言检验器,具体过程如下:
7、首先,调用命令,由python脚本文件根据定义的sva断言检验器类,生成sva断言检验器,具体地,由python脚本文件读取文档表格,并从文档表格中读取出电路层级信号和sva断言检验器的例化名,再由读取到的电路层级信号和sva断言检验器的例化名,来对定义的sva断言检验器类进行实例化,进而生成sva断言检验器;
8、然后,调用命令,由python脚本文件根据定义的sva断言检测组件类,生成sva断言检测组件,具体地,先由python脚本文件读取文档表格,并从文档表格中读取出需检测的信号和断言模块检测组件的控制信号;再由读取到的需检测的信号和断言模块检测组件的控制信号,来对定义的sva断言模块检测组件类进行实例化,进而生成sva断言模块检测组件;
9、最后,将sva断言检测组件和sva断言检验器两个文件放置到仿真平台中,等待后续与仿真平台对接。
10、现有技术中,多采用sva断言检验器与仿真平台直接进行连接;或者先在外部建立断言检验器,然后再与硬件电路模块、模块的实例绑定在一起;这两种方法不仅会因为在验证过程中需要添加sva断言检验器的时序检查而增加冗余代码;还使得由于sva断言检验器在不同项目运行时,其信号层级会发生变化,而导致sva断言检验器的可重用性低下,难以进行不同项目间的移植。
11、本发明提出将sva断言检验器直接与仿真平台进行连接,抛弃原有的绑定与连接,将断言检测组件和仿真平台通过sva断言检验器从形式上隔离开,不仅缩减了验证过程的的代码量,方便后期验证人员在测试用例中控制sva断言检测组件。并且降低了sva断言检验器对仿真平台的依赖程度,提高了代码的可重用性,方便sva断言检验器在不同仿真平台的验证项目中进行移植。
12、步骤s3,将生成的sva断言检验器与仿真平台进行连接,具体过程如下:
13、首先,将sva断言检验器定义为模块,并将sva断言检测组件在该模块中进行实例化,进而得到sva断言检验器实例化后的模块名;
14、然后,由sva断言检验器通过模块名与仿真平台进行连接。
15、本发明提出了一种生成sva断言检查器及连接仿真平台的方法,与现有的技术相比,具有以下有益效果:
16、本发明提出的方法有效地缩减了验证过程的的代码量,方便后期验证人员在测试用例中控制sva断言检测组件;
17、本发明提出的方法降低了sva断言检验器对仿真平台的依赖程度,提高了代码的可重用性,方便sva断言检验器在不同仿真平台的验证项目中进行移植。
1.一种生成sva断言检查器及连接仿真平台的方法,其特征在于,包括步骤:
2.根据权利要求1所述的一种生成sva断言检查器及连接仿真平台的方法,其特征在于,步骤s1包括步骤:
3.根据权利要求1所述的一种生成sva断言检查器及连接仿真平台的方法,其特征在于,步骤s2包括步骤:
4.根据权利要求3所述的一种生成sva断言检查器及连接仿真平台的方法,其特征在于,步骤s201包括步骤:
5.根据权利要求3所述的一种生成sva断言检查器及连接仿真平台的方法,其特征在于,步骤s202包括步骤:
6.根据权利要求1所述的一种生成sva断言检查器及连接仿真平台的方法,其特征在于,步骤s3包括步骤:
