FPGA案例教学法的研究与实践

发表时间:2020/9/15   来源: 《教学与研究》2020年54卷12期   作者: 严立甫 王媛 陈亮
[导读] FPGA是实现现代数字系统设计的重要手段。为了更好的培养FPGA技术人才,结合我校学生实际情况,开展了FPGA案例教学法改革
        严立甫 王媛 陈亮
        (西南科技大学城市学院,四川 绵阳 621000)
        摘要:FPGA是实现现代数字系统设计的重要手段。为了更好的培养FPGA技术人才,结合我校学生实际情况,开展了FPGA案例教学法改革。在改革中采用案例教学法重新构建教学内容,让教学案例贯穿理论和实践教学,打破了以往先理论后实践的教学模式。教学实施中采用翻转课堂形式,讲完理论和方法后让学生在课堂上利用软硬件平台完成设计。每个案例留有余地,方便学生课后创新与实践,指导学生深入学习。案例教学法激发了学生的学习兴趣,每个案例完成后学生有获得感,达到了较好的教学效果。

        关键词:FPGA  案例教学法  翻转课堂

中图分类号: G642.0  文献标识码:A  
基金项目:西南科技大学城市学院2018年校级立项建设“1231质量提升工程”项目“FPGA案例教学法的课堂教学改革与研究”(CC-JG1812)

        FPGA(Field-Programmable Gate Array),即现场可编程门阵列,利用硬件描述语言(Verilog或VHDL等)完成电路设计,是现代数字系统设计的重要手段和方法。为了激发学生的学习兴趣,同时适应当前电子行业的技术发展,对FPGA技术课程进行教学改革。在教学改革中,优化整合教学内容,并且采取案例式教学方法贯彻理论与实践教学,采用翻转课堂形式并结合软硬件开发平台,强化学生实践应用能力。
1 FPGA技术课程简介
        本课程是电子信息工程本科专业开设的必修课,同时也是为自动化等专业开设的选修课,是数字电子系统设计的主流技术。其目的在于使学生掌握可编程逻辑器件的工作原理、Verilog HDL硬件描述语言以及FPGA设计的基本方法,全面实现数字系统设计的自动化。为从事数字系统设计提供最新理论基础和应用技术。
        先修课程有模拟电子技术基础,数字电子技术基础,单片机原理及应用等。对数字电路有较高的要求,特别是组合逻辑电路和时序逻辑电路设计。后续课程有数字信号处理(FPGA)实现、NIOS II嵌入式系统等。
2 FPGA技术课程教学中的问题
        FPGA技术课程教学改革前共计3个学分,理论讲授为24学时,实验为24学时。在教学中存在以下问题:
        1.教学内容的有待精简。FPGA设计所包含的内容极其丰富,有设计语言的学习,有设计思路、算法优化的学习,有开发软件与仿真软件的学习,也有高级应用,如:SOPC设计,DSP设计等。但课程教学不可能面面俱到,因此教学内容有待精简或优化,同时注重教学内容的连续性和实用性。
        2.技术本身存在一定难度。Verilog HDL语言分为可综合和不可综合两个部分,并且其本身是一种硬件描述语言,就这两个特点让部分学生学起来比较吃力。这些学生习惯于软件的设计思想,不注重区分软件与硬件设计的不同,同时将可综合与不可综合混为一谈。
        3.实践环节远远不足。改革前只有24学时的实验教学内容,安排12次实验,由于实验教学有限,往往安排较为简单的实验。学生课后基本上没有实践的机会,对于技术的掌握浮于表面,未能深入。
3 FPGA技术”案例教学法”的研究
        FPGA技术课程教学改革后也为3个学分,共计48学时,不在区分理论教学与实验教学,采用“案例教学法”贯穿理论教学与实践教学,课堂形式采用“翻转课堂”进行,理论讲解后直接利用开发板完成实践。具体改革如下:
        1.精选课程内容。侧重Verilog HDL语言以及层次化、模块化设计思想的培养,同时加强可综合、状态机设计方法的探讨,熟练掌握Quartus II 和ModelSim软件的使用。
        2.强化课程重难点。在教学中应重点强调硬件设计与软件设计、硬件仿真与硬件实现的区别。重点强调电路建模,即:层次化的建模方法,模块化的建模形式,状态机的建模思路。
        3.用案例组织教学内容。开发教学案例,将理论教学与实践教学有机融合,构建理论学习与实践应用于一体的教学内容。将课程内容、课程重难点融入案例中,在一体化教学中逐一突破。
        4.翻转课堂的教学形式。采用翻转课堂形式,学生自带电脑并安装好相关软件,学校提供FPGA最小系统开发板,教师采用“带教带学”的模式,学生学完一个知识点立即实践。把开发板直接借给学生,学生还可利用业余时间深入研究,不断提高设计水平。
4 FPGA技术案例教学实例
4.1 案例设计要求
        案例名称:设计一个秒表
        设计要求:1. 实现000.0到999.9的计时功能,要求精度为0.1s。
                  2.具有复位和暂停功能。
                  3.利用四位数码管进行显示。
4.2 案例总体设计
        系统主要完成0.1S信号的计数,因此是系统的核心模块,记为:time_counter。为了便于实现数码管的显示,该计数模块采用BCD码计数方案。数码管显示驱动电路完成4位十进制数据的显示,驱动模块记为:decoder_display。系统正常工作需要两路时钟信号,一路为0.1S,用于计数;另一路为1ms信号,用于数码管的动态扫描,因此需要分频模块,记为:clk_div。整个系统的3个模块需要顶层模块进行整合,完成系统的集成,顶层模块记为:miaobiao。秒表系统如图1所示。


4.3 案例教学分析
        1. 分频模块
        在该模块中重点讲解寄存器变量位宽的计算方法,典型时序电路计数器的设计方法。模块设计中利用50 MHz 时钟源,通过计数器计数实现了1ms 和100 ms信号的输出。
        2.计数模块
        在该模块中重点讲解BCD码计数器的原理以及电路实现,同时考虑数据寄存器的复位和计数器暂停的实现方法。模块中利用4位二进制表示1位十进制数,当计数值到达1001时向高位进位。BCD码计数器为后续数据显示提供便利。
        3.显示驱动模块
        在该模块中重点讲解简单状态机的实现以及BCD码转化为七段显示码的方法。模块中利用4状态的状态机,在1ms信号的控制下依次将4组BCD码转化为七段共阳码放到4个数码管上。
        4.顶层模块
        在该模块中重点讲解模块的调用方法,包括顶层模块与底层模块的端口连接方法。模块中分别调用底层的三个电路模块,实现了整体个电路的搭建。
4.3 教学案例的课后创新
        教学案例的设计给学生留有课后创新的余地。在该案例中,按键只有在按下的时候才能够实现暂停,因此留给学生课后思考:如何利用按键实现开关的功能。这就需要添加检查模块,学生课后思考完成设计,如图2所示。

5 结束语
        相比教学改革前,案例教学法让学生更容易理解Verilog HDL语言的可综合性和硬件设计的并行性,很容易与C语言进行区分,掌握了硬件设计的思维方法。在课堂和实践中充分体会到状态机的设计思想、数字系统的工作原理以及数字系统的设计原理,部分学生对FPGA技术产生了浓厚的兴趣,达到较好的教学效果。
参考文献
[1]王红航,刘凯等.数字电路综合实验设计案例驱动法教学探讨[J].计算机教育,2017(07):140-143.
[2]张秀荣.“数字电子技术”课程教学现状的调研[J].电气电子教学学报,2017,39(01):95-97.
[3] 孙科学,郭宇锋等.可编程器件在电工电子实验案例教学中的改革与探索[J].实验科学与技术,2017,15(01):87-91.
[4] 董秀娟.FPGA课程群实践教学体系建设研究[J].当代教育实践与教学研究,2019(09):12-13.
[5] 杨慧晶,于斌等.基于FPGA课程的教学改革探究[J].黑龙江教育(高教研究与评估),2014(09):8-9.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: