掌桥专利:专业的专利平台
掌桥专利
首页

自动评测的在线FPGA实验平台及相关方法

文献发布时间:2023-06-19 09:57:26


自动评测的在线FPGA实验平台及相关方法

技术领域

本发明涉及在线实验平台,尤其涉及一种自动评测的在线FPGA实验平台及相关方法。

背景技术

FPGA芯片及开发板主要应用在数字电路设计领域。通常的FPGA开发需要在开发者个人电脑上安装芯片厂商的电路综合软件eda工具,在个人电脑上运用eda工具进行仿真,又通过下载线烧写字节流文件到FPGA开发板上调式实验。而利用FPGA开发板进行的教学实验通常需要学生在本地个人电脑完成设计,通过下载线烧写至FPGA开发板后,请求教师手工检查正确性。现有的在线评测功能的教学实验系统主要可以用于客观题,或软件程序测试等,缺少对硬件电路实验的支持。

发明内容

本发明的目的是提供一种自动评测的在线FPGA实验平台及相关方法,运用在线自动化评测,测试覆盖全面,以此测试结果打分更科学,减少教师手工评测的工作量。

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

一种自动评测的在线FPGA实验平台实现方法,包括:

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

对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,根据用户的提交的评测请求,对所述电路设计程序代码进行综合编译;

通过实验测试例执行程序将综合编译得到的硬件设计源文件烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果;

通过实验评测打分程序综合所有运行测试结果计算总评分数。

一种自动评测的在线FPGA实验平台,包括:前端服务器、管理服务器、存储服务器、计算服务器、以及若干FPGA实验设备;其中:

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

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

计算服务器,计算服务器,用于对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,对所述电路设计程序代码进行综合编译,得到硬件设计源文件;通过实验测试例执行程序将综合编译得到的硬件设计源文件烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果;

每一FPGA实验设备包括:单片机与FPGA芯片;单片机在所述计算服务器的控制下将硬件设计源文件烧写至FPGA芯片。

由上述本发明提供的技术方案可以看出,在FPGA在线实验平台上集成自动化评测打分的功能;学生用户在完成实验时,无需在本地个人电脑搭建开发环境;在完成设计后也不需要下载到FPGA开发板;由实验平台自动化评测系统自动完成烧写,测试,打分的工作。

附图说明

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

图1为本发明实施例提供的一种自动评测的在线FPGA实验平台实现方法的流程图;

图2为本发明实施例提供的前端服务器展示的代码编辑区域与外设选用区域的示意图;

图3为本发明实施例提供的信息展示区域的示意图;

图4为本发明实施例提供的一种自动评测的在线FPGA实验平台的示意图。

具体实施方式

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

一种自动评测的在线FPGA实验平台实现方法,如图1所示,其主要包括:

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

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

本发明实施例中的在线FPGA实验平台通过前端服务器来提供网站服务,用户在实验平台的前端服务器展示的代码编辑区域编辑相关电路设计代码,在前端服务器展示的外设选用区域选择相关的虚拟外设。图2为前端服务器提供的网站界面示意图。

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

2、对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,根据用户的提交的评测请求,对所述电路设计程序代码进行综合编译。

本发明实施例中,仿真在实验平台的计算服务器实现,仿真方式可通过常规技术实现,仿真结果可以包括波形图等,如图3所示,仿真结果将通过前端服务器的信息展示区域呈现给用户。用户可以根据仿真结果是否符合预期要求,来修改电路设计程序代码,当符合预期要求后,进行综合编译。

3、通过实验测试例执行程序将综合编译得到的硬件设计源文件(字节流文件)烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果。

本发明实施例中,通过实验测试例解析器程序,解析由教师管理员编写的实验测试例,生成实验测试运行程序脚本。这一操作可以预先完成,也可以执行综合编译后再进行,或者与综合编译同步执行,具体可以由用户自行设定,本发明不做限定。

之后,将硬件设计源文件烧写至FPGA实验设备,再执行实验测试运行程序脚本,得到各测试点运行测试结果;此阶段所涉及的操作可以通过实验测试例执行程序来完成。

本发明实施例中,实验测试例的内容包括:题目描述、接口规定、设计源文件模板、以及若干测试点的相关信息;每一测试点的相关信息包括:分数值、时间戳、端口号及相关信号、预期输出、输出端口号及相关信号。

以一个与门电路的实验测试为例,其格式为:

上述省略号是指测试点的数目是不确定的,具体需要根据实际情况考虑;同样的,上述格式中还提供了以verilog为例的设计文件模板,具体的模版类型可根据实际情况考虑。

4、通过实验评测打分程序综合所有运行测试结果计算总评分数。

同样的,可以通过信息展示区域将各测试点的测试结果以及总评分数展示给用户,同时,可以将测试结果与标准结果使用不同颜色绘制,方便查看与标准结果不同之处,便于实验调试。

本发明实施例中,上述步骤2~4所涉及的各项计算均在计算服务器中完成,所涉及的各项程序也装载于计算服务器内;计算服务器通过计算所产生的各项信息或者计算所必须的信息都存储于存储服务器中。

本发明实施例上述方案,获得如下有益效果:

1)学生用户在使用FPGA在线实验平台时,无需详细了解各类FPGA芯片及开发板的接口管脚等差别也无需在本地安装FPGA开发环境和工具链软件,降低了使用门槛;由计算服务器完成对电路设计综合任务,相比个人电脑综合速度显著提升。

2)通过设计源文件模版规定了各实验硬件电路设计的接口标准,有助于学生用户养成较好的硬件电路接口设计编程习惯。

3)运用在线自动化评测,测试覆盖全面,以此测试结果打分更科学。减少教师手工评测的工作量。测试结果直接反馈,运行测试结果和标准结果使用不同颜色绘制,方便查看与标准结果不同之处,便于实验调试。

本发明实施例还提供一种自动评测的在线FPGA实验平台,如图4所示,其主要,包括:前端服务器、管理服务器、存储服务器、计算服务器、以及若干FPGA实验设备;其中:

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

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

2)所述前端服务器,用于接收用户针对FPGA实验设备编辑的相关电路设计程序代码,以及用户选择的相关虚拟外设。

此外,所述前端服务器,提供了在线FPGA实验平台的网站服务,能够展示代码编辑区域编辑、外设选用区域、以及信息展示区域;用户在实验平台的前端服务器展示的代码编辑区域编辑相关电路设计代码,在前端服务器展示的外设选用区域选择相关的虚拟外设;通过信息展示区域展示仿真结果、各测试点运行测试结果以及总评分数。

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

3)计算服务器,计算服务器,用于对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,对所述电路设计程序代码进行综合编译,得到硬件设计源文件;通过实验测试例执行程序将综合编译得到的硬件设计源文件烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果。计算服务器还装载有实验测试例解析器程序,通过实验测试例解析器程序,解析由教师管理员编写的实验测试例,生成实验测试运行程序脚本。

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

4)每一FPGA实验设备包括:单片机与FPGA芯片;单片机在所述计算服务器的控制下将硬件设计源文件烧写至FPGA芯片。此外,单片机还进行信号发生用于模拟虚拟外设的操作行为,对电路设计的输出采集,通过前端服务器显示为虚拟外设行为。FPGA实验设备可以支持各种常见FPGA芯片及开发板。

5)存储服务器。

所述存储服务器,用于存储所述硬件设计源文件、以及各测试点运行测试结果。还存储用户信息、各FPGA设备的型号信息、以及计算服务器运行所必须的数据信息等。存储服务器需要有大容量快速稳定存储空间,一种典型的存储配额是平均每用户400MB数据,平均每用户每个实验20MB数据。

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

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

相关技术
  • 自动评测的在线FPGA实验平台及相关方法
  • 基于FPGA在线实验平台的PS/2键盘鼠标接口在线实验方法
技术分类

06120112362571