首页> 中国专利> 混合使用多种FPGA芯片的在线FPGA实验平台及其应用方法

混合使用多种FPGA芯片的在线FPGA实验平台及其应用方法

摘要

本发明公开了一种混合使用多种FPGA芯片的在线FPGA实验平台及其应用方法,由上述本发明提供的技术方案可以看出,可以混用多种FPGA芯片和开发板搭建在线FPGA实验平台,FPGA芯片的型号与输入输出连线可以不同。这样在搭建在线FPGA实验平台硬件系统时可以很大程度利用各种型号FPGA芯片,减少购置成本;对在线FPGA实验平台硬件系统升级时,可以方便扩展新型FPGA芯片。用户在使用时,无需详细了解各类FPGA芯片及开发板的接口管脚等差别也无需在本地安装FPGA开发环境和工具链软件,降低了使用门槛;由计算服务器完成对电路设计综合任务,相比个人电脑综合速度显著提升。

著录项

  • 公开/公告号CN112380801A

    专利类型发明专利

  • 公开/公告日2021-02-19

    原文格式PDF

  • 申请/专利权人 中国科学技术大学;

    申请/专利号CN202011414511.X

  • 发明设计人 卢建良;陈翊辉;

    申请日2020-12-03

  • 分类号G06F30/34(20200101);G06F8/61(20180101);

  • 代理机构11260 北京凯特来知识产权代理有限公司;

  • 代理人郑立明;韩珂

  • 地址 230026 安徽省合肥市包河区金寨路96号

  • 入库时间 2023-06-19 09:57:26

说明书

技术领域

本发明涉及在线实验平台技术领域,尤其涉及一种混合使用多种FPGA芯片的在线FPGA实验平台及其应用方法。

背景技术

FPGA芯片及开发板主要应用在数字电路设计领域。通常的FPGA开发需要在开发者个人电脑上安装芯片厂商的电路综合软件eda工具,在个人电脑上运用eda工具进行仿真,又通过下载线烧写字节流文件到FPGA开发板上调式实验。

这种通常流程进行FPGA开发需要每个开发者有FPGA开发板,下载线,需要开发者预先熟悉芯片型号,开发板外设连接等情况;而eda工具又需要较高硬件配置个人电脑,且安装工具环境的设置流程也较为繁琐。

发明内容

本发明的目的是提供一种混合使用多种FPGA芯片的在线FPGA实验平台及其应用方法,在构建平台系统时混合使用多种FPGA芯片及开发板,节约新购FPGA芯片及开发板的搭建成本;同时用户在使用时,无需详细了解各类FPGA芯片及开发板的接口管脚等差别;无需在本地安装FPGA开发环境和工具链软件,使用调试方便灵活。

本发明的目的是通过以下技术方案实现的:

一种混合使用多种FPGA芯片的在线FPGA实验平台应用方法,包括:

接收用户针对FPGA实验设备编辑的相关电路设计程序代码,以及用户选择的相关虚拟外设;

对所述电路设计程序代码进行仿真,如果仿真结果符合预期要求,则对所述电路设计程序代码进行综合编译,综合编译成功时,得到相应的字节流文件并存储;

在用户使用真实下载实验功能时,为用户分配FPGA实验设备,将相应的字节流文件通过FPGA实验设备的单片机烧写至FPGA芯片,并结合用户选定的虚拟外设控制单片机完成信号读写方向配置;之后,接收用户操作虚拟外设时产生的信号,通过单片机转换后由FPGA芯片产生相应输出信号,并反馈给用户。

一种混合使用多种FPGA芯片的在线FPGA实验平台,包括:前端服务器、管理服务器、存储服务器、计算服务器、以及若干FPGA实验设备;其中:

所述前端服务器,用于提供在线FPGA实验平台的网站服务,包括:为用户提供电路设计程序代码的编辑区域、以及虚拟外设选择区域,并将接收的信息发送至计算服务器,以及接收并展示计算服务器反馈的仿真结果与综合编译结果;还用于在用户使用真实下载实验功能时,展示FPGA芯片产生的输出信号;

管理服务器,用于检测和监控各FPGA实验设备的状态,以及为用户分配或者回收FPGA实验设备;

计算服务器,用于对所述电路设计程序代码进行仿真,如果仿真结果符合预期要求,则对所述电路设计程序代码进行综合编译,综合编译成功时,得到相应的字节流文件;还用于在用户使用真实下载实验功能时,为用户分配FPGA实验设备,将相应的字节流文件通过FPGA实验设备的单片机烧写至FPGA芯片,并结合用户选定的虚拟外设控制单片机完成信号读写方向配置;

所述存储服务器,用于存储各FPGA实验设备的相关信息、以及字节流文件;

每一FPGA实验设备包括:单片机与FPGA芯片;单片机在所述计算服务器的控制下将字节流文件烧写至FPGA芯片,以及采集用户操作虚拟外设时产生的信号并进行转换后发送至FPGA芯片,以及采集FPGA芯片产生的输出信号。

由上述本发明提供的技术方案可以看出,可以混用多种FPGA芯片和开发板搭建在线FPGA实验平台,FPGA芯片的型号与输入输出连线可以不同。这样在搭建在线FPGA实验平台硬件系统时可以很大程度利用各种型号FPGA芯片,减少购置成本;对在线FPGA实验平台硬件系统升级时,可以方便扩展新型FPGA芯片。用户在使用时,无需详细了解各类FPGA芯片及开发板的接口管脚等差别也无需在本地安装FPGA开发环境和工具链软件,降低了使用门槛;由计算服务器完成对电路设计综合任务,相比个人电脑综合速度显著提升。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种混合使用多种FPGA芯片的在线FPGA实验平台应用方法的流程图;

图2为本发明实施例提供的前端服务器展示界面示意图;

图3为本发明实施例提供的一种混合使用多种FPGA芯片的在线FPGA实验平台实的示意图。

具体实施方式

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

本发明实施例提供一种混合使用多种FPGA芯片的在线FPGA实验平台应用方法,如图1所示,其主要包括:

1、接收用户针对FPGA实验设备编辑的相关电路设计程序代码,以及用户选择的相关虚拟外设。

本发明实施例中,FPGA实验设备可以是用户自行选择的,也可以是系统任意分配的。

本发明实施例中,用户在实验平台的前端服务器展示的代码编辑区域编辑相关电路设计代码,在前端服务器展示的外设选用区域选择相关的虚拟外设完成连线设计;图2为前端服务器展示界面(网页界面)示意图。

本领域技术人员可以理解,网站界面中所涉及的各类编辑区域,以及后文提到的各类信息展示区域,可以设置在相同或者不同页面中,在各个阶段根据相关信号展示给用户;此外,网页界面中的相关功能按钮的位置区域及大小可以自行设定,不同功能可以通过不同按钮来触发,也可以集成在同一个按钮中,例如,将综合编译与烧录集合在一个按钮(例如,图2中的综合烧录按钮)中。

本领域技术人员可以理解,选择相关的虚拟外设完成连线设计是指完成FPGA芯片与实验外设的连线,具体可以在页面中以绘图的方式完成连线设计。

2、对所述电路设计程序代码进行仿真,如果仿真结果符合预期要求,则对所述电路设计程序代码进行综合编译,综合编译成功时,得到相应的字节流文件并存储。

本发明实施例中,仿真在实验平台的计算服务器实现,仿真方式可通过常规技术实现,仿真结果可以包括波形图等,仿真结果将通过前端服务器展示界面呈现给用户。仿真结果如果不符合预期要求,说明程序代码存在问题,因而需要修改代码直到仿真结果符合预期要求,再进行综合编译。

本发明实施例中,综合编译在实验平台的计算服务器中实现,计算服务器根据前端服务器传输的电路设计程序代码进行综合编译,综合编译的方式可通过常规技术实现。此阶段计算服务器接收到的信息包括:用户信息、FPGA实验设备的芯片型号、电路设计程序代码、以及虚拟外设选用连线数据。信息格式可以表示为:

<用户信息>

<电路设计程序代码>

<虚拟外设选用连线数据>

如果电路设计程序代码存在错误,则反馈给用户编译失败的信息,包括:错误信息1、引起错误1代码行号,错误信息2、引起错误2代码行号,…;告警信息1、引起告警1的代码行号,告警信息2、引起告警2的代码行号,…。此处的省略号是指错误信息、告警信息的数目是不确定的,具体需要根据实际情况考虑,后面的表示形式也表达相同的含义。

用户编译失败的信息格式可以表示为:

<编译失败>

<错误信息1>

<引起错误1的代码行号>

<错误信息2>

<引起错误2的代码行号>

……

<警告信息1>

<引起警告1的代码行号>

<警告信息2>

<引起警告2的代码行号>

由用户针对电路设计程序代码中的错误进行修改后再进行综合编译。

如果电路设计程序代码不存在错误,则综合编译成功,此时可以得到相应的字节流文件。

当然编译成功也可能产生告警,提示潜在的设计问题,比如某些连线没有使用,某些设计比较费资源,某些信号被截断等;此时反馈给用户的信息包括:告警信息1、引起告警1的代码行号,告警信息2、引起告警2的代码行号,…。

相关的信息格式可以表示为:

<编译成功>

<警告信息1>

<引起警告1的代码行号>

<警告信息2>

<引起警告2的代码行号>

此时,用户可以根据实际情况来调整电路设计程序代码,如果进行了调整,可重新进行综合编译以得到新的字节流文件。

本发明实施例中,字节流文件中的信息包括:用户信息、FPGA实验设备的芯片型号、虚拟外设选用连线数据、以及综合编译得到的字节流文件数据,格式表示为:

<用户信息>

<虚拟外设选用连线数据>

<编译得到的字节流文件数据>

3、在用户使用真实下载实验功能时,为用户分配FPGA实验设备,将相应的字节流文件(即通过前文介绍的方式综合编译得到)通过FPGA实验设备的单片机烧写至FPGA芯片,并结合用户选定的虚拟外设控制单片机完成信号读写方向配置;之后,接收用户操作虚拟外设时产生的信号,通过单片机转换后由FPGA芯片产生相应输出信号,并反馈给用户。

本步骤中,完成信号读写方向配置是涉及的信息包括:虚拟外设1、输入节点、输出接口,虚拟外设2、输入节点、输出接口,…;信息的格式可以表示为:

<虚拟外设1>

<输入接口>

<输出接口>

<虚拟外设2>

<输入接口>

<输出接口>

……

本发明实施例中,用户操作虚拟外设是通过前端服务器提供的网页界面来实现,网页界面的区域划分方式、显示方式等都可以根据实际情况自行设计。

本发明另一实施例还提供一种混合使用多种FPGA芯片的在线FPGA实验平台,如图3所示,其主要包括:前端服务器、管理服务器、计算服务器、存储服务器、以及若干FPGA实验设备;其中:

1)所述前端服务器,用于提供在线FPGA实验平台的网站服务,包括:为用户提供电路设计程序代码的编辑区域、以及虚拟外设选择区域,并发送至计算服务器,以及接收并展示计算服务器反馈的仿真结果与综合编译结果;还用于在用户使用真实下载实验功能时,展示FPGA芯片产生的输出信号。

所述前端服务器还可以提供实验调试功能等,此外,前端服务器需要稳定运行网站服务器软件,需要较大网络带宽接入,一种典型的网络带宽是平均每用户使用1mbps。

2)管理服务器,用于检测和监控各FPGA实验设备的状态,还可以提供重启及停止功能,以及为用户分配或者回收FPGA实验设备的功能。

管理服务器需要稳定运行设备检测管理软件,能够检测FPGA实验设备状态,当FPGA实验设备意外终止时可以尝试重启重连。

3)计算服务器,用于对所述电路设计程序代码进行仿真,如果仿真结果符合预期要求,则对所述电路设计程序代码进行综合编译,综合编译成功时,得到相应的字节流文件;还用于在用户使用真实下载实验功能时,为用户分配FPGA实验设备,将相应的字节流文件通过FPGA实验设备的单片机烧写至FPGA芯片,并结合用户选定的虚拟外设控制单片机完成信号读写方向配置。

由于计算服务器,需要完成用户电路设计对应FPGA芯片的综合编译任务,完成用户电路设计对应FPGA芯片的模拟仿真任务,因此,需要较大算力支持,一种典型的算力需求是平均每用户使用时平均4-8cpu计算核心,2-4GB内存。

4)所述存储服务器,用于存储各FPGA实验设备的相关信息(例如设备信号)、以及字节流文件。

实际上,存储服务器可以根据需要存储运行过程所需要的各项信息,例如用户信息,工程和设计代码等。存储服务器需要有大容量快速稳定存储空间,一种典型的存储配额是平均每用户400MB数据。

5)每一FPGA实验设备包括:单片机与FPGA芯片;单片机在所述计算服务器的控制下将字节流文件烧写至FPGA芯片,以及采集用户操作虚拟外设时产生的信号并进行转换后发送至FPGA芯片,以及采集FPGA芯片产生的输出信号。

本发明实施例中,FPGA实验设备可以支持各种常见FPGA芯片及开发板。图3右侧示出了各种不同的实验设备。

该实验平台的工作流程在之前的实验方法介绍中进行了详细说明,故不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将实验平台的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号