CN115358175B - 电路形式化模型简化方法及系统 - Google Patents
电路形式化模型简化方法及系统 Download PDFInfo
- Publication number
- CN115358175B CN115358175B CN202211270682.9A CN202211270682A CN115358175B CN 115358175 B CN115358175 B CN 115358175B CN 202211270682 A CN202211270682 A CN 202211270682A CN 115358175 B CN115358175 B CN 115358175B
- Authority
- CN
- China
- Prior art keywords
- circuit
- sub
- modules
- model
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
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
技术领域
本发明涉及集成电路验证技术领域,具体地涉及一种电路形式化模型简化方法及一种电路形式化模型简化系统。
背景技术
在现代数字电路的设计流程中,为了保证设计功能按照既定的设计规约正确的实现,必须对设计的集成电路进行验证。在一个完整的集成电路开发周期内,验证步骤所占用的时间往往达到60%-70%,可见验证步骤对集成电路开发来说十分重要。所以,想要提高集成电路的整体开发效率,提高集成电路验证技术是行业发展的必然需求。在现有方法中,集成电路验证十分常用的方法为形式化验证法,形式化验证法是一种基于数学推理的验证技术,能够对系统是否满足某些性质与规范进行完备地证明。其中,模型检测作为一种模型检验是一种自动化程度很高的形式化验证方法,在集成电路的设计及功能验证中起着重要的作用。
模型检测有着非常显著的缺点,就是所谓的“状态爆炸”问题。为了避免这种“状态爆炸”问题,目前常用的减少和压缩状态空间的方法主要有:符号模型检验、有界模型检测、偏序规约、抽象技术等。其中,符号模型检测是硬件模型检测领域中最有效的模型化简方法。但是符号模型检测方法需要人工设定逻辑公式中的变量顺序才能有效压缩存储空间并且能够检测的变量少;随着变量数量的增加,可能的状态数目指数增加,即便该方法可以压缩状态空间,然而状态空间依然会快速的增加,导致该方法能够检测的变量数量少。在规模相对较小的芯片中,状态较少,可以有效地压缩状态空间,加速形式化验证。然而当芯片的规模不断增大到一定量级,形式化验证便会受到限制。同时,基于符号模型检测的模型化简方法人工参与度高,自动化程度较低,难以在大规模电路中进行实际应用。针对现有技术存在的问题,需要创造一种新的电路形式化模型简化方法。
发明内容
本发明实施方式的目的是提供一种电路形式化模型简化方法及系统,以至少解决现有状态缩减方法自动化程度低和应用场景限制大的问题。
为了实现上述目的,本发明第一方面提供一种电路形式化模型简化方法所述方法包括:获取集成电路的设计信息,并基于所述设计信息进行形式化模型构建;基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集;基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号;基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
可选的,所述基于所述设计信息进行形式化模型构建,包括:基于所述设计信息获取所述集成电路EDA设计过程中的模块化设计信息;基于预设形式化方法对所述模块化设计信息进行模型构建,获得对应的形式化模型。
可选的,所述集成电路EDA设计过程中的模块化设计信息至少包括:功能设计信息、电路设计信息、布线设计信息、版图设计信息。
可选的,所述基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:基于所述集成电路EDA设计过程中的模块化设计信息中涉及的每一个电路模块作为一个电路子模块;整合所有电路子模块,获得子模块集。
可选的,所述基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并后再合并到同一个子模块中;遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;基于该N+1个子模块获得子模块集。
可选的,所述存在交互影响的信号为控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。
可选的,所述基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化,包括:根据所述交互关键信号进行各子模块中信号流转路径模拟;基于所述模拟结果识别运行过程中不会出现的状态;将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;基于缩减后的状态完成电路模型简化。
本发明第二方面提供一种电路形式化模型简化系统,所述系统包括:采集单元,用于获取集成电路的设计信息;模型构建单元,用于基于所述设计信息进行形式化模型构建;处理单元,用于:基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集;基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号;简化单元,用于基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
可选的,所述模型构建单元还用于:基于所述设计信息获取所述集成电路EDA设计过程中的模块化设计信息;基于预设形式化方法对所述模块化设计信息进行模型构建,获得对应的形式化模型。
可选的,所述集成电路EDA设计过程中的模块化设计信息至少包括:功能设计信息、电路设计信息、布线设计信息、版图设计信息。
可选的,所述处理单元还用于:基于所述集成电路EDA设计过程中的模块化设计信息中涉及的每一个电路模块作为一个电路子模块;整合所有电路子模块,获得子模块集。
可选的,所述处理单元还用于:对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并后再合并到同一个子模块中;遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;基于该N+1个子模块获得子模块集。
可选的,所述存在交互影响的信号为控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。
可选的,所述基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化,包括:根据所述交互关键信号进行各子模块中信号流转路径模拟;基于所述模拟结果识别运行过程中不会出现的状态;将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;基于缩减后的状态完成电路模型简化。
另一方面,本发明提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的电路形式化模型简化方法。
通过上述技术方案,本发明方案从电路的模块化结构入手对大规模的状态空间模型进行拆分,进而实现状态模型的化简与压缩。基于关键交互信息的子模块重构,分析并提取电路子模块之间信号的控制流与数据依赖关系,并以关键交互信号为桥梁进行模型重构,降低整体电路状态模型的规模。本发明方案可以实现完全的自动化,不需要验证人员的手动操作,能够降低时间成本,提高验证精度。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的符号模型检测方法原理举例二叉树构建图;
图2是本发明一种实施方式提供的符号模型检测方法原理举例状态缩减示意图;
图3是本发明一种实施方式提供的符号模型检测方法原理举例序列变换状态缩减示意图;
图4是本发明一种实施方式提供的电路形式化模型简化方法的步骤流程图;
图5是本发明一种实施方式提供的电路形式化模型简化系统的系统结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在现代数字电路的设计流程中,为了保证设计功能按照既定的设计规约正确的实现,必须对设计的集成电路进行验证。在一个完整的集成电路开发周期内,验证步骤所占用的时间往往达到60%-70%,可见验证步骤对集成电路开发来说十分重要。所以,想要提高集成电路的整体开发效率,提高集成电路验证技术是行业发展的必然需求。
在现有方法中,集成电路验证十分常用的方法为形式化验证法,形式化验证法是一种基于数学推理的验证技术,能够对系统是否满足某些性质与规范进行完备地证明。其中,模型检测作为一种模型检验是一种自动化程度很高的形式化验证方法,在集成电路的设计及功能验证中起着重要的作用。但是,模型检测有着非常显著的缺点,就是所谓的“状态爆炸”问题。因为模型检测的思想是基于对状态空间的穷举搜索,对于并发系统,其状态的数目往往随并发分量的增加而呈指数增长,所以,随着并发分量增多,极易出现“状态爆炸”问题。在集成电路中,随着数字集成电路规模的逐渐增大,寄存器锁存器的数目也越来越多,数字电路的状态同样会出现指数爆炸的情况。
为了避免这种“状态爆炸”问题,目前常用的减少和压缩状态空间的方法主要有:符号模型检验、有界模型检测、偏序规约、抽象技术等。其中,符号模型检测是硬件模型检测领域中最有效的模型化简方法。但是符号模型检测方法需要人工设定逻辑公式中的变量顺序才能有效压缩存储空间并且能够检测的变量少;随着变量数量的增加,可能的状态数目指数增加,即便该方法可以压缩状态空间,然而状态空间依然会快速的增加,导致该方法能够检测的变量数量少。
为了形象地了解符号模型检测方法进行状态空间压缩的工作方式,首先对变量顺序对符号模型检测方法压缩状态空间的影响进行举例介绍。以布尔函数f=(x1+x2)*x3为例,以变量序x1,x2,x3构建二叉树如图1,虚线表示变量取0,实线表示变量取1,最后一行叶子节点表示在x1,x2,x3取不同的值时对应的f的值。在未简化的情况下,可见总共需要15个存储单位存储对应的节点和取值。
如图2,开始进行简化,首先将叶子节点进行合并,然后将等级的x3进行合并;最后将无论取何值结果都是0的x3和x2删除,完成简化。可见,简化后只需要5个存储单位来存储。
然后更换变量序为x1,x3,x2,如图3进行简化,简化后需要6个存储单位来存储节点。通过两次状态对比可见,在不同的变量序下存储布尔函数f需要的存储空间是不同的,因此,在存在几十甚至几百变量情况下,人工确定最优的变量序压缩状态空间是一个极大的挑战。
通过举例可知,现有模型化简方法均是把电路作为一个整体构建状态机模型,考虑整体的状态空间以及状态转移关系。这种思想在规模相对较小的芯片中,状态较少,可以有效地压缩状态空间,加速形式化验证。然而当芯片的规模不断增大到一定量级,形式化验证便会受到限制。同时,基于符号模型检测的模型化简方法人工参与度高,自动化程度较低,难以在大规模电路中进行实际应用。本发明方案便是针对现有模型化简方法存在的问题,提出了一种新的电路形式化模型简化方法,从电路的模块化结构入手对大规模的状态空间模型进行拆分,进而实现状态模型的化简与压缩。基于关键交互信息的子模块重构,分析并提取电路子模块之间信号的控制流与数据依赖关系,并以关键交互信号为桥梁进行模型重构,降低整体电路状态模型的规模。
图4是本发明一种实施方式提供的电路形式化模型简化方法的方法流程图。如图4所示,本发明实施方式提供一种电路形式化模型简化方法,所述方法包括:
步骤S10:获取集成电路的设计信息,并基于所述设计信息进行形式化模型构建。
具体的,电路简化技术是基于完成基本设计需求的电路结构基础上进行的优化过程,在此之前,首先需要基于实际使用需求,及集成电路需要满足的适用功能进行对应的结构设计。基于该设计方案,至少需要保证芯片具有一定的应用能力,然后在此基础上进行简化优化,一方面进行故障识别,另一方面也可以对电路结构进行一定程度的优化。
在完成集成电路初步设计后,采集单元对该设计信息进行采集,然后将采集的设计信息传输到模型构建单元。本发明方案还是利用模型检测进行集成电路验证,核心目的还是规避模型检测中的“状态爆炸”问题,解决该问题的核心理念便是进行形式化模型简化,减少状态数。
形式化方法就是将程序抽象为一个模型,然后用严密的数学推理来证实或证伪该模型。形式化模型是形式化方法的基础,模型必须有明确的、数学定义的语法和意义,才能成为形式化的模型。形式化验证技术应用于硬件检测时,其采用严格的数学定义描述电路规范,形式化检查硬件行为特征。现有的形式化验证技术包括模型检验和定理证明。因此,定义模型的限制是有必要的。简单来说,需要将实体的设计方案构建为虚拟的可用于证伪的形式化模型,然后便可以基于该形式化模型进行对应的电路验证。直接基于电路结构构建的形式化模型存在很多冗余状态,需要将这部分状态识别出来,并进行冗余状态剔除,保证满足验证需求的前提下形式化模型中的状态数量足够少。
上述已知,形式化模型是基于设计的电路结构进行的构建的,优选的,基于所述设计信息中包括的获取所述集成电路中各电路模块的参数信息;基于预设形式化方法对所述各电路模块的参数信息进行模拟构建,获得对应的形式化模型。其中,各电路模块的参数信息至少包括:各电路模块地址信息、各电路模块之间的通信连接信息、各电路模块之间的信号传输方向信息、各电路模块之间的通信信息类型信息、各电路模块之间存在的通信链路数量信息。即需要可以表征电路结构的运行参数作为构建形式模型的基础参数,保证构建获得的形式化模型匹配对应的集成电路设计方案。
步骤S20:基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集。
具体的,如上述举例中的布尔函数,需要找到电路结构中的变量序,变量节点为电路中的各电路模块,变量序由对应的信号传输链路决定。在本发明实施例中,提供了两种获得子模块集的方法。
在一种可能的实施方式中,基于所述设计信息包括的电路模块化结构信息中涉及的每一个编写模块作为一个电路子模块;在电路设计阶段,需要应用到EDA(Electronicdesign automation,电子设计自动化)进行集成电路设计,EDA是利用计算机辅助设计软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。直接利用在EDA设计阶段的模块化的代码编写模式进行子模块区分,这种方式执行便捷,直接读取设计信息进行确定便可。但这种方式也存在一定的问题,即工作量很大,因为需要对每一个模块进行拆解,且子模块的数量很多,即使一些不重要的子模块,其也将作为一个待参考的模块放到子模块集中。
在另一种可能的实施方式中,对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并,后续合并到同一个子模块中;遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;基于该N+1个子模块获得子模块集。这种方式不对所有的子模块进行分解,而是对具有较强数据依赖关系的模块交互关键信号的两模块之间设置断点,可以提高子模块集中各子模块的价值,但状态空间也会有所增加。
步骤S30:基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号。
具体的,所述存在交互影响的信号为存在控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。通过提取交互关键信号,可以获知各子模块之间的交互关系,以便于进行对应的变量序确定。例如,某控制流性质数据从子模块1先后流转到子模块3、子模块4和子模块5,则通过该控制流信号,便可以确定一条完整的传输链路,确定子模块1-3-4-5的变量序规则。提取出所有交互关键信号,便可以对所有的联动关系进行提取,保证对所有子模块的运行状态全监测,以便于后续进行冗余状态识别。
步骤S40:基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
具体的,根据所述交互关键信号进行各子模块中信号流转路径模拟;基于所述模拟结果识别运行过程中不会出现的状态;将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;基于缩减后的状态完成电路模型简化。以控制流与数据依赖关系为指导删除电路实际运行过程中不会出现的冗余状态,对整体电路模型进行简化。继续以上述举例介绍,对于某一个关键交互信息,子模块1-2-3-4-5的状态便可以作为冗余状态,因为电路运行过程中,不会出现该传输链路,仅存在1-3-4-5的传输链路,所以当穷尽所有交互关键信号,均不存在1-2-3-4-5的状态,则这种状态便是冗余状态,直接在构建的形式化模型中将这种状态剔除便可。
在本发明实施例中,本发明方案能够与硬件电路深度结合,在硬件电路本身结构特点的基础上进行模型化简,与现有的技术手段相比,更具有实用价值。本发明方案可以实现完全的自动化,不需要验证人员的手动操作,能够降低时间成本,提高验证精度。
图5是本发明一种实施方式提供的电路形式化模型简化系统的系统结构图。如图5所示,本发明实施方式提供一种电路形式化模型简化系统,所述系统包括:采集单元,用于获取集成电路的设计信息;模型构建单元,用于基于所述设计信息进行形式化模型构建;处理单元,用于:基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集;基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号;简化单元,用于基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
可选的,所述模型构建单元还用于:基于所述设计信息获取所述集成电路中各电路模块的参数信息;基于预设形式化方法对所述各电路模块的参数信息进行模拟构建,获得对应的形式化模型。
可选的,所述各电路模块的参数信息至少包括:各电路模块地址信息、各电路模块之间的通信连接信息、各电路模块之间的信号传输方向信息、各电路模块之间的通信信息类型信息、各电路模块之间存在的通信链路数量信息。
可选的,所述处理单元还用于:基于所述设计信息的电路模块化结构信息中涉及的每一个电路模块作为一个电路子模块;整合所有电路子模块,获得子模块集。
可选的,所述处理单元还用于:对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并后再合并到同一个子模块中;遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;基于该N+1个子模块获得子模块集。
可选的,所述存在交互影响的信号为控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。
可选的,所述基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化,包括:根据所述交互关键信号进行各子模块中信号流转路径模拟;基于所述模拟结果识别运行过程中不会出现的状态;将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;基于缩减后的状态完成电路模型简化。
实施例1:
基于电路整体设计构建表征电路全局信息的形式化模型,设电路中具有控制流性质与数据依赖关系的模块交互关键信号共有n个,此时模型中与交互关键信号相关的状态数目共有An个。然后基于电路的模块化结构进行电路模型解构,得到子模块集N1,N2,N3……Np,分立的子模块集无法完备地描述电路全部的运行状态。
或者,基于电路的模块化结构进行电路模型解构,该部分区别于第五部分的步骤,不对所有的子模块进行分解,而是对具有较强数据依赖关系的模块交互关键信号的两模块之间设置断点,假设设置了p个断点,则得到p+1个子模块。例如,由于M2和M3之间具有更多的控制流信号,因此可以选择在M2和M3之间设置断点,点M1和M2作为各个子模块,M3和M4作为一个子模块进行电路模型的解构。
接着,提取子模块集中具有控制流性质与数据依赖关系的交互关键信号S1,S2,S3……Sn。最后基于模块交互关键信号进行子模块重构,以控制流与数据依赖关系为指导删除电路实际运行过程中不会出现的冗余状态,对整体电路模型进行简化,此时模型中与交互关键信号相关的状态数目共有B×n个(为倍数关系)。
实施例2:
以双核两级缓存处理器为例,验证处理器的缓存功能。其进行对应的模型简化时,实现步骤为:
1)将CPU1 core,CPU2 core, CPU core各自私有L1 cache,L2 cache,MainMemory模块分别提取状态机模型,得到六个子模块,。
2)根据设计规范,提取CPU与L1 cache,L1 cache之间,L1 cache与L2 cache,L2cache与Main Memory之间的控制流。
3)以控制流与数据依赖关系为指导删除电路实际运行过程中不会出现的冗余状态,对整体电路模型进行简化。
或者,根据缓存一致性协议,CPU的R/W信号会使得L1 cache的状态发生变化,即两种控制流影响L1的状态,而不同CPU的私有L1缓存之间的交互信号存在共享请求(shreq),独享请求(exreq),无效请求(invreq),以及对应的reply,总共六种控制流影响本地L1的状态。因此本实施例在L1之间的控制流断开,分别验证CPU1 core - L1 cache - L2 cache -Main Memory以及CPU2 core - L1 cache - L2 cache - Main Memory两个子模块的功能以及两子模块之间(即两L1 cache之间)的交互信息。
本发明实施方式还提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的电路形式化模型简化方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序和指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (9)
1.一种电路形式化模型简化方法,其特征在于,所述方法包括:
获取集成电路的设计信息,并基于所述设计信息进行形式化模型构建;其中,
所述基于所述设计信息进行形式化模型构建,包括:
基于所述设计信息获取集成电路EDA设计过程中的模块化设计信息;
基于预设形式化方法对所述模块化设计信息进行模型构建,获得对应的形式化模型;
所述集成电路EDA设计过程中的模块化设计信息至少包括:
功能设计信息、电路设计信息、布线设计信息、版图设计信息;
基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:
对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;
若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;
若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并后再合并到同一个子模块中;
遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;
基于该N+1个子模块获得子模块集;
基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号;
基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
2.根据权利要求1所述的方法,其特征在于,所述基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:
将集成电路EDA设计过程中的模块化设计信息中涉及的每一个电路模块作为一个电路子模块;
整合所有电路子模块,获得子模块集。
3.根据权利要求1所述的方法,其特征在于,所述存在交互影响的信号为控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。
4.根据权利要求1所述的方法,其特征在于,所述基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化,包括:
根据所述交互关键信号进行各子模块中信号流转路径模拟;
基于模拟结果识别运行过程中不会出现的状态;
将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;
基于缩减后的状态完成电路模型简化。
5.一种电路形式化模型简化系统,其特征在于,所述系统包括:
采集单元,用于获取集成电路的设计信息;
模型构建单元,用于:
基于所述设计信息进行形式化模型构建,包括:
基于所述设计信息获取集成电路EDA设计过程中的模块化设计信息;其中,所述集成电路EDA设计过程中的模块化设计信息至少包括功能设计信息、电路设计信息、布线设计信息、版图设计信息;
基于预设形式化方法对所述模块化设计信息进行模型构建,获得对应的形式化模型;
处理单元,用于:
基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:
对比各电路模块之间存在的通信链路数量信息与对应的断点阈值信息;
若两个电路模块之间的通信链路数量信息大于所述断点阈值信息,则在该两个电路模块之间设置断点,该断点为两个子模块之间的连接点;
若两个电路模块之间的通信链路数量信息小于所述断点阈值信息,则将该两个电路模块进行合并后再合并到同一个子模块中;
遍历所有电路模块,获得N个断点,并对应获得N+1个子模块;
基于该N+1个子模块获得子模块集;
基于所述子模块集中各子模块之间的信号联动关系提取出所有存在交互影响的信号,作为交互关键信号;
简化单元,用于基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化。
6.根据权利要求5所述的系统,其特征在于,所述基于所述形式化模型进行电路模型解构,获得多个电路子模块并组成子模块集,包括:
将集成电路EDA设计过程中的模块化设计信息中涉及的每一个电路模块作为一个电路子模块;
整合所有电路子模块,获得子模块集。
7.根据权利要求5所述的系统,其特征在于,所述存在交互影响的信号为控制链路上的控制流性质数据或子模块之间存在依赖关系的交互数据。
8.根据权利要求5所述的系统,其特征在于,所述基于所述交互关键信号进行所有子模块重构,删除其中冗余状态,完成电路模型简化,包括:
根据所述交互关键信号进行各子模块中信号流转路径模拟;
基于模拟结果识别运行过程中不会出现的状态;
将所述不会出现的状态作为冗余状态,将所有冗余状态进行删除,仅保留与所述交互关键信号相关的状态;
基于缩减后的状态完成电路模型简化。
9.一种计算机可读存储 介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行权利要求1-4中任一项权利要求所述的电路形式化模型简化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211270682.9A CN115358175B (zh) | 2022-10-18 | 2022-10-18 | 电路形式化模型简化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211270682.9A CN115358175B (zh) | 2022-10-18 | 2022-10-18 | 电路形式化模型简化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115358175A CN115358175A (zh) | 2022-11-18 |
CN115358175B true CN115358175B (zh) | 2023-03-24 |
Family
ID=84008657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211270682.9A Active CN115358175B (zh) | 2022-10-18 | 2022-10-18 | 电路形式化模型简化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115358175B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152754B2 (en) * | 2013-05-07 | 2015-10-06 | Synopsys, Inc. | Sub-module physical refinement flow |
CN109408892B (zh) * | 2018-09-25 | 2023-04-07 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制物理设计贯穿信号线自动规划方法 |
CN111428436B (zh) * | 2019-01-09 | 2023-09-15 | 杭州起盈科技有限公司 | 一种程序化分析集成电路线路结构的方法 |
CN111539178B (zh) * | 2020-04-26 | 2023-05-05 | 成都市深思创芯科技有限公司 | 一种基于神经网络的芯片版图设计方法和系统及制作方法 |
CN114217848A (zh) * | 2021-12-29 | 2022-03-22 | 北京百度网讯科技有限公司 | 依赖关系处理方法、装置、电子设备及计算机存储介质 |
-
2022
- 2022-10-18 CN CN202211270682.9A patent/CN115358175B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115358175A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3858000B2 (ja) | フィルタリング型アプローチを使用する組合せ回路の検証方法 | |
Chockler et al. | Incremental formal verification of hardware | |
Benedetti et al. | QBF-based formal verification: Experience and perspectives | |
Last et al. | The data mining approach to automated software testing | |
US8161433B2 (en) | Utilizing an unSAT proof for model checking | |
CN109299530B (zh) | 一种仿真测试案例生成方法、系统、存储介质和终端 | |
US5491639A (en) | Procedure for verifying data-processing systems | |
CN115062570B (zh) | 一种形式验证方法、装置、设备及计算机存储介质 | |
CN111475192A (zh) | 对游戏服务器进行热更的方法、装置、存储介质和系统 | |
US6993740B1 (en) | Methods and arrangements for automatically interconnecting cores in systems-on-chip | |
CN112948233A (zh) | 一种接口测试方法、装置、终端设备及介质 | |
CN114492258A (zh) | 随机约束和覆盖组同步方法 | |
Yang et al. | Information gain of black-box testing | |
Disch et al. | Combinational equivalence checking using incremental SAT solving, output ordering, and resets | |
US9569572B2 (en) | Selectively loading design data for logical equivalency check | |
CN115358175B (zh) | 电路形式化模型简化方法及系统 | |
Pan et al. | A Semi-Tensor Product based Circuit Simulation for SAT-sweeping | |
US7231619B1 (en) | Extended model checking hardware verification | |
CN113919256A (zh) | 一种布尔可满足性验证方法、系统、cnf生成方法及存储装置 | |
CN108984397B (zh) | 黑盒故障注入方法和系统及介质设备 | |
Ba-Brahem et al. | The proposal of improved inexact isomorphic graph algorithm to detect design patterns | |
CN111914504A (zh) | 一种应用电路的三模冗余方法及装置 | |
CN110991129A (zh) | 一种基于fpga的密码协处理器全自动仿真验证方法 | |
CN112632886B (zh) | 检查总线验证的方法与装置以及电子设备和存储介质 | |
CN112181844B (zh) | 一种验证分布式协议活性属性容错机制的检测方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |