CN112417800A - 集成电路处理方法、集成电路验证方法、装置及电子设备 - Google Patents

集成电路处理方法、集成电路验证方法、装置及电子设备 Download PDF

Info

Publication number
CN112417800A
CN112417800A CN202011419877.6A CN202011419877A CN112417800A CN 112417800 A CN112417800 A CN 112417800A CN 202011419877 A CN202011419877 A CN 202011419877A CN 112417800 A CN112417800 A CN 112417800A
Authority
CN
China
Prior art keywords
integrated circuit
irrelevant
sub
configuration table
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011419877.6A
Other languages
English (en)
Other versions
CN112417800B (zh
Inventor
王芳
沈旭
魏炽频
杨晶晶
谭帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011419877.6A priority Critical patent/CN112417800B/zh
Publication of CN112417800A publication Critical patent/CN112417800A/zh
Application granted granted Critical
Publication of CN112417800B publication Critical patent/CN112417800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请涉及一种集成电路处理方法、集成电路验证方法、装置及电子设备,属于计算机技术领域。集成电路处理方法包括:获取待处理的集成电路,所述集成电路包含多个子模块;将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。本申请实施例中,通过对集成电路进行与无库无关的模型化处理,解决了由于不同的集成电路采用不同的工艺,使得前端仿真时可能会存在库冲突,导致前端验证无法进行的问题。

Description

集成电路处理方法、集成电路验证方法、装置及电子设备
技术领域
本申请属于计算机技术领域,具体涉及一种集成电路处理方法、集成电路验证方法、装置及电子设备。
背景技术
随着芯片行业的发展,芯片设计的趋向也从SOC(System-on-a-chip)芯片转向chiplet(芯粒,也称小芯片)。所谓小芯片,是指具有特定功能,且体积较小的die(硅片)。chiplet的概念旨在拆分原有大型SOC,将SOC模块按服务功能、工艺需求等不同特性,拆分在不同的die上进行设计优化和周期流片。更小的die在设计周期能够更快收敛,在生产周期也能够提供更好的良品率和封装。
chiplet的验证大多是模块级功能验证,即验证芯片系统里每一个具体的IP(intellectual property)模块,例如PCIe(Peripheral Component Interconnectexpress),DDR(Double Data Rate)的实现是否符合协议标准。其中,所谓IP模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。基于chiplet概念设计的die,必然无法绕开die与die,也就是硅片和硅片之间的验证这个问题。
如果不同的die采用不同的工艺实现,在前仿时需要装载不同工艺的库才能实现完整的仿真行为,一旦出现库与库的冲突,即不同的库中的模块名相同但是实现不同,这种chiplet系统的前仿验证就无法通过直接装载设计电路来实现,会直接导致前端验证无法进行。
发明内容
鉴于此,本申请的目的在于提供一种集成电路处理方法、集成电路验证方法、装置及电子设备,以改善由于不同的芯片(die)采用不同的工艺,使得前端仿真时可能会存在库冲突,导致前端验证无法进行的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种集成电路处理方法,包括:获取待处理的集成电路,所述集成电路包含多个子模块;将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。本申请实施例中,通过将集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式与其他子模块对应的模型进行连接,在进行与库无关的转换时,不仅保证了模型化后的子模型能够实现原有的功能外,还保证各个子模块之间的时序交互,此外,还从整体出发对集成电路模型化后得到的模型的芯片访问参数进行建模,以保证集成电路与集成电路之间的访问时序;通过对集成电路进行与库无关的模型化处理,解决了由于不同的集成电路采用不同的工艺,使得前端仿真时可能会存在库冲突,导致前端验证无法进行的问题。
结合第一方面实施例的一种可能的实施方式,获取待处理的集成电路,包括:获取待处理的初始集成电路;基于去无关指示去除所述初始集成电路中与所述去无关指示无关的无关子模块,得到简化后的初始集成电路;基于参数配置指示对所述简化后的初始集成电路中与所述无关子模块相连接的端口进行赋值,得到所述待处理的集成电路。本申请实施例中,在获取到初始集成电路后,先基于去无关指示去除初始集成电路中与去无关指示无关的无关子模块,然后再基于参数配置指示对简化后的初始集成电路中与无关子模块相连接的端口进行正确赋值,以保证去无关后的集成电路能够正确运行,通过去除初始集成电路中与去无关指示无关的无关子模块,可以极大地提高模型化的处理速度。
结合第一方面实施例的一种可能的实施方式,基于去无关指示去除所述初始集成电路中与所述去无关指示无关的无关子模块,包括:获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的无关子模块。本申请实施例中,根据预先设置的第一配置表来进行去无关指示,可以实现自动化去无关操作,十分高效便捷。
结合第一方面实施例的一种可能的实施方式,所述第一配置表中配置有需要保留的相关子模块;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的无关子模块,包括:遍历所述初始集成电路中在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的无关子模块。本申请实施例中,由于通常需要去除的无关子模块的数量要比需要保留的相关子模块的数量要多,因此通过在第一配置表中配置有需要保留的相关子模块,使得在进行自动化去无关时,可以更快速的去除初始集成电路中与所述第一配置表无关的无关子模块。
结合第一方面实施例的一种可能的实施方式,基于参数配置指示对所述简化后的初始集成电路中与无关子模块相连接的端口进行赋值,包括:获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的初始集成电路中与无关子模块相连接的端口进行赋值。本申请实施例中,根据预先设置的第二配置表来进行参数配置指示,可以实现自动化对简化后的初始集成电路中与无关子模块相连接的端口进行赋值,十分高效便捷。
第二方面,本申请实施例还提供了一种集成电路验证方法,包括:获取待验证的集成电路,所述集成电路包含多个小芯片;对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型;对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化;按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块;对实例化后的集成电路进行前仿真验证。本申请实施例中,在对集成电路进行验证时,通过对集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型,使得整个集成电路不存在库冲突,进而解决了由于不同的集成电路采用不同的工艺,使得前端仿真时可能会存在库冲突,导致前端验证无法进行的问题。此外,对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,以及按照多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块,保证了模型化后的小芯片系统与原系统具有相同的功能和时序交互。
结合第二方面实施例的一种可能的实施方式,每一个小芯片包含多个子模块,对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,包括:针对所述集成电路中需要进行模型化的每一个小芯片,将该小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对该小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的验证模型。本申请实施例中,在对集成电路中需要进行模型化的部分或者全部小芯片进行模型化时,针对该小芯片,将该小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接,保证了模型化后的子模型维持原有的功能和时序,此外,还从整体出发对集成电路模型化后得到的模型的芯片访问参数进行建模,以保证集成电路与集成电路之间的访问时序在模型中得以完整体现和控制。
结合第二方面实施例的一种可能的实施方式,对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,包括:对所述集成电路中需要进行模型化的每一个小芯片,利用事先准备好的与该小芯片功能相同,且与库无关的验证模型进行替换。本申请实施例中,利用事先准备好的与该小芯片功能相同,且与库无关的验证模型进行替换,可以极大地提高模型化的速度和效率。
结合第二方面实施例的一种可能的实施方式,通过以下方式获得与库无关的验证模型:获取待处理的小芯片,所述小芯片包含多个子模块;将所述小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对所述小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
结合第二方面实施例的一种可能的实施方式,获取待验证的集成电路,所述方法还包括:获取待验证的初始集成电路;基于去无关指示去除所述初始集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的初始集成电路;基于参数配置指示对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到所述待验证的集成电路。本申请实施例中,在获取待验证的初始集成电路后,基于去无关指示去除初始集成电路中与去无关指示无关的小芯片和/或无关子模块,然后基于参数配置指示对简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,以保证去无关后的集成电路能够正确运行,通过去除初始集成电路中与去无关指示无关的无关子模块和/或无关子模块,可以极大地提高模型化的处理速度和被验证电路的规模,提高验证效率。
结合第二方面实施例的一种可能的实施方式,基于去无关指示去除所述初始集成电路中与所述去无关指示无关的小芯片和/或无关子模块,包括:获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。本申请实施例中,根据预先设置的第一配置表来进行去无关指示,可以实现自动化去除初始集成电路中与去无关指示无关的小芯片和/或无关子模块,十分高效便捷。
结合第二方面实施例的一种可能的实施方式,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块,包括:针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。本申请实施例中,由于通常需要去除的无关子模块的数量要比需要保留的相关子模块的数量要多,因此通过在第一配置表中配置有需要保留的相关子模块,使得在进行自动化去无关时,可以更快速的去除初始集成电路中与所述第一配置表无关的无关子模块。
结合第二方面实施例的一种可能的实施方式,基于参数配置指示对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,包括:获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。本申请实施例中,根据预先设置的第二配置表来进行参数配置指示,可以实现自动化对、简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,十分高效便捷。
第三方面,本申请实施例还提供了一种集成电路验证方法,包括:获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块;基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路;对所述目标集成电路进行前仿真验证,得到验证结果。
结合第三方面实施例的一种可能的实施方式,基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,包括:获取与所述集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
结合第三方面实施例的一种可能的实施方式,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块,包括:针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
结合第三方面实施例的一种可能的实施方式,基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,包括:获取与所述集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
第四方面,本申请实施例还提供了一种集成电路处理装置,包括:获取模块以及处理模块;获取模块,用于获取待处理的集成电路,所述集成电路包含多个子模块;处理模块,用于将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;并对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
第五方面,本申请实施例还提供了一种集成电路验证装置,包括:获取模块、处理模块以及验证模块;获取模块,用于获取待验证的集成电路,所述集成电路包含多个小芯片;处理模块,用于对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型,以及对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块;验证模块,用于对实例化后的集成电路进行前仿真验证。
第六方面,本申请实施例还提供了一种集成电路验证装置,包括:获取模块、处理模块以及验证模块;获取模块,用于获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块;处理模块,用于基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;以及还用于基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路;验证模块,用于对所述目标集成电路进行前仿真验证,得到验证结果。
第七方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第三方面实施例和/或结合第三方面实施例的任一种可能的实施方式提供的方法。
第八方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第三方面实施例和/或结合第三方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种集成电路验证方法的流程示意图。
图2示出了本申请实施例提供的一种集成电路中各个芯片互连的流程示意图。
图3示出了本申请实施例提供的一种搭建不同chiplet系统的示意图。
图4示出了本申请实施例提供的一种集成电路处理方法的流程示意图。
图5示出了本申请实施例提供的又一种集成电路验证方法的流程示意图。
图6示出了本申请实施例提供的一种集成电路验证装置的模块框图。
图7示出了本申请实施例提供的一种集成电路处理装置的模块框图。
图8示出了本申请实施例提供的又一种集成电路验证装置的模块框图。
图9示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于如果chiplet系统中不同硅片(die)采用了不同的工艺,前端仿真时工艺库之间可能会存在库冲突,导致前端验证无法进行的问题。本申请实施例提供了一种集成电路验证方法,通过对集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型,使用与库无关的验证模型来进行验证,有效解决了不同工艺带来的库冲突问题。下面将结合图1,对本申请实施例提供的集成电路验证方法进行说明。
步骤S101:获取待验证的集成电路,所述集成电路包含多个小芯片。
获取待进行仿真验证的系统级别的集成电路,该集成电路包含多个小芯片(chiplet),例如,该集成电路包括3个小芯片,分别为core_die_1、core_die_2和io_die。每个芯片包含多个IP级的子模块,例如,总线控制器(bus_ctrl)、硅片间互连模块(Die-to-Die Connection,D2DC)、端口物理层(Port Physical Layer,PHY)、高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)。其中,需要说明的是,该集成电路为代码级的集成电路,也即为用机器描述语言编写的集成电路,并不是硬件级的集成电路。
其中,die(芯片)是一小块半导体材料,在其上制造了给定的功能电路。所谓IP级的子模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。在前端设计周期,无论是die还是IP,都由机器描述语言来编写,经由后端设计周期和芯片制造周期来转换成半导体材料上的电路。
一种可选实施方式下,获取待验证的集成电路的过程可以是:获取待验证的初始集成电路,基于去无关指示去除初始集成电路中与去无关指示无关的小芯片和/或无关子模块,得到简化后的初始集成电路,然后基于参数配置指示对简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到待验证的集成电路。由于chiplet系统的验证对象主要聚焦在die与die之间的互连路径模块上,因此chiplet系统的验证无需过多关注每个die内部与这种互联没有直接联系的模块,因此一种可选实施方式下,可以去除系统中跟验证对象无关的模块(简称去无关),以迅速减小chiplet系统规模,加快验证速度。
其中,可选地,基于去无关指示去除初始集成电路中与去无关指示无关的小芯片和/或无关子模块的过程可以是:获取与初始集成电路对应的预先设置的用于去无关指示的第一配置表,基于第一配置表去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块。在该种实施方式下,去无关指示为预先设置的第一配置表,在进行去无关时,是基于第一配置表去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块。此外,该去无关指示,还可以是直接通过命令行参数的方式传递的去无关操作的命令。
其中,第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块,基于第一配置表去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块的过程可以是:针对第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块。
其中,需要说明的是,在基于第一配置表去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块时,除了上述的在配置表中配置需要去无关的小芯片和该小芯片下需要保留的相关子模块外,还可以是在配置表中配置需要去无关的小芯片和该小芯片下需要去除的相关子模块。相应地,基于第一配置表去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块的过程可以是:针对第一配置表中的每一个需要去无关的小芯片,遍历该小芯片下不在第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与第一配置表中的其他子模块有连接关系;若有则断开该端口的连接,反之则标注该端口为相关,直至该子模块下的每一个端口都被标注为相关或断开,从而去除初始集成电路中与第一配置表无关的小芯片和/或无关子模块。其中,在配置表中配置需要去无关的小芯片和该小芯片下需要保留的相关子模块,还是在配置表中配置需要去无关的小芯片和该小芯片下需要去除的相关子模块,可以根据需要保留的相关子模块以及需要去除的相关子模块的多少来决定。例如,需要保留的相关子模块比需要去除的相关子模块少,则可以在配置表中配置需要去无关的小芯片和该小芯片下需要保留的相关子模块,反之,则在配置表中配置需要去无关的小芯片和该小芯片下需要去除的相关子模块。
其中,基于参数配置指示对简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值的过程可以是:获取与初始集成电路对应的预先设置的用于参数配置指示的第二配置表,基于第二配置表对简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。在该种实施方式下,参数配置指示为预先设置的配置表,在进行赋值时,是基于第二配置表中的配置值对简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。此外,该参数配置指示,还可以是直接通过命令行参数的方式传递的参数配置命令。赋值完的端口处于缺省状态,相关子模块内部与之相连的电路逻辑也处于安静状态,保证了去除无关子模块这个操作不会对相关子模块造成功能上的缺陷或者干扰。其中,由于通常情况,电路设计都有相关考虑,因此第二配置表中的配置的端口缺省值可以由电路设计人员给出。
为了便于理解,以上述的包含core_die_1、core_die_2和io_die的集成电路为例。其中,core_die_1和core_die_2为包含了处理器内核的硅片,io_die则主要包含了各种高速数据传输模块,如图中列举的PCIe。如图2所示,core_die_1和core_die_2之间通过D2DC(Die-to-Die Connection)模块和PHY模块实现端对端连接,使得core_die_1上的模块,例如内核core1,能够经由core_die_1的总线控制器(bus_ctrl)->core_die_1的硅片间互联(D2DC0)->core_die1_1的PHY0->core_die_2的PHY0->core_die_2的硅片间互联(D2DC0)->core_die_2的总线控制器(bus_ctrl)->core_die_2的ddr_ctrl这样的路径直接访问core_die_2的Memory(内存)存储空间。core_die_2也可以通过类似的路径去访问core_die_1的Memroy(内存)存储空间。类似的,io_die也可以通过一系列互连模块实现对两个core die的Memory(内存)的存储访问。图2中的带箭头的灰色线表示了这种core die之间的互连。图2中的带箭头的黑色线条示意了io_die对core_die_1、core_die_2的存储访问路线。
可以理解,上述带箭头经过的模块就是chiplet系统验证的主体对象。相应地,core_die_1以及core_die_2中的core1、core2,以及io_die中的M1,M2,M3,M4与chiplet系统验证的目的相关性不大,因此可以去除core_die_1以及core_die_2中的core1、core2,以及io_die中的M1,M2,M3,M4。其中,需要说明的是,虽然图2中示出的core_die_1以及core_die_2中只有两个与验证对象无关的core,实际上在chiplet系统验证的场景中,由于连接起系统的是die之间的相互访问,因此验证的对象主要也聚焦在访问路径上的模块,一个die中的与此验证对象无关的无关模块是很多的,因此去除与验证对象无关的模块能极大地减少die在仿真中的规模,解决chiplet系统由于规模庞大验证效率极其低下甚至难以正常进行的问题。
在进行去无关时,可以根据用户配置的配置表自动地完成上述去无关操作,用户只需要在一开始准备好配置文件,如配置第一配置表和第二配置表,后续无需人力介入操作。第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块,如表1所示,需要去无关的顶层模块(Top module)分别是core_die_1,core_die_2和io_die,这些小芯片下的子模块只需要保留列“kept sub-instances”里所列举的,其他都需要去除。这种配置表,甚至可以根据每个测试用例来定制,例如一个测试用例对应一个配置表,去无关的自动操作可以保证无需人力介入来完成这种定制化需求。
表1
Figure BDA0002815415520000151
第二配置表中需要给出这些相关模块的端口缺省值列表,即如果这些端口没有连接关系,需要赋予什么值才能让这个子模块依然正常工作。表2示出了io_die这个顶层模块下的bus_ctrl这个子模块的端口缺省值列表,该bus_ctrl子模块有6个master端口,分别连接了M1,M2,M3,M4,PCIe和d2dc这6个子模块,在去无关时,去除了M1,M2,M3,M4,因此需要对于无关子模块相连接的端口进行赋值。根据表2会将这些端口配置成0,表征对应的端口没有连接具体的子模块。bus_ctrl子模块内部根据0这个端口值就知道,当前这个端口没有连接,电路会对这种情况作出正确的功能设计。其中,端口缺省值一般可以由设计人员给出。
表2
Figure BDA0002815415520000152
Figure BDA0002815415520000161
通过上述的第一配置表以及第二配置表,在进行去无关时,可以直接从默认位置获取这些文件(第一配置表以及第二配置表),自动完成去无关操作。例如针对第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在第一配置表里的每一个子模块,针对该子模块的每一个端口,检查该端口是否与第一配置表中的其他子模块有连接关系,若有则标注该端口为相关,反之则断开该端口的连接,接着针对被断开的端口,查询第二配置表,找到匹配项的缺省值来代替。持续这样的操作一直到第一配置表里面的每一个子模块下的每一个端口都被标注为相关或断开。通过自动化判断并保留相关子模块之间的连接,断开无关子模块之间连接的方式,便可以很容易地将硅片中的无关模块从顶层拓扑结构中去除。
步骤S102:对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型。
如果不同的die采用不同的工艺实现,则在进行前仿验证时可能会存在库冲突,导致无法验证。因此,本申请中对集成电路中存在库冲突的部分或者全部小芯片分别进行模型化,以转换为功能相同,且与库无关的验证模型,以解决库冲突的问题。其中,需要说明的是,该集成电路可以是去无关后的集成电路。
其中,当集成电路存在库冲突时,一种实施方式下,可以是将该集成电路中的全部小芯片都进行模型化,以转换为功能相同,且与库无关的验证模型,又一种实施方式下,可以是该集成电路中的部分小芯片进行模型化,剩余部分不进行模型化处理。例如,以上述的包含core_die_1、core_die_2和io_die的集成电路为例,假设core_die_1、core_die_2采用的工艺为A工艺,io_die采用的工艺为B工艺,那么可以仅对core_die_1、core_die_2进行模型化,就可以解决库冲突的问题;同样可以只对io_die进行模型化,也能解决解决库冲突的问题。其中,全部进行模型化是最繁琐的一种解决库冲突的方法。
一种可选实施方式下,对集成电路中存在库冲突的部分或者全部小芯片进行模型化的过程可以是:针对集成电路中需要进行模型化的每一个小芯片,将该小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接,对该小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的验证模型。一种实现方式下,将小芯片中与库相关的每一个子模块替换成与库无关的子模型,最为直接的方式就是换成与库无关的语言编写的模型,例如换成用SystemVerilog语言、SystemC语言、C语言、C++语言编写的模型,也即将硬件描述语言编写的子模块替换为用与库无关的语言编写的子模块,这样就保证了两者的功能相同,例如,假设D2DC是用硬件描述语言编写的子模块,对其进行模型化最简单的方式就是利用与库无关的语言编写。正常情况下,这些相关子模块(如bus_ctrl、D2DC、PHY、PCIe等)都会有IP级的验证平台,在这些验证平台里,或多或少都有这些模块的SystemVerilog模型。例如通用验证方法(UniversalVerification Methodology,UVM)配套组件,甚至有些由第三方提供的协议和功能都很完善的IP验证平台(Verification Intellectual Property,VIP),都会有这些模块的SystemVerilog模型。
其中,为了便于理解,以io_die为例,假设该io_die包含bus_ctrl、D2DC、PHY、PCIe4个IP级的子模块,假设这4个IP级的子模块均与库相关,则在将io_die中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型时,利用与bus_ctrl功能相同,且与库无关的子模型对其进行替换,利用与PCIe功能相同,且与库无关的子模型对其进行替换,利用与D2DC功能相同,且与库无关的子模型对其进行替换,利用与PHY功能相同,且与库无关的子模型对其进行替换。在模型化时,除了关注子模块自身的功能外,还要保证各个模型之间的时序交互,因此需要按照原有的连接方式对替换后的模型进行连接,而不能改变其连接方式。除此之外,还需要关注die与die之间的访问参数,例如,系统寻址空间(memory space),访问类型(access type),访问时长(access latency)等。因此,为了保证小芯片的原有功能,还需要对小芯片模型化后得到的模型的芯片访问参数进行配置,例如,系统寻址空间(memory space),访问类型(access type),访问时长(access latency)等访问参数,以便于在进行验证时,可以对die与die之间访问的参数进行实例化配置。
其中,访问参数的来源可以是产品设计开发阶段的目标设定访问参数,或者是仿真阶段收集的仿真访问参数。例如,在产品早期设计尚未开发完毕的阶段,可配置访问参数来源于架构对产品设定的访问参数。在设计开发基本完毕的情况下,可配置访问参数来源于仿真阶段的数据收集和统计。
其中,需要说明的是,如果其中某些子模块原本就是与库无关的子模块,则在模型化时,可以无需进行处理,也即只对与库相关的子模型进行替换。
又一种可选实施方式下,对集成电路中存在库冲突的部分或者全部小芯片进行模型化的过程可以是:对集成电路中需要进行模型化的每一个小芯片,利用事先准备好的与该小芯片功能相同,且与库无关的验证模型进行替换。在该种实施方式下,可以事先准备好多种与die功能相同,且与库无关的验证模型,在后续验证时,直接获取与集成电路中需要进行模型化的die功能相同,且与库无关的验证模型进行替换即可,十分方便,是可以复用的。
以上述的core_die_1、core_die_2和io_die为例,在该种实施方式下,则可以直接利用事先准备好的与core_die_1功能相同,且与库无关的验证模型来替换core_die_1,以及利用事先准备好的与core_die_2功能相同,且与库无关的验证模型来替换core_die_2,和/或利用事先准备好的与io_die功能相同,且与库无关的验证模型来替换io_die。需要说明的是,在上述示例中,由于core_die_1、core_die_2为相同的芯片(包含相同的IP模块),因此在进行模型化时,core_die_1与core_die_2对应的验证模型为同一个验证模块。其中,在利用事先准备好的与小芯片功能相同,且与库无关的验证模型进行替换时,也可以仅对集成电路中的部分小芯片进行替换。例如,以上述的包含core_die_1、core_die_2和io_die的集成电路为例,假设core_die_1、core_die_2采用的工艺为A工艺,io_die采用的工艺为B工艺,那么可以仅对core_die_1、core_die_2进行替换,就可以解决库冲突的问题;同样可以只对io_die进行替换,也能解决解决库冲突的问题。其中,全部进行替换是最繁琐的一种解决库冲突的方法。
其中,可以通过以下方式获得与库无关的验证模型:获取待处理的小芯片(die),然后将小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接,对小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。该部分内容的具体原理请参照前述相同部分,在此不再赘述。
其中,在利用事先准备好的与小芯片功能相同,且与库无关的验证模型进行替换来对集成电路中的小芯片进行模型化的实施方式中,若该集成电路为去无关后的集成电路,则在事先准备与小芯片功能相同,且与库无关的验证模型时,也需要相应地进行去无关操作。也即在该种实施方式下,可以对待处理的小芯片(die)先进行去无关操作,然后再进行模型化处理。
通过事先准备好多种与die功能相同,且与库无关的验证模型,在后续验证时,可以直接选取这种与库无关的验证模型,通过实例化和互联便可形成更大规模的系统,也即根据验证的不同需求,选取不同种类或相同种类的已经模型化后的小芯片,并根据需要对每个已经模型化后的小芯片进实例化,得到对应的实例化模块,然后将各个实例化模块互联,形成一个chiplet系统。在前端验证环境里,这种方式可以灵活的把chiplet系统扩展成不同的样子,代价仅是在进行实例化时将不同或相同芯片的访问路径参数进行不同配置,这种系统的搭建是非常高效及便捷的。为了便于理解,下面将结合图3对基于同一个验证模型搭建不同的chiplet系统的过程进行说明。从图3中可以看出基于同一个验证模型(包含2个PHY、2个D2DC、bus_ctrl、ddr_ctrl)为io_die扩展了6个core_die模型(图中的D2Dsimulation Model 1、D2D simulation Model 2……D2D simulation Model 6),每个coredie模型都可以有自己的具体参数,通过对其同一个验证模型进行不同的实例化,便可扩展得到另一种形态的chiplet系统,高效便捷的响应了实际项目在系统级别对chiplet系统不同形态的验证需求。其中,需要说明的是,图3所示的示例仅为为了说明:通过事先准备好多种与die功能相同,且与库无关的验证模型,在后续验证时,可以直接选取这种与库无关的验证模型,通过实例化和互联便可非常便捷的形成更大规模的系统,而不能将其理解成是对本申请的限制。
在一种可选的实施方式下,获取待处理的小芯片的过程可以是:获取待处理的初始小芯片,基于去无关指示去除初始小芯片中与去无关指示无关的无关子模块,得到简化后的初始小芯片,基于参数配置指示对简化后的初始小芯片中与无关子模块相连接的端口进行赋值,得到待处理的集成电路。
其中,可选地,基于去无关指示去除初始小芯片中与去无关指示无关的无关子模块的过程可以是:获取与初始小芯片对应的预先设置的用于去无关指示的第一配置表,基于第一配置表去除初始小芯片中与第一配置表无关的无关子模块。可选地,第一配置表中配置有需要保留的相关子模块;基于第一配置表去除初始小芯片中与第一配置表无关的无关子模的过程可以是:遍历初始小芯片中在第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与第一配置表中的其他子模块有连接关系,若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除初始小芯片中与第一配置表无关的无关子模块。
可选地,基于参数配置指示对简化后的初始小芯片中与无关子模块相连接的端口进行赋值的过程可以是:获取与初始小芯片对应的预先设置的用于参数配置指示的第二配置表,基于第二配置表对简化后的初始小芯片中与无关子模块相连接的端口进行赋值。
其中,去除小芯片(die)中去无关模块的原理可以参阅上述的去除集成电路(如chiplet系统)中的与验证对象无关的模块的原理过程。
步骤S103:对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块。
在对集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型后,对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,按照多个小芯片间的原有连接方式连接实例化后得到的多个验证模型的实例化模块,例如,在分别对core_die_1、core_die_2进行模型化后,对core_die_1、core_die_2对应的验证模型和未模型化的小芯片io_die分别进行实例化,并按照原有的连接方式将对应的3个实例化后得到的实例化模块进行连接,以保证前后的时序以及功能一致。以上述的图2为例,core_die_1中的PHY0与core_die_2中的PHY0连接,core_die_1中的PHY1与io_die中的PHY0连接,core_die_2中的PHY1连接与io_die中的PHY0连接,因此,已模型化的小芯片对应的验证模型和未模型化的小芯片实例化后得到的实例化模块也是按照这样的方式连接,亦即将core_die_1对应实例化模块中的PHY0对应的子模型与将core_die_2对应实例化模块中的PHY0对应的子模型连接,core_die_1对应的实例化模块中的PHY1对应的子模型以及core_die_2对应的实例化模块中的PHY1对应的子模型分别与io_die对应的实例化模块中的PHY0对应的子模型连接。其中,对实例化的过程已经为本领域技术人员所熟知,在此不再赘述。
步骤S104:对实例化后的集成电路进行前仿真验证。
在对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块后,便可以对实例化后的集成电路进行前仿真验证。例如,通过施加激励对其进行验证。其具体验证过程已经为本领域技术人员所熟知,在此不再赘述。
其中,需要说明的是,在对待验证的集成电路进行验证时,可以是先对待验证的集成电路进行去无关操作,然后在此基础上再进行模型化,最后再对模型化后的集成电路进行前仿真验证。当然也可以是不进行去无关操作,直接进行模型化,然后对模型化后的集成电路进行前仿真验证。
为了便于在验证时,直接利用事先准备好的与小芯片功能相同,且与库无关的验证模型来对集成电路中的小芯片进行替换,基于同样的发明构思,本申请实施例还提供了一种集成电路处理方法,下面将结合图4对其进行过程进行说明。
步骤S201:获取待处理的集成电路,所述集成电路包含多个子模块。
获取待处理的die级别的集成电路,如上述的core_die_1、core_die_2或io_die。
一种可选实施方式下,待处理的集成电路可以是去除无关子模型后的集成电路,例如,core_die_1中去除了两个core(core1和core2)的集成电路。在该种实施方式下,获取待处理的集成电路的过程可以是:获取待处理的初始集成电路,基于去无关指示去除初始集成电路中与去无关指示无关的无关子模块,得到简化后的初始集成电路,基于参数配置指示对简化后的初始集成电路中与无关子模块相连接的端口进行赋值,得到待处理的集成电路。
其中,可选地,基于去无关指示去除初始集成电路中与去无关指示无关的无关子模块的过程可以是:获取与初始集成电路对应的预先设置的用于去无关指示的第一配置表,基于第一配置表去除初始集成电路中与第一配置表无关的无关子模块。在该种实施方式下,去无关指示为预先设置的第一配置表,在进行去无关时,是基于第一配置表去除初始集成电路中与第一配置表无关的无关子模块。此外,该去无关指示,还可以是直接通过命令行参数的方式传递的去无关操作的命令。
可选地,第一配置表中配置有需要保留的相关子模块;基于第一配置表去除初始集成电路中与第一配置表无关的无关子模块的过程可以是:遍历初始集成电路中在第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与第一配置表中的其他子模块有连接关系,若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除初始集成电路中与第一配置表无关的无关子模块。除了上述的在配置表中配置需要保留的相关子模块外,还可以是在配置表中配置需要去除的相关子模块。
可选地,基于参数配置指示对简化后的初始集成电路中与无关子模块相连接的端口进行赋值的过程可以是:获取与初始集成电路对应的预先设置的用于参数配置指示的第二配置表,基于第二配置表对简化后的初始集成电路中与无关子模块相连接的端口进行赋值。在该种实施方式下,参数配置指示为预先设置的配置表,在进行赋值时,是基于第二配置表对简化后的初始集成电路中与无关子模块相连接的端口进行赋值。此外,该参数配置指示,还可以是直接通过命令行参数的方式传递的参数配置命令。
步骤S202:将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接。
将集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接。例如,将每一个子模块替换成与库无关的语言编写的模型,例如换成用SystemVerilog语言、SystemC语言、C语言、C++语言编写的模型。
其中,需要说明的是,如果其中某些子模块原本就是与库无关的子模块,则在模型化时,可以无需进行处理,也即只对与库相关的子模型进行替换。其中,该集成电路可以是去无关后的die级别的集成电路。
步骤S203:对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
需要说明的是,在对集成电路进行处理时,可以是直接将集成电路中的每一个子模块替换为与该子模块功能相同,且与库无关的子模型;也可以是先进行去无关,然后再将集成电路中的每一个子模块替换为与该子模块功能相同,且与库无关的子模型。
需要说明的是,该实施例中未描述之处,请参阅前述实施例中相同相似的部分即可。
对于不存在库冲突的集成电路的验证,例如如果不同的die采用相同的工艺实现,则可以仅去除其中与验证对象无关的子模块,以加快验证的效率。基于此目的,本申请实施例还提供一种集成电路验证方法,下面将结合图5对其进行说明。
步骤S301:获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块。
获取待仿真验证的系统级别的集成电路,该集成电路包含多个小芯片(chiplet),例如,该集成电路包括3个小芯片,分别为core_die_1、core_die_2和io_die。
步骤S302:基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路。
其中,可选地,基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块的过程可以是:获取与所述集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
可选地,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块的过程可以是:针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
步骤S303:基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路。
可选地,基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值的过程可以是:获取与所述集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
步骤S304:对所述目标集成电路进行前仿真验证,得到验证结果。
在得到目标集成电路后,通过对其进行实例化以及施加激励进行验证。其中,具体验证过程已经为本领域技术人员所熟知,在此不再赘述。
需要说明的是,该实施例中未描述之处,请参阅前述实施例中相同相似的部分即可。
本申请实施例还提供了一种集成电路验证装置100,如图6所示。该集成电路验证装置100包括:获取模块110、处理模块120、验证模块130。
获取模块110,用于获取待验证的集成电路,所述集成电路包含多个小芯片。
处理模块120,用于对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型,以及对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块。
可选地,每一个小芯片包含多个子模块,处理模块120,具体用于:针对所述集成电路中需要进行模型化的每一个小芯片,将该小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对该小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的验证模型。
可选地,处理模块120,具体用于:对所述集成电路中需要进行模型化的每一个小芯片,利用事先准备好的与该小芯片功能相同,且与库无关的验证模型进行替换。
其中,可以通过以下方式获得与库无关的验证模型:获取待处理的小芯片,所述小芯片包含多个子模块;将所述小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对所述小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
验证模块130,用于对实例化后的集成电路进行前仿真验证。
其中,可选地,获取模块,还用于获取待验证的初始集成电路。相应地,处理模块120,还用于:基于去无关指示去除所述初始集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的初始集成电路;基于参数配置指示对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到所述待验证的集成电路。
可选地,处理模块120,还用于:获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;处理模块120,还用于:针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
可选地,处理模块120,还用于:获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
本申请实施例所提供的集成电路验证装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种集成电路处理装置200,如图7所示。该集成电路处理装置200包括:获取模块210、处理模块220。
获取模块210,用于获取待处理的集成电路,所述集成电路包含多个子模块。
处理模块220,用于将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;并对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
可选地,获取模块210,还用于获取待处理的初始集成电路。相应地,处理模块220,还用于基于去无关指示去除所述初始集成电路中与所述去无关指示的无关子模块,得到简化后的初始集成电路;基于参数配置指示对所述简化后的初始集成电路中与所述无关子模块相连接的端口进行赋值,得到所述待处理的集成电路。
可选地,处理模块220,还用于:获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的无关子模块。
可选地,所述第一配置表中配置有需要保留的相关子模块;处理模块220,还用于:遍历所述初始集成电路中在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的无关子模块。
处理模块220,还用于:获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的初始集成电路中与无关子模块相连接的端口进行赋值。
本申请实施例所提供的集成电路处理装置200,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种集成电路验证装置300,如图8所示。该集成电路验证装置300包括:获取模块310、处理模块320以及验证模块330。
获取模块310,用于获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块。
处理模块320,用于基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;以及还用于基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路。
验证模块330,用于对所述目标集成电路进行前仿真验证,得到验证结果。
可选地,处理模块320,用于:获取与所述集成电路对应的预先设置的用于去无关指示的第一配置表;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
可选地,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;处理模块320,用于:针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
可选地,处理模块320,用于:获取与所述集成电路对应的预先设置的用于参数配置指示的第二配置表;基于所述第二配置表对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
本申请实施例所提供的集成电路验证装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图9所示,图9示出了本申请实施例提供的一种电子设备400的结构框图。所述电子设备400包括:收发器410、存储器420、通讯总线430以及处理器440。
所述收发器410、所述存储器420、处理器440各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线430或信号线实现电性连接。其中,收发器410用于收发数据。存储器420用于存储计算机程序,如存储有图6中所示的软件功能模块,即集成电路验证装置100,或者,如存储有图7中所示的软件功能模块,即集成电路处理装置200,或者,如存储有图8中所示的软件功能模块,即集成电路验证装置300。其中,集成电路验证装置100、集成电路处理装置200、集成电路验证装置300均包括至少一个可以软件或固件(firmware)的形式存储于所述存储器420中或固化在所述电子设备400的操作系统(operating system,OS)中的软件功能模块。
其中,所述处理器440,用于执行存储器420中存储的可执行模块,例如集成电路验证装置100包括的软件功能模块或计算机程序时,处理器440,用于:获取待验证的集成电路,所述集成电路包含多个小芯片;以及对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型;以及对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块;对实例化后的集成电路进行前仿真验证。
所述处理器440,用于执行存储器420中存储的可执行模块,例如集成电路处理装置200包括的软件功能模块或计算机程序时,处理器440,用于:获取待处理的集成电路,所述集成电路包含多个子模块;将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
所述处理器440,用于执行存储器420中存储的可执行模块,例如集成电路验证装置300包括的软件功能模块或计算机程序时,处理器440,用于:获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块;基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路;对所述目标集成电路进行前仿真验证,得到验证结果。
其中,存储器420可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器440可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器440也可以是任何常规的处理器等。
其中,上述的电子设备400,包括但不限于计算机、服务器等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备400运行时,执行上述图1所示的集成电路验证方法,或者,执行上述图4所示的集成电路处理方法,或者执行上述图5所示的集成电路验证方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (22)

1.一种集成电路处理方法,其特征在于,包括:
获取待处理的集成电路,所述集成电路包含多个子模块;
将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;
对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
2.根据权利要求1所述的方法,其特征在于,获取待处理的集成电路,包括:
获取待处理的初始集成电路;
基于去无关指示去除所述初始集成电路中与所述去无关指示无关的无关子模块,得到简化后的初始集成电路;
基于参数配置指示对所述简化后的初始集成电路中与所述无关子模块相连接的端口进行赋值,得到所述待处理的集成电路。
3.根据权利要求2所述的方法,其特征在于,基于去无关指示去除所述初始集成电路中与所述去无关指示无关的无关子模块,包括:
获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;
基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的无关子模块。
4.根据权利要求3所述的方法,其特征在于,所述第一配置表中配置有需要保留的相关子模块;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的无关子模块,包括:
遍历所述初始集成电路中在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;
若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的无关子模块。
5.根据权利要求2所述的方法,其特征在于,基于参数配置指示对所述简化后的初始集成电路中与无关子模块相连接的端口进行赋值,包括:
获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;
基于所述第二配置表对所述简化后的初始集成电路中与无关子模块相连接的端口进行赋值。
6.一种集成电路验证方法,其特征在于,包括:
获取待验证的集成电路,所述集成电路包含多个小芯片;
对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型;
对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化;
按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块;
对实例化后的集成电路进行前仿真验证。
7.根据权利要求6所述的方法,其特征在于,每一个小芯片包含多个子模块,对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,包括:
针对所述集成电路中需要进行模型化的每一个小芯片,将该小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;
对该小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的验证模型。
8.根据权利要求6所述的方法,其特征在于,对所述集成电路中存在库冲突的部分或者全部小芯片进行模型化,包括:
对所述集成电路中需要进行模型化的每一个小芯片,利用事先准备好的与该小芯片功能相同,且与库无关的验证模型进行替换。
9.根据权利要求8所述的方法,其特征在于,通过以下方式获得与库无关的验证模型:
获取待处理的小芯片,所述小芯片包含多个子模块;
将所述小芯片中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;
对所述小芯片模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
10.根据权利要求6所述的方法,其特征在于,获取待验证的集成电路,所述方法还包括:
获取待验证的初始集成电路;
基于去无关指示去除所述初始集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的初始集成电路;
基于参数配置指示对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到所述待验证的集成电路。
11.根据权利要求10所述的方法,其特征在于,基于去无关指示去除所述初始集成电路中与所述去无关指示无关的小芯片和/或无关子模块,包括:
获取与所述初始集成电路对应的预先设置的用于去无关指示的第一配置表;
基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
12.根据权利要求11所述的方法,其特征在于,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;基于所述第一配置表去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块,包括:
针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;
若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述初始集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
13.根据权利要求10所述的方法,其特征在于,基于参数配置指示对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,包括:
获取与所述初始集成电路对应的预先设置的用于参数配置指示的第二配置表;
基于所述第二配置表对所述简化后的初始集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
14.一种集成电路验证方法,其特征在于,包括:
获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块;
基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;
基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路;
对所述目标集成电路进行前仿真验证,得到验证结果。
15.根据权利要求14所述的方法,其特征在于,基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,包括:
获取与所述集成电路对应的预先设置的用于去无关指示的第一配置表;
基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
16.根据权利要求15所述的方法,其特征在于,所述第一配置表中配置有需要去无关的小芯片和该小芯片下需要保留的相关子模块;基于所述第一配置表去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块,包括:
针对所述第一配置表中的每一个需要去无关的小芯片,遍历该小芯片在所述第一配置表中的每一个子模块,检查该子模块下的每一个端口是否与所述第一配置表中的其他子模块有连接关系;
若有则标注该端口为相关,反之则断开该端口的连接,直至该子模块下的每一个端口都被标注为相关或断开,从而去除所述集成电路中与所述第一配置表无关的小芯片和/或无关子模块。
17.根据权利要求14所述的方法,其特征在于,基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,包括:
获取与所述集成电路对应的预先设置的用于参数配置指示的第二配置表;
基于所述第二配置表对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值。
18.一种集成电路处理装置,其特征在于,包括:
获取模块,用于获取待处理的集成电路,所述集成电路包含多个子模块;
处理模块,用于将所述集成电路中与库相关的每一个子模块替换为与该子模块功能相同,且与库无关的子模型,并按照原有连接方式进行连接;并对所述集成电路模型化后得到的模型的芯片访问参数进行建模,得到参数可配置的,且与库无关的验证模型。
19.一种集成电路验证装置,其特征在于,包括:
获取模块,用于获取待验证的集成电路,所述集成电路包含多个小芯片;
处理模块,用于对所述集成电路中存在库冲突的部分或全部小芯片进行模型化,以转换为功能相同,且与库无关的验证模型,以及对转换后的集成电路中已模型化的小芯片对应的验证模型和未模型化的小芯片分别进行实例化,并按照所述多个小芯片间的原有连接方式连接实例化后得到的多个实例化模块;
验证模块,用于对实例化后的集成电路进行前仿真验证。
20.一种集成电路验证装置,其特征在于,包括:
获取模块,用于获取待验证的集成电路,所述集成电路包含多个小芯片,每一个小芯片包含多个子模块;
处理模块,用于基于去无关指示去除所述集成电路中与所述去无关指示无关的小芯片和/或无关子模块,得到简化后的集成电路;以及还用于基于参数配置指示对所述简化后的集成电路中与无关小芯片和/或无关子模块相连接的端口进行赋值,得到目标集成电路;
验证模块,用于对所述目标集成电路进行前仿真验证,得到验证结果。
21.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6-13中任一项所述的方法,或者,执行如权利要求14-17中任一项所述的方法。
22.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6-13中任一项所述的方法,或者,执行如权利要求14-17中任一项所述的方法。
CN202011419877.6A 2020-12-03 2020-12-03 集成电路处理方法、集成电路验证方法、装置及电子设备 Active CN112417800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011419877.6A CN112417800B (zh) 2020-12-03 2020-12-03 集成电路处理方法、集成电路验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011419877.6A CN112417800B (zh) 2020-12-03 2020-12-03 集成电路处理方法、集成电路验证方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112417800A true CN112417800A (zh) 2021-02-26
CN112417800B CN112417800B (zh) 2023-02-17

Family

ID=74776005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011419877.6A Active CN112417800B (zh) 2020-12-03 2020-12-03 集成电路处理方法、集成电路验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112417800B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114818560A (zh) * 2022-03-07 2022-07-29 江苏汤谷智能科技有限公司 一种基于仿真技术的芯片开发验证系统台
CN114970406A (zh) * 2022-05-30 2022-08-30 中昊芯英(杭州)科技有限公司 数字集成电路的定制方法、装置、介质和计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190188118A1 (en) * 2017-12-15 2019-06-20 Unisys Corporation System and method for generating database independent input test data
US10423750B1 (en) * 2017-10-24 2019-09-24 Cadence Design Systems, Inc. Technology database independent components for integrated circuit package
CN111880775A (zh) * 2020-07-29 2020-11-03 携程旅游网络技术(上海)有限公司 多模块分层架构实现方法、装置、电子设备、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423750B1 (en) * 2017-10-24 2019-09-24 Cadence Design Systems, Inc. Technology database independent components for integrated circuit package
US20190188118A1 (en) * 2017-12-15 2019-06-20 Unisys Corporation System and method for generating database independent input test data
CN111880775A (zh) * 2020-07-29 2020-11-03 携程旅游网络技术(上海)有限公司 多模块分层架构实现方法、装置、电子设备、存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114818560A (zh) * 2022-03-07 2022-07-29 江苏汤谷智能科技有限公司 一种基于仿真技术的芯片开发验证系统台
CN114818560B (zh) * 2022-03-07 2024-02-13 江苏汤谷智能科技有限公司 一种基于仿真技术的芯片开发验证系统台
CN114970406A (zh) * 2022-05-30 2022-08-30 中昊芯英(杭州)科技有限公司 数字集成电路的定制方法、装置、介质和计算设备

Also Published As

Publication number Publication date
CN112417800B (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
CN112417800B (zh) 集成电路处理方法、集成电路验证方法、装置及电子设备
WO2020073631A1 (zh) 3d仿真数据的生成方法、系统、计算机存储介质及设备
US11675613B2 (en) Flexible physical function and virtual function mapping
CN113051855A (zh) 用于片上系统芯片验证的方法、系统及验证平台
CN113947050B (zh) 用于生成形式验证环境的方法、电子设备及存储介质
WO2016000388A1 (zh) 一种芯片集成方法、装置及存储介质
CN113868986A (zh) 端口时延的约束方法、装置、电子设备、存储介质
CN117131834A (zh) 芯片设计重组方法、电子设备和介质
JPH06274568A (ja) 階層図形データの展開方法
US20070283260A1 (en) Human-machine Interface System with Device Bridge and Method for Designing and Operating the Same
CN115809620B (zh) 仿真逻辑系统设计的方法、电子设备和存储介质
WO2018010520A1 (zh) 一种芯片架构重构方法、装置和计算机可读存储介质
CN116069726B (zh) 一种集成电路设计库的管理方法、设备及介质
CN107229793B (zh) 一种高级可扩展接口总线平台的测试方法及装置
CN107729601B (zh) 仿真过程中配置ram的方法、装置及计算机存储介质
CN114548028B (zh) 进行低功耗设计的方法、电子设备及存储介质
US8359557B1 (en) Method and apparatus for generating data bus interface circuitry
US10235486B2 (en) Method, apparatus and system for automatically deriving parameters for an interconnect
CN115828805A (zh) 分割逻辑系统设计的方法、设备及存储介质
CN115034164A (zh) 验证方法、电子设备及存储介质
CN117131824A (zh) 自动生成芯片设计rtl代码的方法、电子设备和介质
CN114398214A (zh) 性能验证方法、装置、存储介质及计算机设备
CN114928657A (zh) 到多协议片上系统中的互连的连通性的合成的系统和方法
CN112329362B (zh) 对芯片进行复杂工程修改的通用方法、设备和存储介质
CN111177055A (zh) Pcie槽的配置设置方法、系统、介质及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450

Applicant after: Haiguang Information Technology Co.,Ltd.

Address before: 100082 industrial incubation-3-8, North 2-204, 18 Haitai West Road, Huayuan Industrial Zone, Haidian District, Beijing

Applicant before: Haiguang Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant