本申请涉及集成电路验证领域,具体涉及一种集成电路验证系统和方法。
背景技术:
1、芯片验证是保障芯片流片成功的重要环节,设计良好、易于维护和扩展的验证平台为芯片验证提供了基础。
2、为了比较全面的验证芯片的集成电路(inter-integrated circuit,i2c)总线接口,一般需要在硅级执行验证过程,现场可编程门阵列(field-programmable gate array,fpga)具有可编程的特点,它能够对逻辑设计进行反复的修改直至达到满意的结果,所以在流片之前可以利用fpga针对i2c功能和性能进行比较充分的硅级验证。
3、现有针对多i2c设备的验证场景中所采用的对芯片的i2c的验证方案,虽然可以完成各i2c设备的验证过程,但是验证效率比较低,且成本高。
技术实现思路
1、本申请实施例的目的是提供一种集成电路验证系统和方法,以实现高效低成本的对集成电路进行验证。
2、本申请的技术方案如下:
3、第一方面,提供了一种集成电路验证系统,该系统包括:
4、现场可编程门阵列fpga,所述fpga内设置有调度器和多个集成电路i2c模块,每个所述i2c模块中包括一个i2c单元,所述调度器与各所述i2c模块之间通过通信方式连接,每个所述i2c模块与所述fpga外的i2c总线连接;
5、用例库,包含多个预先编写好的对各i2c单元的至少一项功能进行验证的验证用例;
6、验证控制器,用于向所述用例库发送用例请求,接收所述用例库基于所述用例请求发送的目标验证用例,并向所述调度器发送验证命令集和所述目标验证用例,其中,所述目标验证用例为所述用例库中各所述验证用例中的至少一个验证用例,所述验证命令集为对所述目标验证用例进行解析后得到的用于对与所述目标验证用例对应的i2c单元进行验证的验证命令;
7、所述调度器,用于接收所述验证命令集和目标验证用例,根据所述验证命令集,将所述目标验证用例中与各所述i2c单元对应的验证用例分发给对应的i2c单元,以使各所述i2c单元基于与其对应的验证用例进行验证,得到各所述i2c单元的验证结果。
8、第二方面,提供了一种集成电路验证方法,该方法应用于上述任一所述的集成电路验证系统,该方法包括:
9、验证控制器向用例库发送用例请求,其中,所述用例库中包含多个预先编写好的对各i2c单元的至少一项功能进行验证的验证用例;
10、所述用例库基于所述用例请求,向所述验证控制器发送目标验证用例,其中,所述目标验证用例为所述用例库中各所述验证用例中的至少一个验证用例;
11、所述验证控制器接收所述用例库发送的所述目标验证用例,并向调度器发送验证命令集和所述目标验证用例,其中,所述验证命令集为对所述目标验证用例进行解析后得到的用于对与所述目标验证用例对应的i2c单元进行验证的验证命令;
12、所述调度器接收所述验证命令集和目标验证用例,根据所述验证命令集,将所述目标验证用例中与各所述i2c单元对应的验证用例分发给对应的i2c单元;
13、各所述i2c模单元基于与其对应的验证用例进行验证,得到各所述i2c单元的验证结果。
14、本申请的实施例提供的技术方案至少带来以下有益效果:
15、本申请实施例提供的集成电路验证系统,包括,设有调度器和多个集成电路i2c模块的现场可编程门阵列fpga,每个i2c模块中包括一个i2c单元,包含多个预先编写好的对各i2c单元的至少一项功能进行验证的验证用例的用例库,用于向用例库发送用例请求,接收用例库基于用例请求发送的目标验证用例,并向调度器发送验证命令集和目标验证用例的验证控制器,以及用于接收验证命令集和目标验证用例,根据验证命令集,将目标验证用例中与各i2c单元对应的验证用例分发给对应的i2c单元的验证控制器,以使各i2c单元基于与其对应的验证用例进行验证,得到各i2c单元的验证结果,如此在一个fpga内设置多个i2c单元,无需针对每个i2c单元开发一个fpga,节省了硬件成本,且本申请中将需要对各i2c单元进行验证的验证用例预先编写好存储在用例库中,然后通过设置调度器来统一调度对各i2c单元进行验证的验证用例,利用验证用例对各i2c单元进行验证,增加了验证系统的便利性和灵活性,提高了验证效率。
16、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种集成电路验证系统,其特征在于,所述系统包括:
2.根据权利要求1所述的系统,其特征在于,每个所述i2c模块包含有一个外部中断接口,所述调度器通过物理线缆与各所述i2c模块的外部中断接口连接,所述验证命令集中还包含同步验证指令,所述同步验证指令以同步帧的形式进行传输;
3.根据权利要求1所述的系统,其特征在于,每个i2c单元配置有两个io口,每个所述i2c单元通过其配置的两个io口的io引脚分别挂接在i2c总线的时钟信号线和数据线上。
4.根据权利要求3所述的系统,其特征在于,每个io口包括控制端、输入端和输出端;
5.根据权利要求1所述的系统,其特征在于,每个所述i2c模块中还包括一个处理器和一个驱动程序,
6.根据权利要求5所述的系统,其特征在于,所述验证命令包括:对i2c模块的存储器或寄存器的操作命令、按位操作命令和所述处理器的功能设置命令。
7.根据权利要求1所述的系统,其特征在于,所述调度器,用于接收各所述i2c模块发送的验证结果,并将所述验证结果发送至所述验证控制器;
8.根据权利要求1所述的系统,其特征在于,所述用例库中的各所述验证用例以队列的形式进行存放;
9.一种集成电路验证方法,其特征在于,所述方法应用于权利要求1-7任一所述的集成电路验证系统,所述方法包括:
10.根据权利要求9所述的方法,其特征在于,所述各所述i2c单元基于与其对应的验证用例进行验证,得到各所述i2c单元的验证结果,包括: