CN112380800B - 自动评测的在线fpga实验平台及相关方法 - Google Patents

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

Info

Publication number
CN112380800B
CN112380800B CN202011405139.6A CN202011405139A CN112380800B CN 112380800 B CN112380800 B CN 112380800B CN 202011405139 A CN202011405139 A CN 202011405139A CN 112380800 B CN112380800 B CN 112380800B
Authority
CN
China
Prior art keywords
experimental
fpga
test
platform
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
Application number
CN202011405139.6A
Other languages
English (en)
Other versions
CN112380800A (zh
Inventor
卢建良
陈翊辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202011405139.6A priority Critical patent/CN112380800B/zh
Publication of CN112380800A publication Critical patent/CN112380800A/zh
Application granted granted Critical
Publication of CN112380800B publication Critical patent/CN112380800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种自动评测的在线FPGA实验平台及相关方法,在FPGA在线实验平台上集成自动化评测打分的功能;学生用户在完成实验时,无需在本地个人电脑搭建开发环境;在完成设计后也不需要下载到FPGA开发板;由实验平台自动化评测系统自动完成烧写,测试,打分的工作。

Description

自动评测的在线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数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将实验平台的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (8)

1.一种自动评测的在线FPGA实验平台实现方法,其特征在于,包括:
接收用户针对FPGA实验设备编辑的相关电路设计程序代码,以及用户选择的相关虚拟外设;
对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,根据用户的提交的评测请求,对所述电路设计程序代码进行综合编译;
通过实验测试例执行程序将综合编译得到的硬件设计源文件烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果;其中,所述实验测试例的内容包括:题目描述、接口规定、设计源文件模板、以及若干测试点的相关信息;每一测试点的相关信息包括:分数值、时间戳、端口号及相关信号、预期输出、输出端口号及相关信号;
通过实验评测打分程序综合所有运行测试结果计算总评分数。
2.根据权利要求1所述的一种自动评测的在线FPGA实验平台实现方法,其特征在于,通过实验测试例解析器程序,解析由教师管理员编写的实验测试例,生成实验测试运行程序脚本。
3.根据权利要求1所述的一种自动评测的在线FPGA实验平台实现方法,其特征在于,用户在实验平台的前端服务器展示的代码编辑区域编辑相关电路设计代码,在前端服务器展示的外设选用区域选择相关的虚拟外设,通过实验平台的前端服务器的信息展示区域展示仿真结果、各测试点运行测试结果以及总评分数。
4.根据权利要求1所述的一种自动评测的在线FPGA实验平台实现方法,其特征在于,所述硬件设计源文件、以及各测试点运行测试结果均存储在存储服务器中。
5.一种自动评测的在线FPGA实验平台,其特征在于,包括:前端服务器、管理服务器、存储服务器、计算服务器、以及若干FPGA实验设备;其中:
所述管理服务器,用于检测和监控各FPGA实验设备的状态,以及为用户分配或者回收FPGA实验设备;
所述前端服务器,用于接收用户针对FPGA实验设备编辑的相关电路设计程序代码,以及用户选择的相关虚拟外设;
计算服务器,计算服务器,用于对所述电路设计程序代码进行仿真,当仿真结果符合预期要求时,对所述电路设计程序代码进行综合编译,得到硬件设计源文件;通过实验测试例执行程序将综合编译得到的硬件设计源文件烧写至FPGA实验设备,并执行实验测试运行程序脚本,得到各测试点运行测试结果;其中,所述实验测试例的内容包括:题目描述、接口规定、设计源文件模板、以及若干测试点的相关信息;每一测试点的相关信息包括:分数值、时间戳、端口号及相关信号、预期输出、输出端口号及相关信号;
每一FPGA实验设备包括:单片机与FPGA芯片;单片机在所述计算服务器的控制下将硬件设计源文件烧写至FPGA芯片。
6.根据权利要求5所述的一种自动评测的在线FPGA实验平台,其特征在于,计算服务器装载有实验测试例解析器程序,通过实验测试例解析器程序,解析由教师管理员编写的实验测试例,生成实验测试运行程序脚本。
7.根据权利要求5所述的一种自动评测的在线FPGA实验平台,其特征在于,
所述前端服务器,提供了在线FPGA实验平台的网站服务,能够展示代码编辑区域编辑、外设选用区域、以及各类信息展示区域;用户在实验平台的前端服务器展示的代码编辑区域编辑相关电路设计代码,在前端服务器展示的外设选用区域选择相关的虚拟外设;通过信息展示区域展示仿真结果、各测试点运行测试结果以及总评分数。
8.根据权利要求5所述的一种自动评测的在线FPGA实验平台,其特征在于,还包括存储服务器,用于存储所述硬件设计源文件、以及各测试点运行测试结果。
CN202011405139.6A 2020-12-03 2020-12-03 自动评测的在线fpga实验平台及相关方法 Active CN112380800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011405139.6A CN112380800B (zh) 2020-12-03 2020-12-03 自动评测的在线fpga实验平台及相关方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011405139.6A CN112380800B (zh) 2020-12-03 2020-12-03 自动评测的在线fpga实验平台及相关方法

Publications (2)

Publication Number Publication Date
CN112380800A CN112380800A (zh) 2021-02-19
CN112380800B true CN112380800B (zh) 2024-03-29

Family

ID=74590131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011405139.6A Active CN112380800B (zh) 2020-12-03 2020-12-03 自动评测的在线fpga实验平台及相关方法

Country Status (1)

Country Link
CN (1) CN112380800B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744606A (zh) * 2021-08-11 2021-12-03 南通大学 一种嵌入式人工智能实验平台
CN114661614B (zh) * 2022-04-11 2024-08-23 浙江大学 面向云环境的fpga硬件设计能力评测系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104821121A (zh) * 2015-04-21 2015-08-05 东南大学 基于局域网和fpga的远程电路设计硬件实验系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104821121A (zh) * 2015-04-21 2015-08-05 东南大学 基于局域网和fpga的远程电路设计硬件实验系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张磊 ; 齐悦 ; 何杰 ; 郑榕 ; 王建萍 ; .工程教育认证背景下的数字逻辑在线自动评测实验系统.教育现代化.2020,(36),全文. *
胡迪青 ; 谭志虎 ; 秦磊华 ; .计算机专业硬件实验自动评测系统设计与实现.电气电子教学学报.2020,(04),全文. *

Also Published As

Publication number Publication date
CN112380800A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
Burg et al. Interactive record/replay for web application debugging
CA1273487A (en) Multi-mode teaching simulator
US4696003A (en) System for testing interactive software
CN112380800B (zh) 自动评测的在线fpga实验平台及相关方法
KR20070061535A (ko) 그래픽 사용자 인터페이스를 갖는 컴퓨터 프로그램과상호작용하도록 개인을 교육하는 시스템 및 방법
CN1716264B (zh) 利用控制程序信息注释并呈现系统踪迹的方法和系统
US7895575B2 (en) Apparatus and method for generating test driver
US8271252B2 (en) Automatic verification of device models
US20150242297A1 (en) Method and system for testing of applications in asset management software
CN108664380A (zh) 一种带性能显示的执行后软件调试系统及调试方法
Hesenius et al. Automating UI tests for mobile applications with formal gesture descriptions
WO2012056472A1 (en) System and method for testing programming skills
CN109032947A (zh) 用于操作系统的测试方法、装置、设备和存储介质
CN110990285A (zh) 一种ui自动化测试方法及装置
CN117330935A (zh) 一种集成电路测试方法、装置、介质
CN107704391A (zh) 一种基于Selenium的测试方法及装置
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
Pirttinen et al. Exploring the complexity of crowdsourced programming assignments
Roy et al. A virtual laboratory for computer organisation and logic design (COLDVL) and its utilisation for MOOCs
Jiang et al. To what extent is stress testing of android TV applications automated in industrial environments?
US10740521B1 (en) System and method for localized logic simulation replay using emulated values
CN112380133A (zh) 一种指令集模拟器利用功能库仿真的方法及装置
CN111044925A (zh) 用于电池检测系统的仿真器
JP7426493B2 (ja) ソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラム
CN115292194B (zh) 流程调试的方法、电子设备及计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant