一种基于云计算的形式验证平台及其方法与流程

文档序号:18823620发布日期:2019-10-09 01:11阅读:206来源:国知局
一种基于云计算的形式验证平台及其方法与流程

本发明涉及形式验证领域,尤其涉及一种基于云计算的形式验证平台及其方法。



背景技术:

形式验证,是指从数学上完备地证明或验证电路的实现方案是否确实实现了电路设计所描述的功能。形式验证方法分为等价性验证、模型检验和定理证明等。

芯片的形式验证需要大量的计算资源,除了对问题和算法的优化,算力的提高主要来源于并行计算。现有形式验证的并行运算方式分为两种,单机多核和局域网。云计算虽然已经有了很多应用,但是在电子设计自动化(eda)领域还的应用还仅局限于大型的仿真,而其商业模式仍然是年许可证的形式,即算力受到事先的工具采购额度的限制,并不能发挥云计算的弹性和实时扩展的优势。除此之外,传统eda工具和平台必须全部部署在客户端的方式为盗版提供了机会。而云计算则彻底解决的盗版的问题。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于云计算的形式验证平台及其方法,在云运行模式下计算资源可以随意调配,不受限制。

本发明的目的是通过以下技术方案来实现的:一种基于云计算的形式验证平台,包括通过网络连接的客户端和云服务端;所述的客户端包括前端模块、中端模块和调配模块,所述的前端模块用于读入和解析芯片设计语言,所述的中端模块用于进行形式化建模,所述的调配模块用于对算法引擎进行组织;所述的云服务端包括引擎后端模块,所述的引擎后端模块用于处理客户端提出的验证需求。

进一步地,各个模块间使用简介清晰的api界面。

进一步地,所述的调配模块和引擎后端模块之间的界面采用多种进程间通讯技术,并根据用户对运行模式的选择自动实现。

进一步地,在本机单核配置下,界面使用回调函数以增加通讯效率;在本机多核配置下,界面采用pipe或本地socket;在局域网运算配置下,采用远程socket和tcp/ip协议。

进一步地,客户端和云服务端之间通过加密的ssl层进行通讯。

进一步地,所述的云服务端以虚拟机的形式安装于云服务器上。

进一步地,当采用亚马逊云aws时,虚拟机是以主操作系统加平台服务端的镜像保存的。

本发明还提供采用所述的一种基于云计算的形式验证平台的方法,包括以下步骤:

s1:在客户端上设置云模式,包括:通过客户端主动选择所需的计算资源,包括cpu种类、cpu内存配置和cpu数量;或者利用间接的方式,用对验证任务的分组来决定所需cpu种类、cpu内存配置和cpu数量;

s2:在客户端内,前端模块读入并解析芯片设计语言,在中端模块进行形式化建模,并利用调配模块对云服务器发出使用请求;

s3:云服务端根据所述使用请求建立所需cpu种类、cpu内存配置和cpu数量的局域网并设置安全规则,包括ip地址在内的局域网的信息被传回的客户端;

s4:客户端通过tcp/ip和云服务端建立通讯并传输数据;

s5:云服务端的引擎后端模块完成数据验证任务,运行的状态和结果传回客户端;

s6:在验证任务完成后,局域网取消,所有数据被自动删除。

进一步地,步骤s5包括以下子步骤:

s51:数据和验证任务由局域网中的主cpu分配到从cpu上运行;

s52:运行的状态和结果在局域网中经过tcp/ip实时传回到主cpu;

s53:主cpu将运行的状态和结果传回到客户端,完成通讯回路。

进一步地,所述的方法还包括:

s7:验证任务完成后,根据在云服务端使用的cpu种类、cpu内存配置和cpu数量进行收费。

本发明的有益效果是:本发明通过模块化使本地和云运行模式无缝对接,将大部分和设计直接关联的信息处理以及验证报告和差错均在本地的客户端完成,云服务端仅进行验证运算,既保证了易用性又为用户提供了云计算的可扩展优势。云模式因为客户端和云服务端的隔离,为eda工具的盗版问题提供了解决方案。

附图说明

图1为本发明平台结构框图;

图2为本发明方法流程图。

具体实施方式

下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本实施例提供一种基于云计算的形式验证平台,通过模块化使本地和云运行模式无缝对接,将大部分和设计直接关联的信息处理以及验证报告和差错均在本地的客户端完成,云服务端仅进行验证运算,既保证了易用性又为用户提供了云计算的可扩展优势。同时软件服务(saas)为eda工具提供一个新商业模式,更从根本上解决了盗版问题。

具体地,在现有技术中,读入和解析芯片设计语言的前端模块、进行形式化建模的中端模块、对算法引擎进行组织的调配模块和引擎所在的引擎后端模块,这几个模块均组成一个整体安装在用户本机上或局域网中。使得用户的计算资源仅限于本地资源,并且很容易产生盗版问题。

而在本实施例中,如图1所示,所述的平台包括通过网络连接的客户端和云服务端;所述的客户端包括前端模块、中端模块和调配模块,所述的前端模块用于读入和解析芯片设计语言,所述的中端模块用于进行形式化建模,所述的调配模块用于对算法引擎进行组织;所述的云服务端包括引擎后端模块,所述的引擎后端模块用于处理客户端提出的验证需求。

