集成电路模块间协同工作的验证系统及验证方法转让专利

申请号 : CN202010438565.3

文献号 : CN111353266B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨兵李振李春红

申请人 : 北京燧原智能科技有限公司

摘要 :

本发明实施例公开了一种集成电路模块间协同工作的验证系统及验证方法。该验证系统包括:激励模型、功能模拟模型、互联电路模型、存储器模型以及计分板,其中,互联电路模型用于根据互联电路配置信息实现被测电路中的主机电路模块和从机电路模块的互联功能;计分板用于根据操作期待值、主机操作实际值以及从机操作实际值,实现对主机电路模块和从机电路模块间协同工作的验证。采用上述集成电路模块间协同工作的验证系统,能够在无互联电路、存储器、上层集成连接线的条件下,能够高质量地完成被测电路的互联功能以及多模块协同工作能力的验证,使被测电路的问题可以更早地被发现和解决。

权利要求 :

1.一种集成电路模块间协同工作的验证系统,其特征在于,包括:激励模型、功能模拟模型、互联电路模型、存储器模型以及计分板,其中,所述激励模型,用于产生被测电路模块的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将所述指令集合分别发送至主机电路模块和所述功能模拟模型,将所述存储器模型配置信息分别发送至所述存储器模型和所述功能模拟模型,将所述互联电路配置信息分别发送至所述互联电路模型和所述功能模拟模型;

其中,所述被测电路模块包括所述主机电路模块和从机电路模块,所述主机电路模块用于根据所述指令集合发起操作并将主机操作实际值发送至所述计分板,所述从机电路模块用于通过所述互联电路模型与所述主机电路模块协同工作并将从机操作实际值发送至所述计分板;

所述功能模拟模型,用于模拟包括所述主机电路模块、所述从机电路模块、存储器、以及所述主机电路模块和所述从机电路模块之间互联电路的集成芯片的功能,在根据所述互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据所述指令集合发起操作,并将操作期待值发送至所述计分板;

所述互联电路模型,用于根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;

所述存储器模型,用于根据所述存储器模型配置信息,实现数据存储功能;

所述计分板,用于根据所述操作期待值、所述主机操作实际值和所述从机操作实际值,实现对所述主机电路模块和所述从机电路模块间协同工作的验证。

2.根据权利要求1所述的验证系统,其特征在于,还包括:主机集成电路芯核和从机集成电路芯核,其中,所述主机集成电路芯核,用于将来自所述主机电路模块的信号转换为访问事务发送至所述互联电路模型,并将所述访问事务作为所述主机操作实际值发送至所述计分板,以及用于将在所述互联电路模型中监听到的目标反馈事务转换为信号发送至所述主机电路模块;

所述从机集成电路芯核,用于将在所述互联电路模型中监听到的目标访问事务转换为信号发送至所述从机电路模块,以及用于将来自所述从机电路模块的信号转换为反馈事务发送至所述互联电路模型,并将所述反馈事务作为所述从机操作实际值发送至计分板。

3.根据权利要求2所述的验证系统,其特征在于,

所述主机集成电路芯核中加载有主机协同序列处理子模块,所述主机协同序列处理子模块用于根据所述主机电路模块发起的访问事务的地址产生或者获取所述访问事务的反馈事务;

所述从机集成电路芯核中加载有从机协同序列处理子模块,所述从机协同序列处理子模块用于在所述互联电路模型中监听指向所述从机电路模块的访问事务,并将所述访问事务发送至所述从机电路模块中,以及在所述从机电路模块中获取所述访问事务的反馈事务发送至所述互联电路模型。

4.根据权利要求1所述的验证系统,其特征在于,所述从机电路模块中包括主机接口电路,所述主机接口电路用于将所述从机电路模块对访问事务的处理结果发送至所述存储器模型中进行存储。

5.根据权利要求1所述的验证系统,其特征在于,所述互联电路模型包括互联通道子模型和至少一个虚拟主机子模型,其中,所述互联通道子模型,用于根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;

所述虚拟主机子模型,用于模拟主机电路模块产生访问事务。

6.根据权利要求5所述的验证系统,其特征在于,所述互联通道子模型,还用于设置所述互联电路模型的延时信息和/或仲裁功能。

7.根据权利要求1所述的验证系统,其特征在于,还包括:检测模型,用于检测所述主机电路模块和所述从机电路模块的信号接口上的激励信号是否符合预设传输协议,和/或,用于判断所述主机电路模块和所述从机电路模块的中断输出信号是否符合预设时序。

8.根据权利要求1所述的验证系统,其特征在于,还包括:功能覆盖率分析模型,用于根据所述计分板收集的所述操作期待值、所述主机操作实际值和所述从机操作实际值,分析所述主机电路模块和所述从机电路模块间协同工作功能的覆盖率。

9.一种集成电路模块间协同工作的验证方法,其特征在于,包括:

通过激励模型产生被测电路模块的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将所述指令集合分别发送至主机电路模块和功能模拟模型,将所述存储器模型配置信息分别发送至存储器模型和所述功能模拟模型,将所述互联电路配置信息分别发送至互联电路模型和所述功能模拟模型;其中,所述被测电路模块包括所述主机电路模块和从机电路模块;

通过所述互联电路模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;

通过所述存储器模型根据所述存储器模型配置信息,实现数据存储功能;

通过所述功能模拟模型模拟包括所述主机电路模块、所述从机电路模块、存储器、以及所述主机电路模块和所述从机电路模块之间互联电路的集成芯片的功能,在根据所述互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据所述指令集合发起操作,并将操作期待值发送至计分板;

通过所述主机电路模块根据所述指令集合发起操作,并将主机操作实际值发送至所述计分板;

通过所述从机电路模块基于所述互联电路模型与所述主机电路模块协同工作,并将从机操作实际值发送至所述计分板;

通过所述计分板根据所述操作期待值、所述主机操作实际值和所述从机操作实际值,实现对所述主机电路模块和所述从机电路模块间协同工作的验证。

10.根据权利要求9所述的验证方法,其特征在于,通过所述主机电路模块根据所述指令集合发起操作,并将主机操作实际值发送至所述计分板,包括:通过主机集成电路芯核将来自所述主机电路模块的信号转换为访问事务发送至所述互联电路模型,并将所述访问事务作为所述主机操作实际值发送至所述计分板,以及将在所述互联电路模型中监听到的目标反馈事务转换为信号发送至所述主机电路模块;

通过所述从机电路模块与所述主机电路模块协同工作,并将从机操作实际值发送至所述计分板,包括:通过从机集成电路芯核将在所述互联电路模型中监听到的目标访问事务转换为信号发送至所述从机电路模块,以及将来自所述从机电路模块的信号转换为反馈事务发送至所述互联电路模型,并将所述反馈事务作为所述从机操作实际值发送至计分板。

11.根据权利要求10所述的验证方法,其特征在于,还包括:

通过所述主机集成电路芯核中加载的主机协同序列处理子模块,根据所述主机电路模块发起的访问事务的地址产生或者获取所述访问事务的反馈事务;

通过所述从机集成电路芯核中加载的从机协同序列处理子模块,在所述互联电路模型中监听指向所述从机电路模块的访问事务,并将所述访问事务发送至所述从机电路模块中,以及在所述从机电路模块中获取所述访问事务的反馈事务发送至所述互联电路模型。

12.根据权利要求9所述的验证方法,其特征在于,还包括:

通过所述从机电路模块的主机接口电路,将所述从机电路模块对访问事务的处理结果发送至所述存储器模型中进行存储。

13.根据权利要求9所述的验证方法,其特征在于,所述互联电路模型包括互联通道子模型和至少一个虚拟主机子模型;

通过所述互联电路模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能,包括:通过所述互联通道子模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;

所述验证方法,还包括:通过所述虚拟主机子模型模拟主机电路模块产生访问事务。

14.根据权利要求13所述的验证方法,其特征在于,还包括:

通过所述互联通道子模型设置所述互联电路模型的延时信息和/或仲裁功能。

15.根据权利要求9所述的验证方法,其特征在于,还包括:

通过检测模型检测所述主机电路模块和所述从机电路模块的信号接口上的激励信号是否符合预设传输协议,和/或,通过检测模型判断所述主机电路模块和所述从机电路模块的中断输出信号是否符合预设时序。

16.根据权利要求9所述的验证方法,其特征在于,还包括:

通过功能覆盖率分析模型根据所述计分板收集的所述操作期待值、所述主机操作实际值和所述从机操作实际值,分析所述主机电路模块和所述从机电路模块间协同工作功能的覆盖率。

说明书 :

集成电路模块间协同工作的验证系统及验证方法

技术领域

[0001] 本发明实施例涉及集成电路技术领域,尤其涉及一种集成电路模块间协同工作的验证系统及验证方法。

背景技术

[0002] 芯片设计中,特别是5G和人工智能芯片,核心电路模块的大规模互联是必不可少的。
[0003] 在集成电路的前期开发中,70%以上的工作量都在验证阶段。然而,相关验证环境存在下述问题:在互联电路设计中,当存储器设计和电路集成未完成时,无法建立电路模块间协同工作的验证环境,进而无法验证核心电路模块的协同工作功能,使核心电路模块无法单独地高质量发布。相应的,验证人员在互联模块设计、集成和上层模块基本功能调试完之前无法进行核心电路模块级的验证工作,使核心电路模块互联功能的问题检出大大滞后,产生大量修改成本,严重消耗了验证人力资源。

发明内容

[0004] 本发明实施例提供一种集成电路模块间协同工作的验证系统及验证方法,以解决在互联电路设计中未完成互联电路、存储器以及上层电路集成连线时无法建立电路模块间协同工作验证环境的问题,避免出现核心电路模块互联功能问题检出滞后的现象,节省验证人力资源。
[0005] 第一方面,本发明实施例提供了一种集成电路模块间协同工作的验证系统,包括:
[0006] 激励模型、功能模拟模型、互联电路模型、存储器模型以及计分板,其中,[0007] 所述激励模型,用于产生被测电路模块的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将所述指令集合分别发送至主机电路模块和所述功能模拟模型,将所述存储器模型配置信息分别发送至所述存储器模型和所述功能模拟模型,将所述互联电路配置信息分别发送至所述互联电路模型和所述功能模拟模型;
[0008] 其中,所述被测电路模块包括所述主机电路模块和从机电路模块,所述主机电路模块用于根据所述指令集合发起操作并将主机操作实际值发送至所述计分板,所述从机电路模块用于与所述主机电路模块协同工作并将从机操作实际值发送至所述计分板;
[0009] 所述功能模拟模型,用于模拟包括所述主机电路模块、所述从机电路模块、存储器、以及所述主机电路模块和所述从机电路模块之间互联电路的集成芯片的功能,在根据所述互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据所述指令集合发起操作,并将操作期待值发送至所述计分板;
[0010] 所述互联电路模型,用于根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;
[0011] 所述存储器模型,用于根据所述存储器模型配置信息,实现数据存储功能;
[0012] 所述计分板,用于根据所述操作期待值、所述主机操作实际值和所述从机操作实际值,实现对所述主机电路模块和所述从机电路模块间协同工作的验证。
[0013] 第二方面,本发明实施例还提供了一种集成电路模块间协同工作的验证方法,包括:
[0014] 通过激励模型产生被测电路模块的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将所述指令集合分别发送至主机电路模块和功能模拟模型,将所述存储器模型配置信息分别发送至存储器模型和所述功能模拟模型,将所述互联电路配置信息分别发送至互联电路模型和所述功能模拟模型;其中,所述被测电路模块包括所述主机电路模块和从机电路模块;
[0015] 通过所述互联电路模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能;
[0016] 通过所述存储器模型根据所述存储器模型配置信息,实现数据存储功能;
[0017] 通过所述功能模拟模型模拟包括所述主机电路模块、所述从机电路模块、存储器、以及所述主机电路模块和所述从机电路模块之间互联电路的集成芯片的功能,在根据所述互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据所述指令集合发起操作,并将操作期待值发送至计分板;
[0018] 通过所述主机电路模块根据所述指令集合发起操作,并将主机操作实际值发送至所述计分板;
[0019] 通过所述从机电路模块与所述主机电路模块协同工作,并将从机操作实际值发送至所述计分板;
[0020] 通过所述计分板根据所述操作期待值、所述主机操作实际值和所述从机操作实际值,实现对所述主机电路模块和所述从机电路模块间协同工作的验证。
[0021] 采用本发明实施例提供的集成电路模块间协同工作的验证系统,能够在无互联电路、存储器、上层集成连接线的条件下,能够高质量地完成被测电路的互联功能以及多模块协同工作能力的验证,使被测电路的问题可以更早地被发现和解决。

附图说明

[0022] 图1是本发明实施例一中的一种集成电路模块间协同工作的验证系统的结构示意图;
[0023] 图2是本发明实施例一中的一种集成电路模块间协同工作的验证系统的结构示意图;
[0024] 图3是本发明实施例二中的一种集成电路模块间协同工作的验证方法的流程图;
[0025] 图4是本发明实施例三中的一种集成电路模块间协同工作的验证系统的结构示意图。

具体实施方式

[0026] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0027] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0028] 实施例一
[0029] 图1为本发明实施例一提供的一种集成电路模块间协同工作的验证系统的结构示意图,本实施例可适用于在核心电路模块的互联电路未完成的条件下对核心功能模块间的协同工作能力进行验证的情况。如图1所示,该集成电路模块间协同工作的验证系统,具体包括:激励模型10、功能模拟模型20、互联电路模型30、存储器模型40以及计分板50。其中,[0030] 激励模型10,用于产生被测电路模块60的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将所述指令集合分别发送至主机电路模块61和功能模拟模型20,将所述存储器模型配置信息分别发送至存储器模型40和功能模拟模型20,将所述互联电路配置信息分别发送至互联电路模型30和功能模拟模型20;
[0031] 其中,被测电路模块60包括主机电路模块61和从机电路模块62,主机电路模块61用于根据所述指令集合发起操作并将主机操作实际值发送至计分板50,从机电路模块62用于与主机电路模块61协同工作并将从机操作实际值发送至计分板50;
[0032] 功能模拟模型20,用于模拟包括主机电路模块、从机电路模块、存储器、以及主机电路模块和从机电路模块之间互联电路的集成芯片的功能,在根据所述互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据所述指令集合发起操作,并将操作期待值发送至计分板50;
[0033] 互联电路模型30,用于根据所述互联电路配置信息,实现主机电路模块61和从机电路模块62的互联功能;
[0034] 存储器模型40,用于根据所述存储器模型配置信息,实现数据存储功能;
[0035] 计分板50,用于根据所述操作期待值、所述主机操作实际值和所述从机操作实际值,实现对主机电路模块61和从机电路模块62间协同工作的验证。
[0036] 被测电路模块,指的是需要进行核心电路模块间协同工作验证的被测电路。其中,被测电路模块中包括至少一个主机电路模块和至少一个从机电路模块,主机电路模块指的是发起操作的电路,从机电路模块为与主机电路模块配合接受操作任务的电路。值得指出的是,主机电路模块和从机电路模块仅仅是以协同工作中角色身份的角度划分的,事实上,一个电路模块在一次多模块间协同工作验证中可以充当主机电路模块,在另外一次多模块间协同工作验证中又可以充当从机电路模块。下述以被测电路模块中包括一个主机电路模块和一个从机电路模块为例进行解释说明,当然,本申请实施例提供的集成电路模块间协同工作的验证系统也可以实现对多个主机电路模块及多个从机电路模块间的协同工作验证。
[0037] 在一示例中,主机电路模块和从机电路模块,可以是由Verilog代码编写的,也可以是由VHDL(Veri-High-Speed Integrate Circuit Hardware Description Language,通用硬件描述语言)编写的,也可以是由Verilog和VHDL两者混合编写的,也可以是由Verilog或者VHDL或者Verilog和VHDL两者混合编译后生成的用于仿真的电路网表,也可以是由其他语言编写生成的Verilog或者VHDL,还可以是由其他语言编写以Verilog或者VHDL为中间产物生成的电路网表。
[0038] 具体的,主机电路模块可以包括至少一个主机接口电路,从机电路模块可以包括至少一个从机接口电路。
[0039] 被测电路的输入是验证激励,它是包含被测电路需要执行的一系列指令集合。为了高效地实现指令中的内容,芯片需在短时间内调动尽量多的硬件电路。这样除了主机电路模块完成指令以外,主机电路模块会把这些指令分配到从机电路模块来完成。具体的,主机电路模块会通过互联电路模型访问从机电路模块,并主动获取从机电路模块的任务完成结果。其中,主机电路模块上的访问事务,以及从机电路模块上的反馈事务,分别作为主机操作实际值和从机操作实际值送入计分板。
[0040] 进一步的,在一具体示例中,从机电路模块中也可以包括主机接口电路,主机接口电路用于将从机电路模块对访问事务的处理结果发送至存储器模型中进行存储。
[0041] 典型的,主机电路模块和从机电路模块可以是相同的电路结构,均可以包括至少一个主机接口电路和至少一个从机接口电路。在进行电路模块间协同工作验证时,发起操作的电路模块即为主机电路模块,接受操作任务的电路模块即为从机电路模块。
[0042] 在从机电路模块中不包括主机接口电路时,从机接口电路不能将从机电路模块对访问事务的处理结果发送至存储器模型中进行存储,而是在互联电路模型中监听到主机电路模块发起的相关访问事务(比如是读取处理结果的访问事务)时,通过相应的反馈事务将处理结果反馈给主机接口电路。
[0043] 在从机电路模块中包括主机接口电路时,该主机接口电路可以将从机电路模块对访问事务的处理结果发送至存储器模型中进行存储,进而主机电路模块可以通过其主机接口电路去访问存储器模型而直接获取到相关处理结果。这样设置的好处在于,能够避免由于数据计算量较大而占用互联电路模型资源过多的问题。
[0044] 激励模型,产生被测电路模块的指令集合,以及产生存储器模型配置信息和互联电路模型配置信息。其中,互联电路模型配置信息,指的是与互联电路相关的配置信息,需要发送至互联电路模型进行配置,以及发送至功能模拟模型进行配置;存储器模型配置信息,指的是与存储器模型相关的配置信息,需要发送至存储器模型进行配置,以及发送至功能模拟模型进行配置。具体的,存储器模型配置信息可以是存储器地址空间、保留地址空间等,互联电路模型配置信息可以是从机地址空间、虚拟主机的数量等,指令集合中包含的指令可以触发主机电路模块访问存储器地址空间、从机地址空间和保留地址空间。
[0045] 在一示例中,Systemverilog语言可以提供有约束的验证激励模型的生成,按照用户定制的指令集合生成二进制数据。其中,这些指令中包含对存储器、从机电路模块和保留地址空间的访问。当然,上述二进制数据也可以由C、C++、Python,汇编等语言生成,或者由Verilog和/或VHDL等编写后由编译器编译生成。
[0046] 功能模拟模型,是被测电路的模拟模型,其模拟包含主机电路模块、从机电路模块、互联电路以及存储器的集成芯片的功能。功能模拟模型,通过一条通道与计分板相连,按照激励模型给出的指令集合、存储器模型配置信息以及互联电路模型配置信息,生成被测电路模块的操作期待值(包括主机电路模块的主机操作期待值和从机电路模块的从机操作期待值),并将操作期待值送入计分板进行比较。
[0047] 互联电路模型,实现主机电路模块和从机电路模块的互联,具体的,互联电路模型能够传递主机电路模块的访问事务以及从机电路模块的反馈事务。在一示例中,互联电路模型仅传递访问事务和反馈事务的句柄信息,适用于各种协议的访问事务和反馈事务。
[0048] 主机电路模块和从机电路模块,通过互联电路模型配合完成激励模型产生的指令集合。具体的,在指令集合执行过程中,主机电路模块将主机操作实际值发送至计分板,从机电路模块将从机操作实际值发送至计分板。
[0049] 计分板,检查来自功能模拟模型的主机操作期待值与来自主机电路模块的主机操作实际值是否一致,检查来自功能模拟模型的从机操作期待值与来自从机电路模块的从机操作实际值是否一致,以实现主机电路模块与从机电路模块间协同工作的验证。其中,此处的验证具体是指,将激励模型产生的指令集合同时送入被测电路模块以及功能模拟模型中,接收来自被测电路模块的操作实际值以及来自功能模拟模型的操作期待值,以实现自动化判断主机电路模块与从机电路模块间的协同工作能力。在一示例中,计分板可以对每一组匹配的操作实际值和操作期待值给出是否一致的判断结果。
[0050] 存储器模型,根据激励模型产生的存储器模型配置信息设定存储器地址空间和保留地址空间,用于存储相关操作数据,并响应相关操作数据的访问。在一示例中,存储器模型可以响应不同数据宽度的数据访问。
[0051] 值得指出是,本实施例提供的任意模型、任意模块均可以采用软件和/或硬件的方式实现。
[0052] 本发明实施例提供的技术方案,能够在无互联电路、存储器、上层集成连接线的条件下,能够高质量地完成被测电路的互联功能以及多模块协同工作能力的验证,使被测电路的问题可以更早地被发现和解决。
[0053] 进一步的,在上述技术方案的基础上,上述集成电路模块间协同工作的验证系统,还可以包括:检测模型,用于检测主机电路模块和从机电路模块的信号接口上的激励信号是否符合预设传输协议,和/或,用于判断主机电路模块和从机电路模块的中断输出信号是否符合预设时序。
[0054] 检测模型,分别与主机电路模块和从机电路模块相连,可以检测主机电路模块和从机电路模块的信号接口上的激励信号是否符合预设传输协议,并可以在激励信号不符合预设传输协议时进行相关报错或告警操作;检测模块,还可以检测主机电路模块和从机电路模块上的中断输出信号是否符合预设时序,并可以在中断输出信号不符合预设时序时进行相关报错或告警操作。
[0055] 进一步的,在上述技术方案的基础上,上述集成电路模块间协同工作的验证系统,还可以包括:功能覆盖率分析模型,用于根据计分板收集的操作期待值、主机操作实际值和从机操作实际值,分析主机电路模块和从机电路模块间协同工作功能的覆盖率。
[0056] 功能覆盖率分析模型,与计分板相连,能够获取计分板收集的来自功能模拟模型的操作期待值(主机操作期待值和从机操作期待值)以及来自被测电路模块的主机操作实际值和从机操作实际值,并可以根据主机操作期待值和主机操作实际值的对比,以及根据从机操作期待值和从机操作实际值的对比,分析主机电路模块和从机电路模块间哪些协同工作功能被实现,进而可以结合主机电路模块和从机电路模块间预设的所有协同功能确定出主机电路模块和从机电路模块间协同工作功能的覆盖率。关于覆盖率的展示形式,本实施不做具体限定,例如可以是以数值以及覆盖功能详表的形式来展示。
[0057] 图2为本发明实施例一提供的一种集成电路模块间协同工作的验证系统的结构示意图。在一示例中,如图2所示(图2中以多个主机电路模块和多个从机电路模块为例示出),在上述技术方案的基础上,本实施例提供的集成电路模块间协同工作的验证系统,还包括:主机集成电路芯核70和从机集成电路芯核80,其中,
[0058] 主机集成电路芯核70,用于将来自主机电路模块61的信号转换为访问事务发送至互联电路模型30,并将访问事务作为主机操作实际值发送至计分板50,以及用于将在互联电路模型30中监听到的目标反馈事务转换为信号发送至主机电路模块61;
[0059] 从机集成电路芯核80,用于将在互联电路模型30中监听到的目标访问事务转换为信号发送至从机电路模块62,以及用于将来自从机电路模块62的信号转换为反馈事务发送至互联电路模型30,并将反馈事务作为从机操作实际值发送至计分板50。
[0060] 目标访问事务,指的是指向从机集成电路芯核80的访问事务。
[0061] 集成电路芯核的作用是将一组电路设计集合在一起,构成芯片的基本单位,用于把接口电路的信号转换为适宜互联电路模型传输的数据包(如各种事务),或者将互联电路模型传输的数据包转换为接口电路的信号。在一具体示例中,集成电路芯核可以是集成电路知识产权芯核(VIP),也即是将一组具有知识产权的电路设计集合在一起,构成芯片的基本单位。其中,与主机电路模块相连的即为主机集成电路芯核,与从机电路模块相连的即为从机集成电路芯核。
[0062] 具体的,主机集成电路芯核,通过一条通道与计分板相连,捕获到主机电路模块中主机接口电路的信号后转换成为访问事务,将访问事务发送至互联电路模型,并将访问事务作为主机操作实际值发送到计分板。同时,主机集成电路芯核将在互联电路模型中监听到的反馈事务转换成主机接口电路的信号。
[0063] 从机集成电路芯核,通过一条通道与计分板相连,将在互联电路模型中监听到的指向其的访问事务转换为访问从机电路模块中的从机接口电路的信号,将来自从机接口电路的信号转换成反馈事务发送至互联电路模型,并将反馈事务作为从机操作实际值发送到计分板。
[0064] 相应的,计分板检测来自功能模拟模型的主机操作期待值、从机操作期待值,以及来自主机集成电路芯核的主机操作实际值、来自从机集成电路芯核的从机操作实际值,以实现自动化判断主机电路模块与从机电路模块间的协同工作能力。具体的,计分板,检查来自功能模拟模型的访问事务与来自主机集成电路芯核的访问事务是否一致,检查来自功能模拟模型的反馈事务是否与来自从机集成电路芯核的反馈事务是否一致,以实现多电路模块协同功能的验证。
[0065] 同时,计分板还可以根据收集的各种事务(包括访问事务和反馈事务等)的时序信息来评估互联电路模型的性能。
[0066] 进一步的,在一示例中,如图2所示,主机集成电路芯核70中加载有主机协同序列处理子模块71,主机协同序列处理子模块71用于根据主机电路模块61发起的访问事务的地址产生或者获取访问事务的反馈事务;
[0067] 从机集成电路芯核80中加载有从机协同序列处理子模块81,从机协同序列处理子模块81用于在互联电路模型30中监听指向从机电路模块62的访问事务,并将所述访问事务发送至从机电路模块62中,以及在从机电路模块62中获取访问事务的反馈事务发送至互联电路模型30。
[0068] 协同序列处理子模块的作用是执行一系列的处理操作,例如发送访问事务、监听提供反馈事务等等。其中,主机集成电路芯核中集成的即为主机协同序列处理子模块,从机集成电路芯核中集成的即为从机协同序列处理子模块。
[0069] 在一示例中,主机协同序列处理子模块可以产生或获取反馈事务来响应主机接口电路的访问事务,例如可以产生直接反馈事务、存储器反馈事务,获取总线反馈事务等,发送给主机集成电路芯核。其中,直接反馈事务指的是由主机协同序列处理子模块直接生成的随机的反馈事务,具体可以在主机接口电路的访问事务的地址为保留地址空间时生成;存储器反馈事务指的是主机协同系列处理子模块调用存储器模型,执行存储器访问操作(包括但不限于写操作)而产生的反馈事务,具体可以在主机接口电路的访问事务的地址为存储器地址空间时生成;总线反馈事务指的是主机协同系列处理子模块将主机接口电路的访问事务送入互联电路模型,然后在互联电路模型中监听到的反馈事务,具体可以是在主机接口电路的访问事务的地址为从机电路模块的地址空间时监听互联电路模型中的反馈事务。
[0070] 在本实施例中,集成电路芯核可以根据互联电路模型的总线接口协议来更换,协同序列处理子模块也可以根据需要进行替换。具体的,可以根据验证需求调整反馈行为,以实现集成电路模块间协同工作的验证系统的重复利用,也即本实施例提供的集成电路模块间协同工作的验证系统是可复用、可移植、具有层次化结构的验证系统。
[0071] 进一步的,在一具体示例中,互联电路模型包括互联通道子模型和至少一个虚拟主机子模型,其中,互联通道子模型用于根据互联电路配置信息,实现主机电路模块和从机电路模块的互联功能;虚拟主机子模型用于模拟主机电路模块产生访问事务。
[0072] 虚拟主机子模型,作用在于模拟其他未完成开发的与从机电路模块对应的主机电路模块,产生与该从机电路模块对应的访问事务,以实现从机电路模块与包括主机电路模块的多个电路模块之间的协同工作能力的验证,并评估互联电路模型的性能。
[0073] 互联通道子模型,根据激励模型中的互联电路模型配置信息为从机电路模块中的从机接口电路分配地址空间,同时设置多条互联通道,其中,互联通道指的是一个主机接口电路到一个从机接口电路的访问通道。
[0074] 进一步的,互联通道子模型,还用于设置互联电路模型的延时信息和/或仲裁功能。其中,延时信息会导致某一条互联通道产生延时;仲裁功能是指,当多个访问事务的访问对象是同一个从机接口电路时,仲裁出各个访问事务执行的顺序,例如是根据访问优先级来确定各个访问事务的执行顺序。
[0075] 进一步的,计分板还可以收集各种事务的传输事件的时间信息用于评估互联模型的性能,其中,时间信息可以记录在操作期望值和操作实际值中。例如,根据传输事务进入互联电路模型的时间、出互联电路模型的时间以及反馈回的时间,来判断互联电路模型中的仲裁和/或延时设置是否合适。
[0076] 在上述技术方案中,互联电路模型中除了传输功能,还加入了延时以及仲裁控制功能来模拟互联电路行为,能够通过修改互联电路模型的参数(如总线延时、仲裁功能等)进行性能评估,解决了相关验证环境对互联电路设计提供反馈的周期过长的问题,使得互联电路设计能够在有限的开发时间内执行多次设计、反馈、评估、优化的过程,从而便于实现互联电路的功能和性能的优化设计。
[0077] 在一具体示例中,集成电路模块间协同工作的验证系统可以采用系统级硬件描述语言SystemVerilog和/或SystemC完成。具体的,集成电路模块间协同工作的验证系统可以基于UVM(Universal Verification Methodology, 通用验证方法学)来实现。
[0078] 本实施例提供的技术方案中,基于互联电路模型,存储器模型建立了验证环境,使得被测电路只包括核心电路模块,大大简化了问题检出和调试,解决了调试复杂、验证效率低的问题。而且,由于被测电路中不包含互联电路、存储器和上层电路连线,通过互联电路模型和存储器模型来实现,极大地缩短了被测电路的编译和仿真时长,减少了验证时长和成本。
[0079] 实施例二
[0080] 图3本发明实施例二提供的一种集成电路模块间协同工作的验证方法的流程图,本实施例可适用于在核心电路模块的互联电路未完成的条件下对核心功能模块间的协同工作能力进行验证的情况。该方法可以由本发明实施例提供的集成电路模块间协同工作的验证系统来执行,该系统可采用软件和/或硬件的方式实现,并一般可集成在计算机中。
[0081] 如图3示,本实施例的方法具体包括:
[0082] S210、通过激励模型产生被测电路模块的指令集合、互联电路模型配置信息以及存储器模型配置信息,并将指令集合分别发送至主机电路模块和功能模拟模型,将存储器模型配置信息分别发送至存储器模型和功能模拟模型,将互联电路配置信息分别发送至互联电路模型和功能模拟模型。
[0083] 其中,被测电路模块包括主机电路模块和从机电路模块。
[0084] 具体的,存储器模型配置信息可以是存储器地址空间、保留地址空间等,互联电路模型配置信息可以是从机地址空间、虚拟主机的数量等,指令集合中包含的指令可以触发主机电路模块访问存储器地址空间、从机地址空间和保留地址空间。
[0085] 其中,主机电路模块可以包括至少一个主机接口电路,从机电路模块可以包括至少一个从机接口电路。
[0086] 在一具体示例中,从机电路模块中也可以包括主机接口电路,对应的,上述验证方法还包括:通过所述从机电路模块的主机接口电路,将所述从机电路模块对访问事务的处理结果发送至所述存储器模型中进行存储。
[0087] 在从机电路模块中包括主机接口电路时,该主机接口电路可以将从机电路模块对访问事务的处理结果发送至存储器模型中进行存储,进而主机电路模块可以通过其主机接口电路去访问存储器模型而直接获取到相关处理结果。这样设置的好处在于,能够避免由于数据计算量较大而占用互联电路模型资源过多的问题。
[0088] S220、通过互联电路模型根据互联电路配置信息,实现主机电路模块和从机电路模块的互联功能。
[0089] 具体的,互联电路模型能够传递主机电路模块的访问事务以及从机电路模块的反馈事务。在一示例中,互联电路模型仅传递访问事务和反馈事务的句柄信息,适用于各种协议的访问事务和反馈事务。
[0090] S230、通过存储器模型根据存储器模型配置信息,实现数据存储功能。
[0091] S240、通过功能模拟模型模拟包括主机电路模块、从机电路模块、存储器、以及主机电路模块和从机电路模块之间互联电路的集成芯片的功能,在根据互联电路模型配置信息以及存储器模型配置信息完成配置之后,根据指令集合发起操作,并将操作期待值发送至计分板。
[0092] S250、通过主机电路模块根据指令集合发起操作,并将主机操作实际值发送至计分板。
[0093] S260、通过从机电路模块与主机电路模块协同工作,并将从机操作实际值发送至计分板。
[0094] 主机电路模块和从机电路模块,通过互联电路模型配合完成激励模型产生的指令集合。具体的,在指令集合执行过程中,主机电路模块将主机操作实际值发送至计分板,从机电路模块将从机操作实际值发送至计分板。
[0095] S270、通过计分板根据操作期待值、主机操作实际值和从机操作实际值,实现对主机电路模块和从机电路模块间协同工作的验证。
[0096] 本发明实施例提供的技术方案,能够在无互联电路、存储器、上层集成连接线的条件下,能够高质量地完成被测电路的互联功能以及多模块协同工作能力的验证,使被测电路的问题可以更早地被发现和解决。
[0097] 在一具体示例中,通过所述主机电路模块根据所述指令集合发起操作,并将主机操作实际值发送至所述计分板,可以具体为:
[0098] 通过主机集成电路芯核将来自所述主机电路模块的信号转换为访问事务发送至互联电路模型,并将访问事务作为主机操作实际值发送至计分板,以及将在互联电路模型中监听到的目标反馈事务转换为信号发送至主机电路模块;
[0099] 对应的,通过从机电路模块与主机电路模块协同工作,并将从机操作实际值发送至计分板,可以具体为:
[0100] 通过从机集成电路芯核将在互联电路模型中监听到的目标访问事务转换为信号发送至从机电路模块,以及将来自从机电路模块的信号转换为反馈事务发送至互联电路模型,并将反馈事务作为从机操作实际值发送至计分板。
[0101] 相应的,计分板检测来自功能模拟模型的主机操作期待值、从机操作期待值,以及来自主机集成电路芯核的主机操作实际值、来自从机集成电路芯核的从机操作实际值,以实现自动化判断主机电路模块与从机电路模块间的协同工作能力。具体的,计分板,检查来自功能模拟模型的访问事务与来自主机集成电路芯核的访问事务是否一致,检查来自功能模拟模型的反馈事务是否与来自从机集成电路芯核的反馈事务是否一致,以实现多电路模块协同功能的验证。
[0102] 同时,计分板还可以根据收集的各种事务(包括访问事务和反馈事务等)的时序信息来评估互联电路模型的性能。
[0103] 进一步的,上述方法还包括:通过所述主机集成电路芯核中加载的主机协同序列处理子模块,根据所述主机电路模块发起的访问事务的地址产生或者获取所述访问事务的反馈事务;
[0104] 通过所述从机集成电路芯核中加载的从机协同序列处理子模块,在所述互联电路模型中监听指向所述从机电路模块的访问事务,并将所述访问事务发送至所述从机电路模块中,以及在所述从机电路模块中获取所述访问事务的反馈事务发送至所述互联电路模型。
[0105] 协同序列处理子模块的作用是执行一系列的处理操作,例如发送访问事务、监听提供反馈事务等等。
[0106] 在本实施例中,集成电路芯核可以根据互联电路模型的总线接口协议来更换,协同序列处理子模块也可以根据需要进行替换。具体的,可以根据验证需求调整反馈行为,以实现集成电路模块间协同工作的验证系统的重复利用。
[0107] 在一具体示例中,所述互联电路模型包括互联通道子模型和至少一个虚拟主机子模型;对应的,上述验证方法还包括:通过所述虚拟主机子模型模拟主机电路模块产生访问事务;通过所述互联电路模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能,可以具体为:通过所述互联通道子模型根据所述互联电路配置信息,实现所述主机电路模块和所述从机电路模块的互联功能。
[0108] 进一步的,上述验证方法还包括:通过所述互联通道子模型设置所述互联电路模型的延时信息和/或仲裁功能。
[0109] 进一步的,上述验证方法还包括:通过检测模型检测所述主机电路模块和所述从机电路模块的信号接口上的激励信号是否符合预设传输协议,和/或,通过检测模型判断所述主机电路模块和所述从机电路模块的中断输出信号是否符合预设时序。
[0110] 检测模型,分别与主机电路模块和从机电路模块相连,可以检测主机电路模块和从机电路模块的信号接口上的激励信号是否符合预设传输协议,并可以在激励信号不符合预设传输协议时进行相关报错或告警操作;检测模块,还可以检测主机电路模块和从机电路模块上的中断输出信号是否符合预设时序,并可以在中断输出信号不符合预设时序时进行相关报错或告警操作。
[0111] 进一步的,上述验证方法还包括:通过功能覆盖率分析模型根据所述计分板收集的所述操作期待值、所述主机操作实际值和所述从机操作实际值,分析所述主机电路模块和所述从机电路模块间协同工作功能的覆盖率。
[0112] 功能覆盖率分析模型,与计分板相连,能够获取计分板收集的来自功能模拟模型的操作期待值(主机操作期待值和从机操作期待值)以及来自被测电路模块的主机操作实际值和从机操作实际值,并可以根据主机操作期待值和主机操作实际值的对比,以及根据从机操作期待值和从机操作实际值的对比,分析主机电路模块和从机电路模块间哪些协同工作功能被实现,进而可以结合主机电路模块和从机电路模块间预设的所有协同功能确定出主机电路模块和从机电路模块间协同工作功能的覆盖率。关于覆盖率的展示形式,本实施不做具体限定,例如可以是以数值以及覆盖功能详表的形式来展示。
[0113] 在一具体验证流程中,启动从机协同序列处理子模块,从机协同序列处理子模块监听互联电路模型中的访问事务,同时将激励模型中的验证激励输入到主机电路模块和功能模拟模型。
[0114] 功能模拟模型根据输入的验证激励产生访问事务和反馈事务的操作期望值送到计分板。
[0115] 主机电路模块根据输入的验证激励产生对主机集成电路芯核的访问。主机集成电路芯核对应产生访问事务,并且将其送到主机协同序列处理子模块和计分板。计分板是检查来自功能模拟模型的访问事务与来自主机集成电路芯核的访问事务是否一致。
[0116] 主机协同序列处理子模块根据访问事务的地址产生访问事务的反馈事务。其中,当访问事务的地址不在存储器地址空间也不在从机地址空间时,主机协同序列处理子模块随机生成反馈事务;当访问事务的地址在存储器地址空间时,主机协同序列处理子模块访问存储器模型,产生反馈事务;当访问事务的地址在从机地址空间时,则将访问事务送到互联电路模型,主机协同序列处理子模块监听并获取互联电路模型提供的反馈事务。
[0117] 互联电路模型中包含互联通道子模型和至少一个虚拟主机子模型,虚拟主机子模型产生访问事务。互联通道子模型可以为访问事务和反馈事务添加延时,并根据互联通道子模型的仲裁功能决定访问事务的顺序。
[0118] 从机协同序列处理子模块监听到互联电路模型中访问从机电路模块的访问事务,将访问事务发给从机集成电路芯核执行对从机电路模块的访问。从机协同序列处理子模块将反馈事务送入互联电路模型。从机集成电路芯核获得来自从机电路模块的反馈而产生反馈事务,并把反馈事务发送给计分板。计分板将检查来自功能模拟模型的反馈事务是否与来自从机集成电路芯核的反馈事务是否一致。
[0119] 主机协同序列处理子模块在互联电路模型中监测到反馈事务时将反馈事务送到主机集成电路芯核,主机集成电路芯核将反馈事务转化为信号发送到主机接口电路。
[0120] 本实施例未尽详细解释之处请参加前述实施例,在此不再赘述。
[0121] 在上述技术方案中,在无互联电路、存储器、上层集成连接线的条件下,验证人员可以高质量地完成被测电路的互联功能和多模块协同工作的验证,使得被测电路的问题可以更早地被发现和解决。其中,编译对象可以不包含互联电路、存储器等,进而使得验证系统编译时间大大缩短,减少了验证成本,同时调试复杂度也大幅降低。进一步的,本技术方案还可以通过修改互联电路模型的参数来实现互联电路功能,不仅能够快速地为互联电路设计提供反馈,也保证了互联电路优化设计的迭代次数。
[0122] 实施例三
[0123] 图4为本发明实施例三提供的一种集成电路模块间协同工作的验证系统的结构示意图。本实施例提供了一种具体的实施方式。
[0124] 参照图4,本实施例中的被测电路可以是人工智能芯片中的计算单元集群(CLUSTER),每个CLUSTER都有一个主机接口电路和一个从机接口电路。数据传输协议可以是AXI4.0(Advanced eXtensible Interface是ARM公司提出的AMBA-Advanced Microcontroller Bus Architecture协议中的一种面向高性能、高带宽、低延迟的片内总线)。具体的,被测电路是两个CLUSTER的实例,分别为C0和C1,其中C0被用作主机电路模块,C1被用作从机电路模块。
[0125] 首先,激励模型将指令集合写入中C0。其次,C0执行指令集合,并通过其主机接口电路将其计算结果写入存储器模型,将需要C1执行的指令集合通过互联电路模型发送给C1。再次,C1通过其从机接口电路获得并解析指令集合,从而得到计算任务,C1在完成其计算任务后,通过其主机接口电路将其计算结果写入存储器模型。最后,C0通过主机接口电路访问存储器模型得到C1的计算结果。
[0126] 本实施例中发明的集成电路模块间协同工作的验证系统主要包括以下部分:激励模型、功能模拟模型、存储器模型、互联电路模型(包括互联通道子模型和至少一个虚拟主机子模型)、主机VIP(集成电路知识产权芯核)、从机VIP、加载于主机VIP中的主机协同序列处理子模块、加载于从机VIP中的从机协同序列处理子模块、计分板、检测模型以及功能覆盖率分析模型。
[0127] 其中,激励模型,根据被测电路产生配置信息和指令集合,并对应发送给功能模拟模型、存储器模型、互联电路模型和被测电路。
[0128] 所述配置信息指的是根据被测电路、存储器模型和互联电路模型的信息将地址空间分为存储器地址空间,从机地址空间,保留地址空间,并配置虚拟主机子模型个数。
[0129] 所述指令集合中包含与C0计算数据、C0写数据结果到存储器、C0向C1的发送计算任务、C0访问存储器获取C1的计算结果等相关的指令。
[0130] 功能模拟模型,通过一条通道与计分板相连,按照激励模型给出的指令集合和配置信息模拟完成相关功能,功能模拟模型具体用于实现与包含C0、C1、存储器以及互联电路的集成芯片相同的功能。功能模拟模型根据激励模型的验证激励生成访问事务和反馈事务的操作期待值,把这两种期待值送入计分板。
[0131] 互联电路模型,包括互联通道子模型和若干虚拟主机子模型。如图4所示,本实施例中互联通道子模型的主机接口配置为一个主机接口电路(C0主机接口电路)和N个虚拟主机子模型,互联通道子模型的从机接口配置为一个从机接口电路(C1的从机接口电路),互联通道子模型的中的互联通道数目为N+1。其中,从机地址空间分配给C1的从机接口电路。
[0132] 进一步的,互联电路模型中还可以设置互联通道的延时信息、仲裁功能。其中,所述延时信息会导致某一条互联通道产生延时;所述仲裁功能决定当多个主机电路模块(包括C0和虚拟主机子模型)访问相同的从机电路模块时所执行的访问事务的顺序。
[0133] 所述虚拟主机子模型,模拟主机接口电路发出访问事务给互联通道子模型。虚拟主机子模型所发出的访问事务的地址被约束为C1的从机地址空间中的某段地址空间。虚拟主机子模型对这段地址空间的访问不影响多模块协同工作。
[0134] 存储器模型,根据激励模型的验证激励设定存储器地址空间为可获得地址区间和保留地址区间。存储器模型还可以响应多种数据宽度,在本实施例中C0和C1可以分别使用512位或1024位数据宽度来访问存储器模型。
[0135] 计分板,检查主机VIP0/主机VIP1的访问事务的实际值和来自功能模拟模型的期望值是否一致,检查从机VIP1的反馈事务的实际值和来自功能模拟模型的期望值是否一致来实现功能验证。
[0136] 另外,计分板收集各种事务中的传输事件的时间信息还可以用于评估互联电路模型的性能。
[0137] 检测模型,与主机接口电路和从机接口电路上的接口信号相连,检查接口上的激励是否符合传输协议;检测模型,还与被测电路的关键信号相连,判断关键信号是否符合设定的时序。
[0138] 功能覆盖率分析模型,与计分板相连,根据计分板收集的期待值和实际值分析主机电路模块与从机电路模块协同工作的功能覆盖率。
[0139] 具体的,主机VIP(包括主机VIP0、主机VIP1)通过一条通道与计分板相连,将来自主机接口电路的信号转换为访问事务,作为实际值发送到计分板。将在互联电路监听到的反馈事务转换成信号发送到主机接口电路。主机VIP加载的主机协同序列处理子模块,为来自主机接口电路的访问事务提供反馈事务;
[0140] 从机VIP(包括从机VIP1)通过一条通道与计分板相连,将在互联电路模型中监听到的访问事务转换成从机接口电路的信号,将来自从机接口电路的信号转换成反馈事务,作为实际值发送到计分板。从机VIP加载的协同序列处理子模块,用于访问C1从机接口电路和获得来自C1从机接口电路的反馈事务。
[0141] 主机协同序列处理子模块(包括主机协同序列处理子模块0,主机协同序列处理子模块1),加载于主机VIP中,产生或监听反馈事务来响应主机接口电路的访问事务。其中,反馈事务包括以下几种:
[0142] (1)访问事务的地址为保留地址空间时,主机协同序列处理子模块生成直接反馈。
[0143] (2)访问事务的地址为存储器地址空间时,主机协同序列处理子模块生成存储器反馈。当C0和C1存在不同的存储器地址空间映射时,主机协同序列处理子模块完成地址映射功能。比如C0的地址0x0对应的存储器地址空间映射到C1为地址0x4,主机协同序列处理子模块1在收到访问事务的存储器地址空间为地址0x4时,将访问事务的存储器地址空间修正为地址0x0。
[0144] (3)访问事务的地址为从机地址空间时,主机协同序列处理子模块生成访问事务送入互联电路模型,然后监听来自互联电路模型的反馈事务,也即总线反馈。
[0145] 从机协同序列处理子模块,加载于从机VIP中。从机协同序列处理子模块监听互联电路模型中访问从机接口电路的访问事务,将访问事务转化为从机VIP对从机接口电路的访问事务。从机VIP访问从机接口电路获得反馈事务,从机协同序列处理子模块获得该反馈事务,将其送入互联电路模型。
[0146] 对应的,本实施例提供的集成电路模块间协同工作的验证方法的流程包括:
[0147] 激励模型根据被测电路、存储器模型、互联电路模型的信息生成配置信息和指令集合。激励模型将配置信息发送给功能模拟模型,将存储器地址空间、从机地址空间、保留地址空间写入存储器模型;将从机地址空间和虚拟主机子模型的数量写入互联电路模型;将指令集合发送给C0和功能模拟模型。
[0148] 存储器模型配置存储器地址空间和保留地址空间;互联电路模型配置从机地址空间和虚拟主机子模型的数量;功能模拟模型配置存储器地址空间和从机地址空间。功能模拟模型解析指令集合生成访问事务和反馈事务的期待值写入计分板。
[0149] C0解析指令集合,执行以下指令:计算数据,写数据结果到存储器模型,向C1发送计算任务。主机VIP0收到来自C0的访问,生成访问事务,将访问事务发送给计分板。
[0150] 主机协同序列处理子模块0执行以下操作:C0的主机接口电路访问保留地址空间时,主机协同序列处理子模块0按照约束随机生成反馈事务;C0的主机接口电路写数据结果到存储器模型时,主机协同序列处理子模块0会将访问事务写入存储器模型;C0的主机接口电路向从机电路模块发送计算任务时,主机协同序列处理子模块0把访问事务写入互联电路模型,然后等监听来自互联电路模型中的反馈事务。
[0151] 互联电路模型收到主机VIP0的访问事务时,每个虚拟主机子模型会随机生成一个对于C1从机接口电路的访问事务。这些访问事务会与来自主机VIP0的访问事务一起触发互联通道子模型的仲裁和延时。
[0152] 从机协同序列处理子模块1获得来自互联电路模型中的访问事务(其中包含C1的计算任务),通过从机VIP1把访问事务发给C1,并获得反馈事务。从机VIP1把反馈事务作为实际值送入计分板。同时,从机协同序列处理子模块1获得反馈事务,并送入互联电路模型。主机协同序列处理子模块0从互联电路模型获得反馈事务,然后通过主机VIP0反馈到C0的主机接口电路。
[0153] C1执行计算任务,C1的主机接口电路通过主机VIP1将计算结果写入存储器模型,主机VIP1将访问事务送入计分板。
[0154] C0的主机接口电路访问存储器模型获取C1的计算结果,同时将访问事务作为实际值送入计分板。
[0155] 计分板通过比较事务(包括访问事务和反馈事务)的期待值和实际值来进行验证,计分板收集事务的实际值还可以用来统计当前互联电路模型设计的性能信息,为互联电路设计提供反馈。
[0156] 检测模型可以检测主机电路模块和从机电路模块的信号接口上的激励信号是否符合预设传输协议,并在激励信号不符合预设传输协议时进行相关报错或告警操作;还可以检测主机电路模块和从机电路模块上的中断输出信号是否符合预设时序,并在中断输出信号不符合预设时序时进行相关报错或告警操作。
[0157] 功能覆盖率分析模型可以根据计分板收集的期待值和实际值分析主机电路模块与从机电路模块协同工作的功能覆盖率。
[0158] 在上述技术方案中,对被测电路的验证完备且充分。在没有存储器、互联电路和上层电路连线的前提下,被测电路模块间协同工作功能得以验证,使得被测电路可以高质量发布,同时也可以更早更快地为互联电路设计提供反馈。
[0159] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。