FPGA 大规模在线评测实验平台

预约演示

核心功能

在线运行

在线申请硬件开发板

支持学生在线申请 FPGA 硬件开发板,支持自动为学生自动分配空闲开发板。在开发板资源不够时,支持排队进入在线实验环境。

电路运行面板

实验平台为每个学生分配一个由 FPGA 硬件开发板驱动的 FPGA 电路运行面板。通过运行面板,学生可看到电路的实时运行效果;通过输入外设,实现与 FPGA 上运行的电路进行实时交互。

随时随地

B/S 架构

学生通过浏览器即可随时随地登录实验平台开始实验。点击“开始实验”后,进入 FPGA 电路运行面板实验环境。在电路运行面板上,学生可在线申请 FPGA 硬件开发板。

在线烧录位流

支持学生在线烧录位流到远程 FPGA 硬件开发板上运行,摆脱时间和空间限制。学生可在图书馆、自习室、宿舍等非机房环境中开展硬件实验。

自助式故障救援

当开发板出现异常时,支持学生一键远程重启开发板或切换新开发板。

外设丰富

提供丰富的输入/输出外设,支持外设数量与种类的可持续扩展,不受 FPGA 芯片引脚数量约束。当前外设包括:

· LED 灯:32 个

· LED 点阵:16*16,4 个

· 7 段数码管(带小数点位):9 个

· 拨码开关:32 个/组,共 2 组

· 按键:8 个

· 复位键:1 个

· 时钟键:1 个

· 音频输出:支持

· 视频输出:支持,HDMI/VGA

· 串口:支持

自动评测

硬件开发板评测

学生提交位流文件后,平台可自动在远程 FPGA 硬件开发板上运行学生的电路,评测学生所提交电路的功能是否正确,性能是否满足要求。根据评测结果,自动为学生实验判分。自动评测功能的引入实现了统一、客观的评分标准,同时可大幅减轻教师的评阅工作量。

仿真器评测

针对每个实验,都设置了多组测试用例。可按照学生通过的测试用例数量分阶段、分步骤给分。

多组测试用例
除了 FPGA 硬件开发板评测外,实验平台也支持仿真器评测。通过闯关方式将仿真器评测和 FPGA 开发板评测按实验难度递进顺序自然结合,降低学生开发复杂数字系统(如流水线CPU)的调试难度,增强学生完成实验的信心,提高学生开展实验的兴趣。

高密度

通过将 FPGA 硬件开发板高密度封装于 FPGA 服务器中,有效避免传统 FPGA 开发板或者实验箱在使用过程中的损耗问题。 FPGA 服务器具有如下特点:

· 4U 标准机箱外壳。

· 每块开发板支持单独插拔,即插即用。

· 服务器通网通电后,可全年 7*24 小时运行。

· 每台服务器中包含 28 块 FPGA 硬件开发板。

· 支持本地交付,多台服务器可组成 FPGA 集群。

· 开发板主要配置信息如下:

- FPGA 型号:XC7Z020,85k LCs

- FQSPI NOR FLASH:≥16MB

- Ethernet:1 路

- DDR3 RAM:1GB

- ARM硬核:2 个,主频766MHz,支持音视频硬件加速

过程管理

与希冀教学平台无缝融合,通过希冀平台,教师可开展如下实验和教学活动:

· 在线管理实验资源和布置实验作业

· 在线查看实验作业的自动评测得分

· 在线查看实验作业得分的分析报告

· 对作业的代码和报告进行抄袭检测

· 在远程硬件开发板上运行学生电路

· 在线查看测试学生电路的运行效果

· 在线设计新实验及相应的评测脚本

· 基于采集的过程数据开展教学研究

· 基于采集的过程数据支撑工程认证

· 在线组织课内或校内电路设计比赛

实验体系

FPGA 快速入门

覆盖LED灯、LED点阵、数码管、拨码开关、复位键、按键、串口、音频、视频等外设。每个实验提供了详细的实验指导手册,可指导学生如何从零开始在 FPGA 在线实验平台完成所有实验内容

  • 实验1:LED跑马灯实验

    下载比特流文件后,即可看到使用32个LED灯实现的跑马灯效果。

  • 实验2:LED灯开关实验

    下载比特流文件后,拨动某个拨码开关后,对应LED灯亮;拨回后,对应LED灯灭。

  • 实验3:4位加法器实验

    下载比特流文件后,拨动拨码开关输入2个4位操作数,即可在数码管上显示经过加法器运算之后得到的计算结果。

  • 实验4:数码管计数实验

    下载比特流文件后,所有数码管按每秒变化1次的频率从000000000计数到FFFFFFFFF。当计数达到FFFFFFFFF后,下次重新从000000000开始计数。计数过程中,小数点位全部点亮。

  • 实验5:数码管秒表计数实验

    下载比特流文件后,数码管以“时.分.秒.毫秒”格式开始计数。时间位宽格式为:hh.mm.ss.xxx,计数过程中,时、分、秒后的小数点位全部点亮。

  • 实验6:LED点阵汉字显示实验

    下载比特流文件后,在4个16*16的LED点阵上滚动显示一排汉字,内容为:计算机系统能力培养。

  • 实验7:串口读写

    下载比特流文件后,可以使用串口发送字符串,在接收端可以看到发送的字符串内容,支持ASCII模式。

  • 实验8:蜂鸣器实现7个音调

    下载比特流文件后,可以使用7个按键实现7个音调(do、re、mi、fa、sol、la、si)。

  • 实验9:蜂鸣器演奏生日快乐

    下载比特流后,可以播放使用蜂鸣器演奏的生日快乐伴奏。

  • 实验10:VGA显示屏保动画

    下载比特流后,可以显示屏保动画。在屏保动画中,Logo标志在黑色背景屏幕内来回移动,碰到屏幕边缘会反弹,每次碰撞时播放提示音,反弹后的Logo切换一次颜色。

数字逻辑

门电路 组合逻辑 时序逻辑

输出0

输出32位0

1位输入输出

32位输入输出

与门

非门

或门

或非门

与非门

异或门

同或门

32位与门

32位非门

32位或门

32位或非门

32位与非门

32位异或门

32位同或门

两位相等

32位相等

两数相等

两数相等(全亮版)

奇偶校验

所有位做逻辑运算

vector反转

4字节颠倒顺序

实现7458模块

3-8译码器

8-3编码器

优先编码器

4选1数据选择器

4位数值比较器

2选1多路选择器

6选1多路选择器

简单编码器

2选1多路选择器

2选1总线

9选1多路选择器

半加器

全加器

4个数求最小(三目运算)

计算3位vector中1的个数

根据原理图实现电路1

根据原理图实现电路2

根据原理图实现电路3

根据表达式实现电路1

根据波形图实现电路1

根据波形图实现电路2

根据波形图实现电路3

根据波形图实现电路4

根据波形图实现电路5

根据波形图实现电路6

D触发器

D触发器组合

异步复位触发器

同步复位触发器

同步复位触发器组

同步复位特殊值触发器组

可异步复位的触发器组

带控制端的触发器组

D锁存器

门控触发器

根据真值表实现电路

根据波形图实现电路1

根据波形图实现电路2

上升沿检测

移位寄存器(1位)

移位寄存器(8位)

算数左右移

双向移位寄存器

四位二进制加减计数器

十进制加减计数器

分频器

状态机 LED外设实验 数码管外设 综合设计

验证1000序列(Moore)

验证1000序列(Mealy)

验证1101序列(Mealy)

验证1101序列(Moore)

序列识别

旅鼠1

旅鼠2

旅鼠3

旅鼠4

异步复位Moore状态机

同步复位Moore状态机

根据状态转换表实现状态机1

根据状态转换表实现状态机2

LED1闪烁

LED1可控闪烁

LED全闪烁

LED可控全闪烁

LED可控可数闪烁

LED1-8跑马灯

LED1-8可控跑马灯

LED1-8可控可数跑马灯

LED1-8可控往返跑马灯

LED13-20可控双向跑马灯

LED13-20可控双向往返跑马灯

LED低4高4可控跑马灯

LED低4高4可控往返跑马灯

LED无符号数值比较器

LED有符号数值比较器

数码管显示1个数

数码管显示8个数

数码管选择显示8数

数码管显示十进制无符号数

数码管显示十进制有符号数

数码管无符号数值比较器

数码管有符号数值比较器

数码管十进制无符号数值比较器

数码管十进制有符号数值比较器

数码管8个数选最大

数码管8个数选最小

数码管8个数选最多

数码管8个数选最少

数码管8个数求平均

数码管8个数升序排序

数码管8个数降序排序

数码管8个数动态升序排序

数码管8个数动态降序排序

计数器

格雷码计数器

字符自动机(正则表达式匹配)

表达式状态机(表达式校验)

表达式状态机-允许括号(表达式校验)

自动售货机

出租车计费

LED点阵螺旋曲线

控制屏幕画面移动

挡板接小球游戏

单周期CPU 、 流水线CPU

单周期CPU 流水线CPU

取指单元设计与实现

寄存器堆设计与实现

ALU算术逻辑单元设计与实现

DataMem数据存储设计与实现

控制器设计与实现

ALU控制器设计与实现

CPU顶层设计与实现

CPU上板验证:控制LED闪烁

CPU上板验证:控制数码管显示数字

CPU上板验证:计算斐波那契数列

实现寄存器堆

取指级基本实现

取指-译码中间级实现

译码级基本实现

执行级基本实现

访存级基本实现

写回级基本实现

解决寄存器读写冲突

取指级支持分支

译码级支持分支

译码级访存实现

执行级访存实现

访存级完整实现

写回级完整实现

取指级支持暂停

译码级冲突检测

执行级冲突检测

访存级冲突检测

解决访存冲突

实现流水线控制器

CPU上板验证:控制LED闪烁

CPU上板验证:控制数码管显示数字

CPU上板验证:计算斐波那契数列

CPU上板验证:实现秒表计数

CPU上板验证:输出三色图像

CPU上板验证:控制挡板左右移动

CPU上板验证:实现小球反弹动画

CPU上板验证:实现挡板接小球游戏

应用场景

· 基于 FPGA 在线实验平台,可支撑以下课程实验环节的开展:

数字逻辑

数字系统设计

计算机体系结构

计算机系统导论

EDA 技术与应用

数字电路

计算机组成原理

计算机系统基础

FPGA 数字系统技术

数字集成电路设计

· FPGA 在线实验可与线下的硬件开发板或实验箱形成互补,学生使用线下硬件开发板或实验箱开发和测试电路,提交到线上 FPGA 在线实验平台完成考核。

典型案例

山东大学计算机学院


山东大学计算机学院通过 FPGA 在线实验平台开展《计算机组成原理》实验,学生需提交自行设计的CPU到实验平台,由实验平台自动完成打分。

北京航空航天大学计算机学院


北京航空航天大学计算机学院通过 FPGA 在线实验平台开展《计算机组成原理》和《 FPGA 多核并行计算》课程实验,由于不再受限于机房,学生可投入更多实验时间,教师也可以安排难度系数更高的综合型实验任务。

演示视频

选择开发板和下载比特流


支持在线选择和分配 FPGA 硬件开发板,支持在远程 FPGA 硬件开发板上加载比特流文件,实时捕获 FPGA 芯片输出信号,并在仿真面板上同步渲染电路的运行效果。

使用仿真面板的输入外设


FPGA 仿真面板上的的输入信号会被发送给远程 FPGA 开发板作为 FPGA 芯片的输入信号。本视频中,对拨码开关输入的2个操作数,BTN1~BTN3分别实现了与、或、异或逻辑运算。

冒泡排序算法可视化


在希冀 FPGA 在线实验平台上,学生基于Verilog使用数码管实现的冒泡排序算法可视化。在启动排序后,将在数码管上展示出每一轮迭代中相邻两个数的交换过程。

演奏新年好(支持音频)


该视频演示了 FPGA 在线实验平台对音频的支持。在下载比特流文件后,使用7个按键可以产生7种音调。基于7种音调可以演奏歌曲《新年好》。通过将按键映射到电脑键盘,可提升按键的输入效率。

同时支持视频和音频


该视频演示了学生基于 FPGA 在线实验平台实现的希冀Logo屏保动画,在希冀Logo每次碰撞到屏幕边缘时,会切换一次颜色,并发出碰撞提示声。

控制视频画面移动


该视频演示了学生基于 FPGA 在线实验平台实现的使用按键作为输入控制希冀Logo上下左右移动的应用效果。该应用同时使用了 FPGA 在线实验平台的视频、音频、输入等多项功能。

基于单周期CPU的斐波那契数列计算


在希冀 FPGA 在线实验平台上,学生基于自己设计的单周期CPU实现了斐波那契数列计算。该CPU采用MIPS指令集架构,支持6条指令。从该视频中可以看出,该CPU具有较高的运算效率。

基于流水线CPU的秒表计数


在希冀 FPGA 在线实验平台上,学生使用自己设计的MIPS指令集架构CPU实现的秒表计数效果。该CPU具有5级流水线,支持22条指令。视频开头为秒表计数程序的汇编源代码。