CN110311977B - 一种基于云计算的形式验证平台及其方法 - Google Patents
一种基于云计算的形式验证平台及其方法 Download PDFInfo
- Publication number
- CN110311977B CN110311977B CN201910586297.7A CN201910586297A CN110311977B CN 110311977 B CN110311977 B CN 110311977B CN 201910586297 A CN201910586297 A CN 201910586297A CN 110311977 B CN110311977 B CN 110311977B
- Authority
- CN
- China
- Prior art keywords
- client
- cloud
- end module
- cpu
- cloud server
- 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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于云计算的形式验证平台及其方法,平台包括通过网络连接的客户端和云服务端;所述的客户端包括前端模块、中端模块和调配模块,所述的前端模块用于读入和解析芯片设计语言,所述的中端模块用于进行形式化建模,所述的调配模块用于对算法引擎进行组织;所述的云服务端包括引擎后端模块,所述的引擎后端模块用于处理客户端提出的验证需求。本发明通过模块化使本地和云运行模式无缝对接,将大部分和设计直接关联的信息处理以及验证报告和差错均在本地的客户端完成,云服务端仅进行验证运算,既保证了易用性又为用户提供了云计算的可扩展优势。云模式因为客户端和云服务端的隔离,为EDA工具的盗版问题提供了解决方案。
Description
技术领域
本发明涉及形式验证领域,尤其涉及一种基于云计算的形式验证平台及其方法。
背景技术
形式验证,是指从数学上完备地证明或验证电路的实现方案是否确实实现了电路设计所描述的功能。形式验证方法分为等价性验证、模型检验和定理证明等。
芯片的形式验证需要大量的计算资源,除了对问题和算法的优化,算力的提高主要来源于并行计算。现有形式验证的并行运算方式分为两种,单机多核和局域网。云计算虽然已经有了很多应用,但是在电子设计自动化(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提供的一种基于云计算的形式验证平台的系统中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应的技术方案实现原理一致的部分并未详细说明,以免过多赘述。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (9)
1.一种基于云计算的形式验证平台的方法,其特征在于:平台包括通过网络连接的客户端和云服务端;所述的客户端包括前端模块、中端模块和调配模块,所述的前端模块用于读入和解析芯片设计语言,所述的中端模块用于进行形式化建模,所述的调配模块用于对算法引擎进行组织;所述的云服务端包括引擎后端模块,所述的引擎后端模块用于处理客户端提出的验证需求;
方法包括以下步骤:
S1:在客户端上设置云模式,包括:通过客户端主动选择所需的计算资源,包括CPU种类、CPU内存配置和CPU数量;或者利用间接的方式,用对验证任务的分组来决定所需CPU种类、CPU内存配置和CPU数量;
S2:在客户端内,前端模块读入并解析芯片设计语言,在中端模块进行形式化建模,并利用调配模块对云服务器发出使用请求;
S3:云服务端根据所述使用请求建立所需CPU种类、CPU内存配置和CPU数量的私有局域网并设置安全规则,包括IP地址在内的局域网的信息被传回的客户端;
S4:客户端通过TCP/IP和云服务端建立通讯并传输数据;
S5:云服务端的引擎后端模块完成数据验证任务,运行的状态和结果传回客户端;
S6:在验证任务完成后,局域网取消,所有数据被自动删除。
2.根据权利要求1所述的一种基于云计算的形式验证平台的方法,其特征在于:各个模块间使用简介清晰的API界面。
3.根据权利要求2所述的一种基于云计算的形式验证平台的方法,其特征在于:所述的调配模块和引擎后端模块之间的界面采用多种进程间通讯技术,并根据用户对运行模式的选择自动实现。
4.根据权利要求3所述的一种基于云计算的形式验证平台的方法,其特征在于:在本机单核配置下,界面使用回调函数以增加通讯效率;在本机多核配置下,界面采用pipe或本地socket;在局域网运算配置下,采用远程socket和TCP/IP协议。
5.根据权利要求1所述的一种基于云计算的形式验证平台的方法,其特征在于:客户端和云服务端之间通过加密的SSL层进行通讯。
6.根据权利要求1所述的一种基于云计算的形式验证平台的方法,其特征在于:所述的云服务端以虚拟机的形式安装于云服务器上。
7.根据权利要求6所述的一种基于云计算的形式验证平台的方法,其特征在于:当采用亚马逊云AWS时,虚拟机是以主操作系统加平台服务端的镜像保存的。
8.根据权利要求1所述的一种基于云计算的形式验证平台的方法,其特征在于:步骤S5包括以下子步骤:
S51:数据和验证任务由局域网中的主CPU分配到从CPU上运行;
S52:运行的状态和结果在局域网中经过TCP/IP实时传回到主CPU;
S53:主CPU将运行的状态和结果传回到客户端,完成通讯回路。
9.根据权利要求1所述的一种基于云计算的形式验证平台的方法,其特征在于:所述的方法还包括:
S7:验证任务完成后,根据在云服务端使用的CPU种类、CPU内存配置和CPU数量进行收费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910586297.7A CN110311977B (zh) | 2019-07-01 | 2019-07-01 | 一种基于云计算的形式验证平台及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910586297.7A CN110311977B (zh) | 2019-07-01 | 2019-07-01 | 一种基于云计算的形式验证平台及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110311977A CN110311977A (zh) | 2019-10-08 |
CN110311977B true CN110311977B (zh) | 2022-03-08 |
Family
ID=68078036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910586297.7A Active CN110311977B (zh) | 2019-07-01 | 2019-07-01 | 一种基于云计算的形式验证平台及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110311977B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033126A (zh) * | 2021-04-21 | 2021-06-25 | 湖北九同方微电子有限公司 | 基于云计算的移动集成电路设计流程 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN105844014A (zh) * | 2016-03-22 | 2016-08-10 | 广东工业大学 | 基于芯片设计流程和应用设计流程的片上网络编码优化方法 |
CN109299530A (zh) * | 2018-09-12 | 2019-02-01 | 成都奥卡思微电科技有限公司 | 一种仿真测试案例生成方法、系统、存储介质和终端 |
CN109933948A (zh) * | 2019-04-01 | 2019-06-25 | 苏州中晟宏芯信息科技有限公司 | 一种形式验证方法、装置、形式验证平台及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8413103B2 (en) * | 2009-03-13 | 2013-04-02 | Synopsys, Inc. | Execution monitor for electronic design automation |
US9344408B2 (en) * | 2013-04-25 | 2016-05-17 | Onespin Solutions Gmbh | Cloud-basd digital verification system and method |
-
2019
- 2019-07-01 CN CN201910586297.7A patent/CN110311977B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN105844014A (zh) * | 2016-03-22 | 2016-08-10 | 广东工业大学 | 基于芯片设计流程和应用设计流程的片上网络编码优化方法 |
CN109299530A (zh) * | 2018-09-12 | 2019-02-01 | 成都奥卡思微电科技有限公司 | 一种仿真测试案例生成方法、系统、存储介质和终端 |
CN109933948A (zh) * | 2019-04-01 | 2019-06-25 | 苏州中晟宏芯信息科技有限公司 | 一种形式验证方法、装置、形式验证平台及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于"互联网+EDA"技术的IC设计云平台的研究与应用;谢靖;《中国优秀硕士学位论文数据库》;20170630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110311977A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493449B1 (ko) | 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체 | |
CN111459415A (zh) | 跨云数据迁移方法、装置、设备及存储介质 | |
US8990451B2 (en) | Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller | |
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
US20230153158A1 (en) | Method, apparatus, system, and storage medium for performing eda task | |
JP2009123201A (ja) | データを処理するためのサーバ‐プロセッサ・ハイブリッド・システムおよび方法 | |
CN114925644A (zh) | 在边缘系统验证逻辑系统设计的方法、边缘系统 | |
CN114513404A (zh) | 时间敏感网络的配置方法、装置及计算机可读存储介质 | |
CN112527247B (zh) | Led显示控制系统模拟方法、装置以及系统 | |
CN110311977B (zh) | 一种基于云计算的形式验证平台及其方法 | |
CN109507991B (zh) | 一种双轴伺服控制平台调试系统及方法 | |
US9430595B2 (en) | Managing model checks of sequential designs | |
US20090132582A1 (en) | Processor-server hybrid system for processing data | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN110932879B (zh) | 网络性能测试方法、数据处理设备和存储介质 | |
KR102501542B1 (ko) | 블록체인 시스템의 가동 방법, 장치, 설비 및 저장 매체 | |
CN111447273A (zh) | 云处理系统及基于云处理系统的数据处理方法 | |
CN115167985A (zh) | 一种虚拟化的算力提供方法及系统 | |
CN115134281A (zh) | 一种网络耗源型组件性能测试优化方法、系统及装置 | |
CN112968812A (zh) | 一种网络性能测试方法、装置、设备及存储介质 | |
CN115174461B (zh) | 一种基于网络请求的系统测试方法以及装置 | |
WO2023035147A1 (en) | Data processing method of industry edge product and distributed computing protocol engine thereof | |
US20070288884A1 (en) | Managing non-essential formatting elements peculiar to individual program developers in source code in a system for shared computer program development | |
JP7159136B2 (ja) | システム実行支援方法および装置 | |
CN116594951B (zh) | 一种基于fpga的数据传输系统及方法 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Yuan Jun Inventor after: Peng Bin Inventor before: Yuan Jun |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |