本发明专利技术涉及一种开放的芯片形式验证方法、存储介质、终端和系统,对验证工具进行模块化,形成前端、中端、控制模块和后端,所述方法包括如下步骤:所述前端获取输入的设计代码,经过解析综合后形成第一阶段的综合数据,生成网表;所述中端在所述网表基础上进行建模,生成逻辑模型;所述控制模块验证所需的依附于所述逻辑模型的包括约束属性结果在内的其他数据;所述后端用于在逻辑模型被运用到各个引擎时,根据对应引擎的算法需求生成针对引擎的模型。本发明专利技术将芯片的验证方法进行模块化,形成了前中后和控制四个模块,各个模块负责相应数据的生成和应用。
An Open Chip Form Verification Method, Storage Media, Terminals and Systems
【技术实现步骤摘要】
一种开放的芯片形式验证方法、存储介质、终端和系统
本专利技术涉及一种开放的芯片形式验证方法、存储介质、终端和系统。
技术介绍
形式验证是一种基于形式逻辑运用数学推理和证明的功能验证方法。芯片形式验证主要分为两类,即模型验证和等价验证。基于细分的应用场景,形式验证衍生出了不同的APP,比如连线验证,覆盖不可达验证,安全路径验证等等。但是随着形式验证技术的发展和应用的高速推广,依靠EDA厂商定期推出新APP的做法已经不能够满足市场的需求。本专利技术针对这一问题提出开放的形式验证构架的方法、存储介质、终端和系统。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种开放的芯片形式验证方法、存储介质、终端和系统。本专利技术的目的是通过以下技术方案来实现的:本专利技术的第一方面,提供一种开放的芯片形式验证方法,对验证工具进行模块化,形成前端、中端、控制模块和后端,所述方法包括如下步骤:所述前端获取输入的设计代码,经过解析综合后形成第一阶段的综合数据,生成网表;所述设计代码为描述芯片行为的代码;所述中端在所述网表基础上进行建模,生成逻辑模型;所述控制模块验证所需的依附于所述逻辑模型的其他数据,包括时钟和复位逻辑的定义、约束断言、属性断言;所述后端用于在逻辑模型被运用到各个引擎时,根据对应引擎的算法需求生成针对引擎的模型。进一步地,所述前端、中端、控制模块和后端均形成模块界面进行开放,即分别形成前端API、中端API、控制模块API和后端API。进一步地,所述前端API为源代码设计规则检验提供辅助,包括提供设计源代码和综合网表的遍历、查询和修改功能,以及提供包括记忆器、状态机、和先入先出的提取在内的常用设计结构。进一步地,所述中端API提供逻辑模型的遍历、查询和修改,以及针对具体场景的逻辑模型重建;所述中端API还支持针对后端API引擎即形式验证算法的特殊建模和优化。进一步地,所述控制模块API用于定义引擎间的通讯协议,支持基于记忆器,文件的数据传输,以及支持基于pipe和socket的数据和信息通讯。进一步地,所述控制模块API支持多核、跨机和跨网的并行运算,和/或支持云计算。进一步地,所述后端API用于定义引擎调用界面和通讯协议,支持第三方引擎和插件。本专利技术的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种开放的芯片形式验证方法的步骤。本专利技术的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种开放的芯片形式验证方法的步骤。本专利技术的第四方面,提供一种系统,包括云平台和本地终端,所述本地终端输入设计代码并向云平台发送;所述云平台执行所述的一种开放的芯片形式验证方法的步骤,同时向本地终端输出所有步骤的执行结果。区别于现有技术的情况,本专利技术的有益效果是:(1)本专利技术将芯片的验证方法进行模块化,形成了前中后和控制四个模块,各个模块负责相应数据的生成和应用。(2)在本专利技术的优选实施例中,工具的模块化和定义模块之间清晰简洁,用户利用这些API可以获得几乎全部对工具内部数据和操作的控制,并自己开发复杂的形式验证应用。同时,运用控制模块定义的API让用户自己定义多引擎的协调调用以及运用插件方式引入新引擎,使用户拥有定制和二次开发的能力来即时的满足新的需求。附图说明图1是本专利技术一实例性实施例的流程图。具体实施方式下面结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参见图1,图1是本申请一示例性实施例示出的一种开放的芯片形式验证方法的流程图,该方法首先对验证工具进行模块化,形成前端、中端、控制模块和后端,其中,模块化的基础是数据封装,类似于OOP面向目标编程的原则。具体地,所述方法包括如下步骤:S1:代码综合:所述前端获取输入的设计代码,经过解析综合后形成第一阶段的综合数据,生成网表;所述设计代码为描述芯片行为的代码。其中,前端获取(经用户输入)的设计代码指的是待形式验证的芯片的代码。而在本示例性实施例中,对代码进行解析综合的实际定义为:对于高抽象级的芯片代码进行分析,将其讲解为逻辑电路级的芯片模型,或芯片网表。其作用是形成可供后续步骤操作的网表。其中,所述网表通常包括元件的定义和网络的定义。S2:所述中端在所述网表基础上进行建模,生成逻辑模型。其中,在一示例性实施例中,逻辑模型包括:与门、或门、非门、加法器等实现芯片逻辑运算的基本单元或者其组合。而中端针对验证方式进行逻辑建模和优化,具体地,建模和优化包括:消除原芯片代码的多余逻辑,或者将多种逻辑模型转换为少数利于逻辑分析的模型,等等。S3:所述控制模块验证所需的依附于所述逻辑模型的其他数据,包括时钟和复位逻辑的定义、约束断言、属性断言。其中,所述的其他数据表示的是除开步骤S1中所述综合数据的其余数据,其具体可以包括:时钟和复位逻辑的定义,约束断言和属性断言。而控制模块复杂配置不同的验证的方式包括:基于多个验证引擎,通过不同的引擎组合和调用协调方式,形成不同的验证方式。该步骤验证其他数据的作用如下:时钟驱动芯片的逻辑运行,复位决定芯片启动或者中间需要复位时的初始状态,约束断言定义的验证所需的芯片输入行为,属性断言描述了芯片应该满足的,将要被验证的功能。S4:所述后端用于在逻辑模型被运用到各个引擎时,根据对应引擎的算法需求生成针对引擎的模型。其中在本示例性实施例中,所述的引擎指的是验证的底层算法。逻辑模型被运用到各个引擎的具体情况为:每个引擎有自己擅长的逻辑模型,逻辑规模,和属性断言。所有不同的场景需要不同的引擎和引擎组合。而逻辑模型被运用到各个引擎时的实现方式为逻辑模型通过同一的端口送至引擎,引擎经过运算后判断属性断言是否正确。而在又一示例性实施例中,所述前端、中端、控制模块和后端均形成模块界面进行开放,即分别形成前端API、中端API、控制模块API和后端API。而对于每一个API,具体地:(1)前端API,用于对设计源代码结构的查询和操作。前端API为源代码设计规则检验提供辅助,包括提供设计源代码和综合网表的遍历、查询和修改功能,以及提供包括记忆器、状态机、和先入先出的提取在内的常用设计结构。即用户可以将涉及源代码输入至前端API,同时前端API还提供上述提及的功能供用户本文档来自技高网...
【技术保护点】
1.一种开放的芯片形式验证方法,对验证工具进行模块化,形成前端、中端、控制模块和后端,所述方法包括如下步骤:所述前端获取输入的设计代码,经过解析综合后形成第一阶段的综合数据,生成网表;所述设计代码为描述芯片行为的代码;所述中端在所述网表基础上进行建模,生成逻辑模型;所述控制模块验证所需的依附于所述逻辑模型的其他数据,包括时钟和复位逻辑的定义、约束断言、属性断言;所述后端用于在逻辑模型被运用到各个引擎时,根据对应引擎的算法需求生成针对引擎的模型。
【技术特征摘要】
1.一种开放的芯片形式验证方法,对验证工具进行模块化,形成前端、中端、控制模块和后端,所述方法包括如下步骤:所述前端获取输入的设计代码,经过解析综合后形成第一阶段的综合数据,生成网表;所述设计代码为描述芯片行为的代码;所述中端在所述网表基础上进行建模,生成逻辑模型;所述控制模块验证所需的依附于所述逻辑模型的其他数据,包括时钟和复位逻辑的定义、约束断言、属性断言;所述后端用于在逻辑模型被运用到各个引擎时,根据对应引擎的算法需求生成针对引擎的模型。2.根据权利要求1所述的一种开放的芯片形式验证方法其特征在于:所述前端、中端、控制模块和后端均形成模块界面进行开放,即分别形成前端API、中端API、控制模块API和后端API。3.根据权利要求2所述的一种开放的芯片形式验证方法其特征在于:所述前端API为源代码设计规则检验提供辅助,包括提供设计源代码和综合网表的遍历、查询和修改功能,以及提供包括记忆器、状态机、和先入先出的提取在内的常用设计结构。4.根据权利要求2所述的一种开放的芯片形式验证方法,其特征在于:所述中端API提供逻辑模型的遍历、查询和修改,以及针对具体场景的逻辑模型重建;所述中端API还支持针对后端API引擎...
【专利技术属性】
技术研发人员:袁军,
申请(专利权)人:成都奥卡思微电科技有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。