一种基于FPGA云平台的硬仿验证流程实现的方法技术

技术编号:37054968 阅读:16 留言:0更新日期:2023-03-29 19:31
本发明专利技术公开了一种基于FPGA云平台的硬仿验证流程实现的方法,客户端采用加密方式将用户设计的源码文件上传至云平台;云平台编译综合源码文件,生成实例树和资源占用情况;在客户端指定全局实例,将用户设计的实例拆分成小的实例模块;云平台根据拆分的实例模块,生成不同模块之间的信号流图;用户在遵循一定的原则下通过客户端操作将拆分的实例模块划分到不同的FPGA内;通过客户端指定不同FPGA之间信号的属性,配置连接端口,插入探针;云平台服务器生成FPGA子工程top文件,并编译生成子工程的位流;在客户端配置触发条件,部署运行仿真程序,调试查看波形数据。以满足大型芯片设计的硬件仿真的验证需求,自动化程度高。自动化程度高。自动化程度高。

【技术实现步骤摘要】
一种基于FPGA云平台的硬仿验证流程实现的方法


[0001]本专利技术属于电子设计自动化
,特别是涉及一种基于FPGA云平台的硬仿验证流程实现的方法。

技术介绍

[0002]随着芯片的设计规模越来越大,单FPGA因其资源限制,无法满足大规模芯片设计的验证需求,加之FPGA价格昂贵,使得基于FPGA的硬件仿真云平台(以下简称云平台)应运而生,云平台提供提供划分、映射、部署、调试等服务,既能为大型芯片设计的验证提供服务,也能为小规模的芯片设计提供验证服务。
[0003]云平台管理多FPGA,多FPGA之间通过其特殊的链接保证多个FPGA之间能协同工作,但是很多部分需要手动配置,自动化程度低。

技术实现思路

[0004]针对以上技术问题,本专利技术提供一种基于FPGA云平台的硬仿验证流程实现的方法。
[0005]本专利技术解决其技术问题采用的技术方案是:一种基于FPGA云平台的硬仿验证流程实现的方法,方法包括以下步骤:S100:客户端获取用户设计的源码文件,并通过加密方式上传至云平台服务器;S200:云平台服务器对源码文件进行编译综合,生成实例树,并获取实例树中各节点的资源占用情况,将实例树和实例树中各节点的资源占用情况返回至客户端;S300:客户端接收用户根据实例树和实例树中各节点的资源占用情况输入的全局实例指定指令和划分指令,根据全局实例指定指令指定全局实例,根据划分指令将实例树拆分成多个实例模块;S400:云平台服务器根据全局实例和拆分的多个实例模块生成不同模块之间的信号流图;S500:获取不同的FPGA的资源占用情况,客户端接收用户根据不同模块之间的信号流图、实例树中各节点的资源占用情况、不同的FPGA的资源占用情况以及预设的信号传输需求输入的配置指令,根据配置指令将拆分的多个实例模块配置到不同的FPGA内并指定不同FPGA之间的信号的属性,根据不同FPGA之间的信号的属性配置连接端口并插入探针,得到中间文件并发送至云平台服务器;S600:云平台服务器根据中间文件生成FPGA子工程top文件,并编译FPGA子工程top文件生成子工程的位流;S700:客户端接收用户配置的波形数据读取触发条件并发送至云平台服务器,云平台服务器部署运行仿真程序,当满足波形数据读取触发条件时,调试查看波形数据。
[0006]优选地,S400包括:S410:获取多个实例模块的信号,并通过预设的编译综合工具编译综合成网表;
S420:根据网表确定实例模块之间所有信号的连接关系,生成不同模块之间的信号流图。
[0007]优选地,配置指令包括FPGA配置指令和信号属性配置指令,S500包括:S510:获取不同的FPGA的资源占用情况,客户端接收用户根据不同模块之间的信号流图、实例树中各节点的资源占用情况和不同的FPGA的资源占用情况输入的FPGA配置指令,根据FPGA配置指令将拆分的多个实例模块配置到不同的FPGA内;S520:客户端接收用户根据预设的信号传输需求输入的信号属性配置指令,根据信号属性配置指令指定不同FPGA之间的信号的属性,根据不同FPGA之间的信号的属性配置连接端口并插入探针,得到中间文件并发送至云平台服务器。
[0008]优选地,S510中FPGA的资源占用要大于配置到当前FPGA中的所有实例模块的资源总占用。
[0009]优选地,S520中信号的属性包括data信号,valid信号和release信号。
[0010]优选地,S700之后还包括:若波形数据未达到预期要求,则分析对应的波形数据,根据分析结果修改源码文件,并返回S100,直至波形数据达到预期要求。
[0011]优选地,S100之前还包括:客户端接收用户输入的账号和密码并发送至云平台服务器;云平台服务器根据账号和密码进行验证得到登录状态,并将登录状态返回至客户端进行显示。
[0012]上述一种基于FPGA云平台的硬仿验证流程实现的方法,以满足大型芯片设计的硬件仿真的验证需求,将大型设计拆分成小的模块部署到不同的FPGA上,利用FPGA之间的协同仿真自动化完成大型芯片设计的验证工作,自动化程度高,采用云平台可以满足多用户需求,对不同的用户提供服务。
附图说明
[0013]图1为本专利技术一实施例中一种基于FPGA云平台的硬仿验证流程实现的方法流程图;图2为本专利技术另一实施例中一种基于FPGA云平台的硬仿验证流程实现的方法流程图;图3为本专利技术一实施例中的划分后的实例树的示意图。
具体实施方式
[0014]为了使本
的人员更好地理解本专利技术的技术方案,下面结合附图对本专利技术作进一步的详细说明。
[0015]在一个实施例中,如图1和图2所示,一种基于FPGA云平台的硬仿验证流程实现的方法,方法包括以下步骤:S100:客户端获取用户设计的源码文件,并通过加密方式上传至云平台服务器。
[0016]具体地,用户设计的源码文件是指用硬件描述语言编写的源码,例如verilog编写的.v文件,用于完成芯片的功能设计。
[0017]在一个实施例中,S100之前还包括:客户端接收用户输入的账号和密码并发送至云平台服务器;云平台服务器根据账号和密码进行验证得到登录状态,并将登录状态返回至客户端进行显示。
[0018]具体地,云平台服务根据账号和密码进行验证,验证通过后登录状态为登录成功,将登录成功的状态返回至客户端进行显示,若验证未通过则登录状态为登录失败,将登录失败的状态返回至客户端进行显示。
[0019]S200:云平台服务器对源码文件进行编译综合,生成实例树,并获取实例树中各节点的资源占用情况,将实例树和实例树中各节点的资源占用情况返回至客户端。
[0020]S300:客户端接收用户根据实例树和实例树中各节点的资源占用情况输入的全局实例指定指令和划分指令,根据全局实例指定指令指定全局实例,根据划分指令将实例树拆分成多个实例模块。
[0021]S400:云平台服务器根据全局实例和拆分的多个实例模块生成不同模块之间的信号流图。
[0022]在一个实施例中,S400包括:S410:获取多个实例模块的信号,并通过预设的编译综合工具编译综合成网表;S420:根据网表确定实例模块之间所有信号的连接关系,生成不同模块之间的信号流图。
[0023]具体地,实例模块之间所有信号的连接关系包括信号的输入和输出,预设的编译综合工具为verific软件。
[0024]S500:获取不同的FPGA的资源占用情况,客户端接收用户根据不同模块之间的信号流图、实例树中各节点的资源占用情况、不同的FPGA的资源占用情况以及预设的信号传输需求输入的配置指令,根据配置指令将拆分的多个实例模块配置到不同的FPGA内并指定不同FPGA之间的信号的属性,根据不同FPGA之间的信号的属性配置连接端口并插入探针,得到中间文件并发送至云平台服务器。
[0025]在一个实施例中,配置指令包括FPGA配置指令和信号属性配置指令,S500包括:S510:获取不同的FPG本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA云平台的硬仿验证流程实现的方法,其特征在于,所述方法包括以下步骤:S100:客户端获取用户设计的源码文件,并通过加密方式上传至云平台服务器;S200:所述云平台服务器对所述源码文件进行编译综合,生成实例树,并获取所述实例树中各节点的资源占用情况,将所述实例树和所述实例树中各节点的资源占用情况返回至所述客户端;S300:所述客户端接收用户根据所述实例树和所述实例树中各节点的资源占用情况输入的全局实例指定指令和划分指令,根据所述全局实例指定指令指定全局实例,根据所述划分指令将所述实例树拆分成多个实例模块;S400:所述云平台服务器根据全局实例和拆分的多个实例模块生成不同模块之间的信号流图;S500:获取不同的FPGA的资源占用情况,所述客户端接收用户根据所述不同模块之间的信号流图、所述实例树中各节点的资源占用情况、所述不同的FPGA的资源占用情况以及预设的信号传输需求输入的配置指令,根据所述配置指令将拆分的多个实例模块配置到不同的FPGA内并指定不同FPGA之间的信号的属性,根据所述不同FPGA之间的信号的属性配置连接端口并插入探针,得到中间文件并发送至所述云平台服务器;S600:所述云平台服务器根据所述中间文件生成FPGA子工程top文件,并编译所述FPGA子工程top文件生成子工程的位流;S700:所述客户端接收用户配置的波形数据读取触发条件并发送至所述云平台服务器,所述云平台服务器部署运行仿真程序,当满足所述波形数据读取触发条件时,调试查看波形数据。2.根据权利要求1所述的方法,其特征在于,S400包括:S410:获取多个实例模块的信号,并...

【专利技术属性】
技术研发人员:赵仕俊周国庆
申请(专利权)人:湖南泛联新安信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1