数字集成电路课程案例教学模式探索

数字集成电路课程案例教学模式探索

摘要:“数字集成电路设计与验证”是一门微电子方向研究生重要的学科基础课,具有很强的工程实践性。如何让学生全面掌握整个数字集成电路设计流程及设计方法并具备分析和解决问题的能力是本课程教学的难点。本文提出了基于真实工程项目设计的案例式教学方法,开展了历时三年的教学改革研究与实践。研究数据表明该方法能显著提高学生的设计和分析能力,但对不同水平学生的受益程度存在差异。文章最后给出了进一步改进教学方法的几点建议。

关键词:集成电路;案例教学;Cache控制器

0引言

集成电路包括模拟集成电路和数字集成电路。其中数字集成电路发展异常迅速,已形成了一整套标准的工业化设计流程。标准流程包括:系统设计、逻辑设计、逻辑综合、版图设计和布局布线。在这个流程中,还伴随着必不可少的设计模拟、功能验证、时序分析和功耗分析等验证、分析工作。以上各环节相互交织、相互印证并经常需要多次迭代,才形成了一个完整的工业化流程,用以保证根据该流程设计生产出来芯片的质量。面对如此复杂的流程,在有关数字集成电路教学中如何让学生对流程各阶段的原理融会贯通并具备分析和解决问题的能力是一个难点。“数字集成电路设计与验证”课程是我校计算机学院微电子学与固体电子学专业硕士研究生的学科基础课程,内容包括数字集成电路的硬件描述、验证、综合、物理设计的基本概念、基本方法和实现算法。本文以此课程为实践平台,提出和实践了在教学中引入真实项目设计案例配合理论讲授的教学方法,并对教学考查结果进行了分析和思考。

1教学现状

目前国内各大高校普遍开设了集成电路课程,也针对相关课程教学方法展开了研究。文献[1]提出了如何通过构建设计案例来提高学生的学习兴趣从而进一步激发其开展自主学习;文献[2]提出了如何在课程中面向个体差异、有的放矢的教学思路;文献[3]探讨了在集成电路设计实验中采用研究型实验教学模式的方法和对学生及教师的要求;文献[4]探索了如何利用新的课程考核方法促使学生提高动手能力;文献[5]探索了项目教学法在实际教学中的应用;文献[6]论述了案例教学法对工程类课程教学的实践要求并探讨了为提高教学效果需采用的保障措施。上述研究从案例研究、考核方法和差异化教学等多个角度探索了针对集成电路课程的教学改进方法,本文将在此基础上针对课程特点做进一步的教学探讨。在以前数字集成电路课程的教学设计中,教师会对数字集成电路每个设计阶段的概念和原理进行讲解,并分别用不同的例子引导学生理解这些理论和使用技巧。根据几年的课程积累和学生反馈,我们发现,学生在掌握课程基本原理的同时,对设计流程各阶段的内在联系认识并不透彻,多个知识点不能有机融合,分析问题和解决问题的能力培养也尚有不足。而学生完成课程进入研究或课题后,因为经验不够往往接触到的是初级单一的设计或验证工作,很少有机会从事全流程的设计规划工作。这导致其在做设计或验证工作时只见树木不见森林,无法从系统的角度分析和解决问题,最终无法得到最优的设计结果。因此,如何使学生在掌握数字集成电路设计各知识点的前提下能对各设计阶段进行有机衔接是课程中的难点,我们通过在课程讲授中贯穿一个真实项目中的设计案例来帮助学生进行理论学习的同时,更深入地了解集成电路设计的全流程、培养分析解决问题的实践能力。

2课程设计

2.1真实项目案例教学法

为达到让学生通晓数字集成电路全流程设计的目的,我们在”数字集成电路设计与验证”教学中,采用一个真实项目中的设计作为案例进行剖析,随着案例设计每个阶段理论讲授的同时对案例中的功能模块同步研究和设计。当全部理论知识讲授完毕时,案例模块也随着设计完成。通过这种方法,学生有机会结合课程知识自己动手对模块进行设计和优化,因此能更深入地理解所学到的内容。由于案例为真实项目中涉及的设计模块,在设计流程推进时也尽量按照标准工业化流程要求执行,学生从中可以体会真实项目的执行情况。除了讲授流程中各阶段的概念原理以外,课程还着重强调了各设计流程间的联系和迭代,因此学生能以系统的眼光进行设计工作,为今后从事芯片设计做好准备。真实项目案例教学法的关键在于案例的选择,这直接影响了教学效果的实现,我们在真实项目的多个备选设计中选择了Cache控制器作为案例,原因如下:(1)此模块是CPU体系结构的标准组成部件,大部分学生具备相关的知识基础。(2)模块包括多种组合逻辑、时序逻辑功能电路结构,便于结合课堂理论内容讲授实际使用技巧。(3)模块逻辑规模适中,在个人电脑上运行EDA设计软件的等待时间可接受。(4)可以结合片外器件讲授系统设计知识来增强学生的系统认知。(5)授课教师具有丰富的项目经验且在真实项目里设计实现过此模块,能充分把握讲授内容。

2.2教学实施方法

以我校计算机学院微电子专业硕士研究生课程“数字集成电路设计与验证”为实践平台,开展了历时两年的真实项目案例教学法的研究。授课时段为2015年到2017年,年度课时为54学时。2015年我们未使用真实项目案例教学,2016开始以Cache控制器为案例进行教学,2017年根据前一年的反馈进一步完善案例模型以更适合课堂教学及讨论优化。教学是以理论为基础、案例为实践,结合项目驱动方式来培养学生的动手能力和分析能力。教学实施的过程如图1所示。我们是在引导学生熟悉理论知识的基础上认识案例,启发学生运用所学知识独立思考,从案例中发现问题,并以个人发言、小组讨论或集体辩论等方式分析和解决问题,让学生将所学知识具体运用于案例中,最后教师会就发言情况和提出的方案给出总结评价。

2.3课堂讲授

课程分四个阶段来进行真实项目案例法教学。

1)代码结构阶段

由于很多学生以前没有具体设计过电路,但通常熟悉了一两门软件编程语言,所以怎样让学生尽快将软件编程习惯转换为硬件编程习惯是这阶段教学的重点。我们首先讲授一些标准电路模块结构的设计方法,并具体结合案例功能讲述在案例中的哪部分是用所学结构实现的,学生从中可以了解到这些结构的原理和具体使用场合,从而能加速形成硬件编程习惯,同时也能加深对案例功能的了解。

2)代码综合阶段

当学会使用硬件编程语言设计硬件后,学生并不清楚每种逻辑结构具体对应怎样的门级实现。我们通过讲授逻辑综合的理论让学生建立高级语言到门级网表的映射关系,还专门在案例中留了优化空间,针对案例中不完善的部分,和学生讨论怎样优化案例设计。学生结合课堂上学到的内容经讨论后通常可以发现这些优化的方向,并在这个过程中加深了对相关理论的理解。通过代码结构和代码综合阶段的学习,学生能将体系结构知识和电路结构知识有机结合起来。

3)版图设计阶段

设计形成网表后就要开始进行版图设计,在很多项目中这个阶段的设计工作和之前流程的工作是由不同的人完成,这会造成设计的脱节和指标下降,因此我们安排了版图设计内容让学生了解这方面的理论。在之前的设计阶段,学生对模块只有逻辑概念,当亲手在案例中进行物理版图设计时,学生开始建立模块的物理概念,并能根据版图设计中的问题对此阶段或更早阶段的设计进行调整优化。通过这个过程,学生会逐渐将这几个阶段结合起来,意识到多个阶段紧密结合才能做出更好的设计。

4)封装及板级设计阶段

学生进行版图设计时经常无法判断版图是否合理,这时需要进一步学习芯片封装及板级设计的概念。因为集成电路芯片是通过封装焊到印制板上使用,设计模块要和板上器件的摆放统一考虑才能得到最优的版图设计结果,板上的限制会使片内模块受到影响,我们会针对案例讨论具体的使用环境和设计限制。通过这些讲授和讨论,学生能进一步从系统的高度审视芯片设计从而对集成电路设计有了更全面的认识。经过上述4个设计阶段的讲授,通过对案例在各个阶段出现问题的讨论及不断的优化改进,我们最终得到一个较优的案例设计。这个过程与一个真实的数字集成电路芯片项目的设计流程十分类似。通过这个过程,学生能在短短几次课里感受到真实项目的推进和迭代过程。通过多次的探讨和优化,学生对怎样判断模块设计的好坏和从什么角度分析和解决问题有了更深刻的认识,这对他们将来从事相关研究奠定了良好的理论和实践基础。

3分析与思考

在开展真实项目案例教学法的三年实践中,教学效果主要通过课程考试得以体现。三年的课程考试题目类型相同、题目不同但难度相当。图2为三年来学生在课程考试中不同类型题目的得分率,这里得分率指的是所有学生这类题目实际得分和所分配分值比率的算术平均值。概念题是考查学生对各个阶段设计及各专有名词基本概念的理解,可以看出在概念题得分率上每年相差不多;设计题是考查学生各阶段的设计能力,设计题的得分率略有上升;论述分析题是考查学生针对各阶段设计出现问题的分析和解决能力,这项得分率随着案例模型的完善有明显的提高,这说明采用真实项目案例配合教学能使学生分析问题的能力显著提升。图3为三年来学生的成绩分布图,这里统计的成绩是按考试成绩均匀缩放到60~100分区间后得出的。在图3中可以看出不同水平学生的受益程度存在差异,三年来学生成绩的差距有逐渐扩大的趋势,成绩中低的学生比例变化不大,高分段的学生成绩更好了。在课堂教学和实验教学中我们观察到参与讨论最积极的往往是同样的几个学生而其他学生的参与感相对弱一些。通过学生的反馈我们得知,在授课学期学生的课业负担非常重,只有学有余力的学生才有时间在课余对案例进行深入研究从而获得了更大的收益。通过上面的分析,我们认识到虽然这种教学方法总体上能使学生的课业水平得到提升,但还需进一步改进来让更多学生获得益处。经过思考本文提出以下措施来改进教学:(1)案例可酌情缩小规模,在不降低设计复杂性的同时减少工程量。(2)课堂各部分内容的课时分配可进一步优化。(3)可采用分层教学使更多学生能参与讨论。(4)硬件设计综合能力的培养并非单独一门课程完成,专业领域内的相关研究生课程应形成体系,互相助力,为提升研究生的实践动手能力形成合力。

4结语

数字集成电路设计和验证是一个完善且复杂的工业化流程,学生在学习过程中会接触很多全新且相互关联的知识点,如何让学生对设计流程各阶段的原理融会贯通并具备分析和解决问题的能力是相关课程教学的难点。本文首先介绍了数字集成电路课程的特点,分析了学生对全流程设计的分析和解决能力不足的问题,提出了一种采用真实项目案例来配合理论教学的方法并详细阐述了教学方法和实施过程。考查分析的结果表明,这种方法在总体上能显著提高学生分析和解决问题的能力,但也发现不同水平学生的受益程度存在差异。文章最后给出了进一步改进教学方法的几点建议,希望在未来的教学过程中取得更好的教学效果。

参考文献:

[1]周晓珏.基于Proteus的集成电路应用课程教学案例设计[J].重庆:重庆电子工程职业学院学报,2017(9):126-128.

[2]罗萍,张波,王卓.专业学位工程硕士集成电路设计课程教学方法探讨[J].南宁:大学教育,2016(2):115-116.

[3]夏晓娟,吉新村,王德波,方玉明.研究型实践教学模式在集成电路设计实验中的探讨[J].上海:科技视界,2015(16):37,278.

[4]向舜然.集成电路CAD教学实践方法探索[J].成都:亚太教育,2015(14):99-100.

[5]杨玲玲,谢星,孙玲,孙海燕.项目教学法在概论性课程教学中的应用研究.合肥:电脑知识与技术,2016(10):166-167.

[6]李劲华,.案例教学在工程专业的适用性研究[J].北京:实验技术与管理,2017(9):157-159.

作者:马驰远 陈海燕 刘胜 单位:国防科技大学