“数字系统设计”教学改革探讨

2022-05-30 18:41邓小莺陈全威郑能恒
电脑知识与技术 2022年21期

邓小莺 陈全威 郑能恒

摘要:“数字电路设计”是本科电子信息类对逻辑分析和动手实践能力要求较高的工科实训课程。现有的教学方式无论从吸引力或者学生接受程度而言,均不能获得令人满意的结果。大部分学生普遍存在“重代码轻电路”的思想观念,缺少进一步学习的热情和动力,造成新一代合格实践性人才的培养不足和严重流失。因此,一种“先电路后代码”、“口袋实验室”和“课后项目”有机结合的教学方法被提出。学生不仅能理解数字电路和数字系统的设计技巧,而且提高自主实验、解决问题的能力,这有效地促进了“数字系统设计”的教学改革。

关键词: 数字电路设计; 数字逻辑电路; 教学改革;“口袋实验室”;FPGA

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2022)21-0130-02

开放科学(资源服务)标识码(OSID):

1  引 言

“数字系统設计”作为电子信息类的一门工科实训课程,向前巩固“数字电子计数基础”并加以实践,向后为选读“数字集成电路设计”和“现场集成电路技术”储备丰富的逻辑电路基础,其研读质量直接影响到数字集成电路或电路架构等高层次领域人才的培养。数字集成电路领域一直是我国科技领域的短板,人才缺口巨大,学校、研究所等机构培养出来的实用型人才供不应求[1-2]。“数字系统设计”充当“跳板”角色,其教学风格需要具备吸引力,汇聚更多学子前来研读。然而现有的课程内容和模式不能达成上述目的,很难培养出能够自主解决问题的实践型人才,使得选读学生数量越来越少,或者仅仅使得已选读学生“为学分为绩点上课”,如此一来造成了严重的人才流失[3]。如何改革课程内容和教学方法以培养合格的数字系统相关的实践型人才,不仅仅与高校的课程教学质量息息相关,而且对相关产业发展前景具有很强的现实意义。

2  现有教学模式存在的问题

“数字系统设计”课程所涉及的领域之多,教学内容相当丰富,实践方式数不胜数,但是这些繁多而未系统化的信息会让教师失去教学重心。以下问题是现有教学模式的通病:(1)Verilog HDL或VHDL等硬件描述语言是这门课最常用的两门语言,许多教学模式仅仅对硬件描述语言的语法进行讲解,却没有教授其本质电路,让学生误以为“数字系统设计”其实就是学习一门与C语言类似的Verilog HDL,丢失了最基本的电路设计知识,与之前研读的“数字电子计数基础”割裂,出现断层[4]。学生即使使用Verilog HDL实现了预定功能,对其描述的逻辑电路也非常模糊。(2)研读“数字系统设计”的时间恰好就在学生课程最繁重的学期,加上理论学习和实践过程分离,即理论分析和实验指导分开授课,这导致学生不仅疲于两者的衔接,并且不能向指导老师及时反馈,以便做出适当的调整[5]。认真研读的兴趣和热情会因为“仅能在课室学理论”和“仅能在实验室做实验”消退。(3)学生所接受的理论知识或者所实践的课程实验尚未能“落地”,未能及时应用在具有实际意义的项目中。这会导致一个严重的教学弊病,即学生仅仅在课堂上或者某个学期修读“数字系统设计”,深入学习研究和探索的热情未能持久[6]。通过课程考核后,不少学生直接进入“空白期”或者“遗忘期”,甚至从那以后丝毫不接触数字系统的知识。除此之外,现有的教学模式缺少课后时间的方向引导和适当监督,导致学生未能参与相对应的实际项目或比赛等必要环节。

对此,笔者所在的教学团队采用了理论、实验、项目三者环环相扣的教学模式。在理论课堂中,对学生必须重点强调“数字逻辑电路设计”的重要性,坚持“以电路设计为主,以代码描述为辅”,让学生认识到本课程的核心知识;在实验环节,采用“口袋实验室”教学法,即让学生携带小型FPGA开发板,个人电脑中安装开发环境。如此,学生不仅可以在实验室、宿舍等地方学习ISE、VIVADO等开发工具,而且能够随时随地验证所设计的电路设想。在课后项目中,组织、鼓励学生早进实验室,早接触应用型的项目,培养更加自主研究、解决问题的能力。

3 教学方法

3.1 “先电路后代码”的理论教学模式

由于大部分学生学习“数字系统设计”之前,已经选学了C或者C++等代码语言,但是C语言与Verilog HDL语言存在本质上的差异。前者的设计与CPU的指令集架构和串行性相关,后者却是逻辑电路的一种简便的描述方法。在一些传统的教学风格沿袭下,选读本课程的学生普遍存在一种先入为主的观念,即“这门课的内容和C语言课程类似,重点在于语法学习”。这种观念是片面的,带有很强的误导性,学生稍不留神就会误入歧途。对此,首先需要对学生强调“数字系统设计”是“数字电子计数基础”的集成和进阶,如何设计一个合理的数字逻辑电路是极其重要,Verilog HDL或VHDL等硬件描述语言仅作为一个辅助的工具,帮助更简单地描述所设计的电路。

让学生把重心转移到电路设计以及技巧积累需要循序渐进、慢步指引。首先应当巩固学生的数字电路基础,如熟练使用真值表、逻辑表达式和卡诺图,掌握基本逻辑模块包括加法器、编码器、选择器等组合逻辑电路和状态机等时序逻辑电路[7]。没有如此的积淀,学生不可能设计出合理的数字系统,因为数字系统其实就是将基本模块连接集成,实现特定功能。离开了电路基础,直接教授Verilog等语言,会使得学生摸索不到重点知识。一种比较有效且值得推广的教学方式是由原理图向硬件描述语言过渡。大部分学生在“数字电子计数基础”实验课上,使用过面包板、分立芯片实现过计数器、译码器等简单模块。为了让学生自然地过渡到本课程实验,笔者让学生熟悉ISE开发工具的原理图输入方式,即将先前的数字电路实验搬移到PC端,熟悉ISE 软件原理图输入、仿真流程。在这个过程中,笔者发现可以先避开Verilog HDL等语法的教学,学生可以更好地理解和接受。接下来,可以布置一些相对复杂的模块,但需要使用原理图实现,如多位宽计数器,让学生体会到原理图方式输入电路的烦琐性。此时再引入Verilog HDL简化电路的输入方式,可谓水到渠成,也让学生认识到,先设计电路,再描述输入。反过来,学生也知道自己所写的代码在硬件底层代表着什么电路。

3.2 数字系统设计方法

大部分学生能够相对较好理解单一的数字电路模块,但是对于比较复杂的数字系统却无从下手,对于系统框架设计和子模块的应用与互联感到无力。如何利用简单模块搭建一个能实现特定功能的系统,不仅需要扎实的数字电路基础,还要有设计系统的技巧和经验。

笔者团队着重两点,一是从功能简单的、学生普遍掌握的基础模块开始,添加若干个逻辑器件,能够实现功能丰富的、较为复杂的应用模块。例如,简单的计数器由加法器和D触发器构成,在D触发器的D端加入选择器为主的组合逻辑,就可以实现拥有向上计数、向下计数、暂停、置位、清零等等功能的秒表,其逻辑电路和Verilog HDL描述如图1所示。另一个是模块信号互连的技巧,不同的子模块当中经常会出现互连信号的时序不匹配,需要对这些信号做调整。常用的转换电路有上升、下降边沿检测,电平与脉冲之间的转换等等,如图2所示。

3.3 “口袋实验室”与 “课后项目”巩固法

在“数字系统设计”这门工训课程中,理论分析是必备基础,实验实践更是重中之重。教师在授课过程只是进行逻辑设计,学生容易感到枯燥和抽象。课程的最终目的是让学生自主设计并实现验证数字系统,所以充足的实验时间对于学生是必不可少的。回到本课程的教学立足点,注重数字逻辑的设计与实现,而后序的时序分析尚未提及,所以大部分实验可以通过小型的FPGA开发板以及其配套的开发环境完成。笔者让学生借用实验室中的Xilinx Basys3开发板,并在个人电脑中安装VIVADO等开发环境,让学生不必局限于实验室,可以随时随地设计、验证自己设计的电路 [8]。因为Basys3开发板足够小型便携,甚至可以放在口袋里,所以也称为“口袋实验室”。

为了进一步培养学生对“数字电路设计”的课程兴趣以及加强自主解决问题的能力,笔者积极组织学生参与课后线上和线下技术交流,做到“有困难必深究”,多接触和积累其他数字系统的设计技巧。除此之外,发布一些有挑战性的课后实验,如秒表、VGA电子相册等。不仅让学生将理论知识验证在实践当中,而且与自身生活息息相關。

4 结束语

笔者团队提出的“数字系统设计”教学方法,引导学生注重课程的真正核心,真正掌握数字电路与数字系统设计的方法。理论分析离不开实验实践,“口袋实验室”和“课后项目”能够帮助学生自主动手实践、解决问题的能力。该教学方法有效地启蒙学生对数字系统的理解,为将来遇到项目、科研中的更复杂实际问题,奠基坚实基础,对培养新一代合格的实践型人才有重大意义。

参考文献:

[1] 王小强,邓传锦,范剑峰.集成电路发展历程、现状和建议[J].电子产品可靠性与环境试验,2021,39(S1):106-111.

[2] 方欣.集成电路产业发展:现状、制约因素与促进政策[J].中国集体经济,2021(11):161-162.

[3] 李宇波,叶德信,卓成,等.“数字系统设计”课程的实践教学改革初探[J].工业和信息化教育,2020(3):39-42,48.

[4] 李冠霖,张宝玲.Verilog HDL数字钟电路的设计研究[J].无线互联科技,2021,18(4):67-68.

[5] 张磊.口袋实验室的设计创建与应用[J].科学技术创新,2019(30):147-148.

[6] 牛小燕,杨柳,郑雪峰.基于竞赛驱动的《数字系统课程设计》课程教学改革研究[J].科技风,2020(36):64-65.

[7] 艾伟清,陈景波,王伟,等.基于FPGA的“数字电路”教学改革探索[J].电气电子教学学报,2021,43(2):49-51.

[8] 严海洲.基于Xilinx口袋实验室的组合逻辑电路设计实验[J].电脑知识与技术,2016,12(28):268-270,275.

【通联编辑:王力】