网站首页  词典首页

请输入您要查询的论文:

 

标题 线上-线下混合FPGA实验平台的教学实践研究
范文

    

    

    

    摘? 要:针对目前高校电子信息类专业人才中FPGA数字设计实验环境受限的问题,分析了实验教学过程中的难点,提出一种“线上-线下混合,本地-远程结合”的实验教学模式,为地方高校培养创新实践型的软硬件系统人才提供有效途径。

    关键词:FPGA;实验教学;远程实验

    中图分类号:G642 文献标志码:A? ? ? ? ?文章编号:2096-000X(2020)35-0128-04

    Abstract: Aiming at the problem of limited FPGA digital design experiment environment among electronic information professionals in colleges and universities, the difficulties in the experimental teaching process are analyzed, an experimental teaching mode by online-offline mixing and local-remote combination is proposed. An effective experimental teaching is provide way for local universities to train innovative and practical software and hardware system talents.

    Keywords: FPGA; experimental teaching; remote experiment

    随着人类社会迈向万物互联的物联网时代,人工智能技术代替手工方式对大数据进行高效实时的处理已成为社会发展的必然选择,万物互联的未来之路必然走向万物智能。在此背景下,无处不在的人工智能对数字系统的设计提出了挑战性的需求[1]。然而,半导体行业遵循的摩尔定律已经难以为继,这意味着数字芯片的设计需要依赖架构的创新。FPGA(Field Programmable Gate Array)全名叫“现场可编程门阵列”,是一种可编程的芯片。人们利用FPGA的可编程存储器部分,把硬件设计重复烧写在里面,从而使FPGA芯片可以完成不同的硬件功能和设计。FPGA本质上是并行处理,而人工智能的很多算法都需要并行处理,通过把人工智能的模型转换之后,FPGA非常适合执行人工智能推理。

    FPGA数字系统设计作为一门电子信息专业的专业课,课程不仅介绍了FPGA数字系统设计的理论知识,而且需要相关的实验内容将理论知识和实践环节相结合,培养学生的工程能力和创新实践能力[2-4]。而如何充分发挥实验教学的作用,设计一套适合电子信息类专业学生的实验设计项目,以培养出人工智能时代的创新人才是值得思考与探索的问题。

    一、传统的FPGA数字系统设计实验平台及其存在的问题

    FPGA 凭借其独特的架构,具有并行性、灵活性、小型性方面的優势,现已成为数字系统首选的开发平台。与此同时,越来越多的高校也采用 FPGA作为数字系统实验教学的硬件平台。总体上看,目前高校围绕 FPGA数字系统设计进行的实验教学具有以下不足之处[5-10]:

    1. 从实验平台来看,现有的平台仍是以线下的 FPGA开发板或实验箱为载体开展课程的实验教学,这在时间和空间上极大地限制了学生随时随地进行实验。

    2. 从实验的调试和交互方式来看,目前的实验平台主要使用 FPGA开发板上的拨码开关、LED等物理 I/O进行教学。由于开发板资源有限,这极大地影响了学生调试实验的便利性。

    3. 从实验内容来看,理论教学与实践训练缺乏广泛联系,难以掩饰其产业界影响小,产学融合深度和广度有限的缺憾。

    此外,由于受到新冠肺炎疫情的影响,部分高校理论教学采取了线上视频的教学方式,教师利用远程教学平台为学生教授理论知识,但是动手实验环节却成为线上教学的难题和瓶颈。学生虽然学习了理论知识,但是实际的硬件验证工作却无法进行,这极大地影响了理论教学的巩固,无法达到学以致用的效果。科竞赛、创客空间等第二课堂,进一步加强实践技能和理论知识的提升。

    二、线上-线下混合的FPGA数字系统设计实验教学模式

    实验的教学模式采用“线下与线上”结合的实验环境,“本地与远程”混合的开发流程,如图1所示。线下-本地实验过程中,利用硬件描述语言(Verilog HDL)进行数字电路或系统的描述,并使用Xilinx公司提供的设计软件Vivado进行数字系统的设计与仿真验证;线上-远程实验过程中,实验基于Open HEC远程FPGA云平台系统,在Jupyter环境中编写Python应用程序与设计的硬件电路完成交互式验证。

    下面以FPGA的远程门电路设计与交互式验证为例(实现一个两输入多输出的门电路,其电路功能包括异或、同或、与、或、与非和或非),如图2所示,详细说明线上-线下混合的FPGA数字系统设计的开发流程。

    (一)线下-本地实验教学建设的新思路

    线下-本地实验过程在本地完成FPGA逻辑部分的开发。该阶段在Xilinx公司的Vivado软件中完成硬件电路模块的设计、监控验证模块的构建及模块之间的相互连接。具体而言,首先对硬件电路模块进行设计并仿真,确保功能正确后,将该模块封装为IP。然后,调用ZYNQ7 Porcessing System、AXI GPIO及封装的硬件电路IP进行互联和参数设置,构建软硬件协同系统。最后将系统进行综合、实现、生成比特流文件。

    线下-本地实验的开发流程具体步骤包括:

    1. 在 Xilinx公司的Vivado 2015.4开发环境中,设计并仿真门电路的功能是否正确,将正确的设计文件封装为 IP,具体过程如图3所示。

    2. 调用ZYNQ7 Porcessing System、AXI GPIO等IP实现监控验证模块,与封装的门电路IP进行互联,并构建一个软硬件实验协同验证系统,如图4所示。

    3. 最后将系统进行整体封装,完成综合、实现和生产比特流文件。

    (二)线上-云端实验教学建设的新思路

    线上-远程实验过程在云端完成Python应用程序的开发与调试。线上的实验是基于Open HEC远程FPGA云平台系统,该系统在数据中心部署Vivado虚拟机及PYNQ-Z2开发板。用户无需安装软件或购买FPGA板卡就可以进行实验,其Jupyter Notebook开发环境如图5所示。编写Python程序完成比特流的加载,实现处理器部分运行的应用程序与可编程逻辑部分的硬件模块进行交互式的调试验证。

    线上-云端实验的开发流程具体步骤包括:

    1. 首先,在Jupyter Notebook导入PYNQ板卡需要的*.bit和*.hwh两个文件(文件名需相同)。在使用Python代码下载比特流文件时,需要引入PYNQ包中的Overlay文件。然后,通过Overlay来加载比特流到PYNQ中。本实验中将design2.bit(本例中.bit文件命名为design2.bit)文件加载到PYNQ板卡上的FPGA芯片中,参考代码如下:

    (1) from? ?pynq? ? ?import? ?Overlay

    (2) from? ?pynq.lib? import? ?AxiGPIO

    (3) overlay=Overlay("/home/xilinx/jupyter_notebooks/oDisk/design_2.bit")

    2. 然后,利用Python应用程序完成引脚绑定。在加载Overlay之后,将使用的AxiGPIO模块在Jupyter Notebook环境中重新命名,并对AxiGPIO模块的各个通道进行命名,参考代码如下:

    (1) #AxiGPIO命名

    (2) gpio_0=overlay.ip_dict['axi_gpio_0']

    (3) gpio_1=overlay.ip_dict['axi_gpio_1']

    (4) #通道命名

    (5) ina=AxiGPIO(gpio_0).channel1

    (6) inb=AxiGPIO(gpio_0).channel2

    (7) gate_out=AxiGPIO(gpio_1).channel1

    3. 最后,调试验证过程中axi_gpio_0的输出端口使用write()进行赋值,测试值送到PL的门电路硬件模块处理,待PL处理后将结果返回axi_gpio_1的输入端,通过read()读取处理后的结果,参考代码如下:

    (1) ina.write(a_value,mask)

    (2) inb.write(b_value,mask)

    (3) out=gate_out.read()

    接收端收到數据后不会显示出来,此时需要使用print()来显示得到的结果,进而加强软硬件的交互式验证,参考代码及运行结果如图6所示。

    三、结束语

    本文提出了一种线下线上相结合的实验环境,本地与远程混合的开发流程FPGA数字系统设计实验的教学模式。通过线下线上相结合的远程实验,学生完成FPGA数字设计与验证。这种全新的实验模式,学生不仅对传统的FPGA数字设计有所了解,而且能够不受时间和空间的限制远程访问实验设备进行自主创新。实验过程中采用Python程序与所设计的硬件模块进行交互式的调试验证,学生不仅可以利用这种“软件定义的交互”突破实验设备物理I/O的局限,提升数字系统软硬件协同设计的能力,还为后续人工智能课程奠定基础。

    参考文献:

    [1]聂阳.校企合作模式下地方高校电子信息类嵌入式方向核心课程的体系结构探索研究[J].高教学刊,2019(08):53-55.

    [2]胡爱华,李建科,张鹏云,等.“互联网+实践教学”范式改革尝试——以FPGA为例[J].实验技术与管理,2020,37(04):181-183.

    [3]吴迪,谭克俊,张雅楠,等.FPGA层次化实验教学案例分析[J].电气电子教学学报,2020,42(01):151-154.

    [4]华一村,曹源,张义红,等.应用型创新人才培养的FPGA实验教学研究[J].实验室研究与探索,2019,38(08):184-188.

    [5]金伟正,夏可为,李皓,等.基于无线游戏的FPGA创新实验系统[J].电气电子教学学报,2019,41(02):85-88.

    [6]王彩凤.应用型本科院校电子设计自动化课程实践教学改革[J].高师理科学刊,2019,39(03):89-92.

    [7]舒双宝,张育中.“FPGA技术及应用”课程教学研究与实践[J].高教学刊,2019(05):80-82.

    [8]汤知日,常胜.机器学习FPGA硬件实验设计[J].实验技术与管理,2018,35(12):152-155.

    [9]王墨林,戚昊琛,鲁迎春,等.FPGA课程创新型实验教学体系的实践[J].实验科学与技术,2018,16(04):134-139.

    [10]卢有亮,姜书艳.数字设计FPGA应用课程的挑战式实验教学设计[J].实验科学与技术,2018,16(06):82-85.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/5 23:48:52