实验工具和环境概述

FPGA实验板

FPGA(Field Programmable Gate Arrays)是一种可编程的逻辑电路,用户使用计算机软件描述自己的设计,该软件能够将设计输入转换为逻辑电路,其过程类似于软件编程和编译。由于FPGA具有可无限次重写的特性,非常适合用于教学实验。

Altera公司和Xilinx公司曾经是两家全球知名的FPGA制造商,现在已分别纳入Intel公司和AMD公司。本书实验支持这两大主流厂商的FPGA,目前已经适配的实验板见下表。

实验板

FPGA芯片

自研远程实验板

Altera Cyclone IV E

自研口袋实验板

Altera Cyclone IV E

Terasic DE2-115

Altera Cyclone II

Digilent Nexys4DDR

Xilinx Artix-7

设计和验证

基于FPGA的数字硬件实验的过程,大致上可以分为设计和验证两个阶段。设计阶段将设计输入转换为FPGA的电路文件,验证阶段将电路文件加载到FPGA芯片中,通过实验手段对FPGA中的电路施加激励并检查输出响应是否正确。

设计阶段的编译工具采用这两家公司的软件,分别是Intel Quartus Prime 和 Xilinx Vivado。本书的所有范例充分考虑了可移植性,无需修改均可在Quartus和Vivado两种设计环境下编译通过。

实验教学中最常见的验证手段是利用实验板上配置的输入输出元件,但这种方式有很大的局限性,尤其是不能适应CPU设计这样复杂的实验需求。

本书配套的实验系统采用虚拟实验的方式。虚拟实验不是通过计算机软件进行模拟、仿真的实验,它是以真实硬件实验板为基础,通过软件实现人机交互的新型实验方式。实验软件是虚拟实验的灵魂。

远程和本地

本书配套的虚拟实验系统有本地(线下)和远程(线上)两种。远程实验基于Web浏览器,提供以云端真实实验板为基础的虚拟实验环境。线下实验基于Windows版的虚拟实验软件,通过特制的USB调试适配器可以适配两大主流FPGA厂商的芯片和开发板。两种实验系统具有相似的用户界面,并且大部分实验文件可以通用。

远程实验平台还提供了云端编译功能,只需提交HDL设计代码就可以生成电路文件,屏蔽了FPGA芯片相关的细节,从用户层面可以理解为芯片无关的设计。同时,实验平台也支持上传由本地Quartus编译生成的电路文件。

跨平台

综上所述,配套的实验系统提供了跨平台的软硬件实验环境。这里的“跨平台”有两方面含义,一是实验软件同时支持线上和线下方式,二是实验硬件同时支持两大主流FPGA厂商的芯片。

跨平台的软硬件实验环境为实验教学提供了灵活的实施方式。既可以以线上方式为主,也可以以线下为主,还可以采用线上、线下混合的方式。