其中前端模块、中端模块和调配模块可以看作是用户和设计/验证进行交互的客户端,而后端则是处理用户提出的验证需求的服务端。

更优地,在本实施例中,不仅对形式验证平台进行模块化,并且在各个模块间使用简介清晰的api界面。

因此,基于上述优选实施例的实现,在本实施例中,所述的调配模块和引擎后端模块之间的界面采用多种进程间通讯技术,并根据用户对运行模式的选择自动实现。具体地:在本机单核配置下,界面使用回调函数以增加通讯效率;在本机多核配置下,界面采用pipe或本地socket;在局域网运算配置下,采用远程socket和tcp/ip协议。

具体地,用户对于运算配置的控制主要基于对引擎的选择,比如单核引擎和多核并行引擎。多核引擎的情况下,用户可以通对从属引擎的选择来影响并行程度,一个简单的规则是一个从属引擎会占用一个核,这也适用于局域网和远程,比如云的运行环境。本发明还提供另外一个并行度控制参数,即对验证任务的分组。组与组之间也是并行关系。比如用户选四个从属引擎,验证任务分为两组,那么并行度为八。

更优地,在本实施例中,客户端和云服务端之间通过加密的ssl层进行通讯。另外,用户可以选择二次加密进行数据传输。

更优地,在本实施例中,所述的云服务端以虚拟机的形式安装于云服务器上。同时,在本实施例中,当采用亚马逊云aws时,虚拟机是以主操作系统加平台服务端的镜像保存的。

实施例2

本实施例提供采用如实施例1中所述的一种基于云计算的形式验证平台的方法,该方法具有与实施例1中相同的发明构思,通过模块化使本地和云运行模式无缝对接,将大部分和设计直接关联的信息处理以及验证报告和差错均在本地的客户端完成,云服务端仅进行验证运算,既保证了易用性又为用户提供了云计算的可扩展优势。同时软件服务(saas)为eda工具提供一个新商业模式,更从根本上解决了盗版问题。另外,在本实施例中,针对每次验证生成私有云,保证了运算力的可朔性和信息安全性。

具体地,如图2所示,所述的方法包括以下步骤:

s1:在客户端上设置云模式,包括:通过客户端主动选择所需的计算资源,包括cpu种类、cpu内存配置和cpu数量;或者利用间接的方式,用对验证任务的分组来决定所需cpu种类、cpu内存配置和cpu数量。

任务分组间接方法见前述。而cpu类型,内存等是云的选项。数目可以用户选,也可以根据并行度自动选择。

另外,在本实施例的一个优选实施方式中,还提供有本地模式,即客户端进行所有操作。具体地,s1’:在客户端上设置本地模式后,在客户端上完成前端解析、中端建模、调配请求和数据验证。

在步骤s1’之后,不进行后续操作。

s2:在客户端内,前端模块读入并解析芯片设计语言,在中端模块进行形式化建模,并利用调配模块对云服务器发出使用请求。

具体地,在本实施例中,使用请求包括加密的设计模型和验证任务,以及前述的引擎,分组,及cpu,内存,及cpu数量的配置。

另外,本实施例采用亚马逊云aws时,在aws上使用远程调用函数(rpc)进行使用请求的发送。

s3:云服务端根据所述使用请求建立所需cpu种类、cpu内存配置和cpu数量的局域网并设置安全规则,包括ip地址在内的局域网的信息被传回的客户端。

在该步骤中,针对每次验证生成私有云,保证了运算力的可朔性和信息安全性。

具体地,用户必须定义安全规则,缺损情况下任何操作都是被禁止的。安全规则可以针对输入和输出做不同的设置,每一组规则可以取名保存。每次使用可以选择不同的设置组。对于输入和输出,安全规则可以包括,但不限于以下几类:1)种类,比如ssh,http,或其它用户定义协议;2)协议,比如tcp或udp等,3)端口范围,规定输入输出端口,4)来源,指定可以访问云的ip地址。

s4:客户端通过tcp/ip和云服务端建立通讯并传输数据。

s5:云服务端的引擎后端模块完成数据验证任务,运行的状态和结果传回客户端。

更优地,在本实施例中,步骤s5包括以下子步骤:

s51:数据和验证任务由局域网中的主cpu分配到从cpu上运行;

s52:运行的状态和结果在局域网中经过tcp/ip实时传回到主cpu;

s53:主cpu将运行的状态和结果传回到客户端,完成通讯回路。

s6:在验证任务完成后,局域网取消,所有数据被自动删除。

更优地,在本实施例中,所述的方法还包括:

s7:验证任务完成后,根据在云服务端使用的cpu种类、cpu内存配置和cpu数量进行收费。

该步骤可直接在步骤s3中进行回传,当用户付费完成后,才进入步骤s4。另外,基于上述优选实施例的内容,需要用户在设置云模式之时,进行用户登录操作。

因此,从上述内容可以看出,本地运行和云运行只是本实施例验证平台的两种模式,而只和客户端打交道的用户体验不会有任何不同,除了云运行模式下计算资源可以随意调配,不受限制。

本发明实施例提供的一种基于云计算的形式验证平台的方法中相关部分的说明请参见本发明实施例1提供的一种基于云计算的形式验证平台的系统中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应的技术方案实现原理一致的部分并未详细说明,以免过多赘述。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1