易 婷
(复旦大学微电子学院,上海 200433)
“数字逻辑基础”课程是我校工科专业的一门平台基础课程,主要讲授数字逻辑电路的分析与设计。这是一门理论性和实践性都很强的课程,如何在教学过程中培养学生独立思考能力和解决问题能力,一直是这门课的任课教师考虑的问题。高校在完成这门课程的理论教学之后,都会开设相应的软件和硬件实验[1-3]。由于上述实验是在完成这门课程的理论教学之后进行的,这使得理论教学与实验教学之间会存在一定的脱节。为了解决这个问题,笔者在进行这门课的理论教学时,尝试通过在课堂教学中安排课程设计,让学生在进行理论学习的同时,就有机会将学习到的理论知识应用于实践。多年教学实践表明,这种将课程设计引入课堂教学的方式能取得良好的教学效果,受到了学生欢迎。
我校“数字逻辑基础”课程由课堂教学和实验教学两部分组成。实验教学从第五教学周开始(此时课堂教学已经讲到组合电路的分析与设计),每周一次实验课。学生已初步掌握了EDA软件的使用方法,这为在此后的课堂教学中结合课程设计打下了良好的基础。实验教学部分采用EDA工具,完成编码器、7段数码显示电路、加法器、同步计数器和顺序脉冲信号发生器等模块电路的分析和设计。
课程设计的选题首先是设计性的,即要求设计一个电路或小型系统。在选择设计目标时,主要考虑以下四个方面:综合性、应用性、趣味性以及具有一定的复杂度,即侧重于综合应用所学的理论知识来解决实际问题。题目来源可以是任课教师推荐的,也可以是学生自选的。同时,课程设计的课题数必须足够多以保证学生有足够的选择空间。
在实施课程设计时,任课教师会在第六教学周前,将课程设计的题目发给学生,学生选择自己要做的课题。对于需要多人共同完成的课题,学生自行选出小组负责人。学生应在第十六教学周前完成课程设计,并完成相应的设计报告。设计报告的内容包括设计目标,电路的实现方案和模块划分,模块电路和整个电路的设计、仿真及结果分析。还有在课程设计中遇到的问题分析和解决办法以及课程设计的体会等。在第十六教学周和/或第十七教学周,每位学生都要到讲台上就自己所完成的课题向全班展示,并对提出的问题进行解答。设计报告的撰写和课堂上的答辩,有助于加深学生对所做课题的理解,学会如何对所完成的工作进行总结,同时还可以提高他们的表达能力。
课程设计以学生为主体,任课教师和助教在整个课程设计过程中所起的作用主要是对学生遇到的问题(例如EDA软件使用和电路设计问题等)进行解答、跟学生就电路的实现方案进行讨论,鼓励和引导学生用多种方案来实现同一电路功能,在课程设计答辩时进行点评和内容补充,引导学生提问等。
由于课程设计答辩需要占用一定的教学课时,而减少授课内容,任课教师可将部分原本在课堂上讲授的内容结合到课程设计的课题中去,通过课程设计展示和教师的补充讲解传授给全班学生。
(1)知识加深型
该类课题内容是课堂教学中的一些授课内容的延伸和加深。例如,“如何设计一个带直接置位端和直接复位端的主从结构边沿触发器,并用它设计一个异步复位的九进制同步计数器”这道课程设计题目是跟边沿触发器和计数器的设计相关的。要完成这个课程设计,首先需要充分理解教材上的相关内容。教材上介绍的主从结构的边沿触发器都用到了CMOS传输门。但是承担这个课题的学生会发现,当用Xilinx ISE设计工具进行电路仿真时,库里面没有提供CMOS传输门。所以必须考虑用其它方法来实现这个电路。例如,利用教材上的电路图,用三态门来代替CMOS传输门;或者用2个D锁存器来构成主从结构的D触发器。在该学生的设计报告中,阐明了上述边沿触发器的设计,并采用两种不同的方法实现了九进制同步计数器,还对异步复位的优缺点进行了分析,给出了解决异步复位缺点的方法—异步复位同步释放。
(2)知识拓展型
该类课题中加入了一些学生以后学习中会用到的知识。例如,“设计一个电路实现四位二进制码和温度计码的相互转换”这道题目引入了“温度计码”的概念。温度计码是模数转换器和数模转换器中常用的一种编码方式。选择这道题目的学生必须先去查找与温度计码相关的资料,知道它具有什么特点,然后才能完成相应的电路设计。最后,该学生通过课程设计答辩介绍有关温度计码的知识。
(3)比较复杂的数字系统
上述的两类题目较简单,每道题目由一位学生独立完成。而本类课题都是一个小的数字系统,具有较强的综合性和趣味性。每个课题需由2-4位学生合作完成。为了顺利完成所承担的课题,各小组首先需要进行讨论,对系统功能进行定义、完成功能划分和模块划分,并确定模块与模块之间的连接关系,再将任务分配给各个组员。由各个组员完成模块电路的设计,再将已完成的模块电路连接起来,完成整个系统的设计,并用EDA工具进行系统功能仿真和验证。
例如,“智力竞赛抢答器逻辑电路设计”这道课程设计题目是由四位学生共同来完成的。根据设计目标,他们将整个电路分成四个模块:①抢答电路;②计时电路;③加减计分电路;④计分显示电路。每个成员承担其中一个模块的电路设计。整个电路涉及到的内容包括基本型异步时序电路的设计及竞争冒险的消除(抢答电路)、同步减法计数器的设计(计时电路)、寄存器的设计和组合电路的设计(包括加/减法器、除法器和译码器等)。
以上内容几乎涉及到了这门课程的所有内容。
(1)通过课程设计可以让学生加深对理论知识的理解和掌握,学会对知识的灵活运用;可以开阔眼界,体现学以致用的原则;学生对自己所完成的课题任务有成就感和满足感,这表明课堂教学中引入课程设计这一环节很有意义。
(2)学生通过课程设计认识到细节的重要性、团队合作精神和队友之间良好沟通的重要性、合理安排时间的重要性、以及工作态度认真的重要性。
(3)课程设计是一个提出问题到解决问题再到改进方案的设计过程,为学生提供一次能综合运用所学过知识的机会。
(4)课程设计的答辩实际上是对课堂上已学过的知识的详细的回顾,有利于对学过的知识的复习、以及对所学知识的拓展和延伸。
我们通过在“数字逻辑基础”的课堂教学中引入课程设计,提供三种类型的课题,让学生在完成课程设计的过程中,学会灵活应用所学过的知识,学会通过自主查找资料、与教师讨论等方式来解决问题,学会独立思考,学会团队合作,收获学习的快乐和成就感。同时通过课程设计,让学生体会到数字逻辑电路在实际生活中的应用,体会到数字逻辑电路之魅力。
由于教学学时的限制,所有的课程设计都由学生在课余时间完成。这固然会增加学生课外学习的负担,但是学生完成课程设计的过程也是对课堂上所学的相关知识进行总结掌握的过程,所取得的学习效果远大于纯粹做习题所获得的学习效果。
[1]王勇.“模拟与数字电路实验”的课程设置[J].南京:电气电子教学学报,2007,29(1):6-7
[2]田东.数字电路课程设计的改革与探讨[J].北京:实验技术与管理,2006,23(5):118-119
[3]侯素芳,任艳频.电子技术课程设计内容改革的研究与实践[J].上海:实验室研究与探索,2012,31(1):108-110