杨 燕,马文英
(成都信息工程大学 通信工程学院〔微电子学院〕,四川 成都 610000)
随着电子信息技术的飞速发展,集成电路支撑着现代通信、计算机、物联网、智能系统等高技术产业,是我国必须掌握的核心技术,同时也是我国电子信息产业的薄弱环节。而集成电路领域人才属于国家紧缺人才,培养集成电路相关人才的需求日益凸显。整合我校微电子相关专业学院的学科专业人才优势,通信工程学院(微电子学院)积极响应国家需求,新建设了集成电路设计与集成系统专业。随着片上系统(SOC)芯片的广泛需求和芯片设计规模的急剧增大,其数字集成电路验证这一关键技术成为热门且短缺的技术。因此,我院针对集成电路发展的迫切需求,为集成电路设计与集成系统专业新增了“数字集成电路验证技术”课程,其作为专业必修核心课程之一的目的是为培养本专业数字集成电路方面专业化人才量身打造。目前,全国高校都在大力发展集成电路一级学科,课程设置成为高校招生和培养相关人才的重要一环,特别是在当前数字集成电路验证人才的广泛和急迫需求的背景下,“数字集成电路验证技术”的授课可以反映出高校集成电路相关专业的专业程度和专业倾向。同时,随着我国集成电路的不断发展,其人才队伍的专业化划分更加清晰,对专业化的数字集成电路验证人才需求量日益剧增。而全国高校针对数字集成电路验证技术的相关课程还非常缺乏,显然,这与就业需求背道而驰。因此,开设“数字集成电路验证技术”课程不仅积极响应了国家对集成电路人才的迫切需求,而且为学生的就业指明了更专业化的方向。该课程也帮助了学生就业方向的选择,也在一定程度上提高了社会竞争力。由此可见,开设“数字集成电路验证技术”课程势在必行。本文探究了“数字集成电路验证技术”专业必修课程在授课过程中的教学内容、方法,并就教学过程中遇到的各种教学问题进行了积极思考和详细讨论,希望能为数字集成电路类专业的授课提供一定的科学参考与帮助。
“数字集成电路验证技术”的授课对象是本科学生,因此,需要结合本科生自身的专业知识基础,这是本门课程教学的前提。而该课程的授课基础课程包括:数字电路、数字集成电路设计、C语言、Verilog编程技术,我院在开设本门课程之前已经完成所述基础专业课程的学习,因此对本课程的学习有较好的基础铺垫作用。基于此,本门课程的开设旨在验证集成电路设计模块,从验证的思想实现芯片在流片之前缺陷的规避。其教学内容主要从数字集成电路验证概念、验证流程、验证平台、验证策略、验证语言和方法学几个方面对该课程进行讲解与剖析。首先,对SOC芯片设计的整体流程进行讲解,着重介绍数字集成电路验证在整个SOC芯片流程的作用,意义及担当的任务,让学生建立良好的数字集成电路验证的概念。进一步地,通过对SOC芯片诞生的整个流程的介绍,引入数字集成电路验证技术在整个流程中的位置和承担的角色。并详细拆分数字集成电路验证的流程及过程,让学生明白如何对集成电路的设计模块进行验证,如何搭建芯片验证平台,以及如何有效地构建可移植的验证平台。同时,让学生了解和理解验证的思想和策略,学会将部分有效策略成功地移植到自己所设计的芯片模块或者系统中。其次,进一步剖析数字集成电路验证技术的核心手段和实现方法,即学习SystemVerilog编程语言来完成验证平台中的各个组件的实现,在构建好验证平台组件后,采用SystemVerilog编程语言完成模块的各个功能点验证,满足良好的功能覆盖率和代码覆盖率。
针对数字集成电路验证概念、验证流程、验证平台、验证策略几个方面的教学,主要通过引入实际芯片研发工程项目案例进行分析讲解验证概念、验证流程和验证平台。验证策略的教学主要总结验证技术中的策略分析,并以SOC芯片设计中所关联的验证模块作为实际例子,深度剖析在实际工程项目中所遇到的问题,以及验证工程师所采用的验证策略来规避问题,确保芯片在流片后的可靠性。让学生切实体会到验证策略的正确实施的重要性和有效性,并深入理解哪些有效的验证策略,这也是丰富学生工程经验的有效举措。这种引入实际项目案例的方式更能清晰地呈现数字集成电路验证的重要技术,使得抽象的技术具体化,让学生更容易理解和吸收。
针对“数字集成电路验证技术”课程的核心内容即掌握验证方法的SystemVerilog编程语言。采用SystemVerilog编程实现验证平台中各个组件,以及功能点的具体实现。故学好SystemVerilog编程语言是数字集成电路验证的重要环节。在对SystemVerilog编程技术的教学过程中,探索新型教学模式,摆脱传统枯燥语言学习的教学模式。通过引入工程项目案例中所用到的语法知识与书本知识相结合的模式,对SystemVerilog进行讲解。并在课堂上增设编程练习加强学生对语法知识的理解和熟悉。学习SystemVerilog编程语言除了让学生掌握这门编程语言的语法知识,更重要的是让学生理解和掌握SystemVerilog语言背后验证的思想和方法。具体在教学过程中的体现就是首先讲解SystemVerilog语言的语法结构和知识体系,涉及的SystemVerilog编程语言知识体系如图1所示。紧接着针对其重点和难点列举出该语法知识的具体例子,例子的引入均源于实际工程项目中的案例。使得学生更加深刻地明白语言的语法知识是如何嵌入至实际工程应用的。
图1 SystemVerilog编程语言知识体系
“数字集成电路验证技术”这门本科生的专业必修课程,采用了理论+工程项目案例混合的教学模式。但是由于本科生专业知识有限,且几乎没有工程项目实战经历,加之专业知识体系较难。导致学生无法全部理解语法知识和对应项目实践的案例代码,因此学习动力和信心有所下降,且该课程对应的实验课程进展起来难度大。其实验步骤、实验结果和实验报告部分学生无法完成。另外,学生也不愿意遇到问题立马与教师沟通交流,造成的结果就是学生很难理解所有课程内容,也更难深入掌握工程项目实际案例中的专业知识。
该课程的设置包括32学时的理论课和16学时的实验课,授课内容基于相匹配的理论课程内容。由于理论课程内容在比较多,且专业知识难度较大,学生掌握有限,对实验课程内容造成了一定影响,实验课堂完成相关的设计较为困难。同时,实验课程的课时量较少,导致学生实验内容掌握不好。一方面,实验课程的内容设置较难。一方面,该课程的实验内容需要构建基本的验证平台。这些验证平台包括:激励发生器、比较器、监视器及其他组件,这些组件全部是基于SystemVerilog语言来实现,工作量和实现难度系数都比较大。另一方面,对于学习这门课程的学生而言,还需要具备数字集成电路设计知识作为基础,对所要验证的设计模块有所了解。因此所设计的实验内容对于本科生来说存在一定的难度。加之,学生接触工程项目的机会较少,自身动手能力较弱也是对实验课程内容的设置造成一定影响。
本课程在教学过程中需要涵盖的内容较多,包括数字集成电路验证技术整体概念、验证流程、验证平台和验证策略的讲解,以及对SystemVerilog编程语言、语法及对应的工程案例的讲解。实验内容更是综合了理论课程内容,包括验证平台的搭建、验证策略、对设计模块功能点的验证。因此,该课程的较多的学习内容和较难的学习内容导致学生掌握的程度有限。课时量的不足也是导致部分学生理解不深入的原因之一。另外,本科学生专业基础知识有限,实际动手操作能力不够,无法深入地掌握教学内容。加之,本科生自身学习的积极性不是很高,对专业知识的探索欲较弱,使得教学难度进一步提升。综上分析,这些都对学生的学习效果和学习程度有一定的影响。
“数字集成电路验证技术”作为集成电路类专业必修课程,其重要程度显而易见。鉴于该课程的专业性很强,且本身难度较大,相关的学习资料、学习资源又较少,因此学生的工程实践能力较差。这就导致学生内心认为课程难度很大。针对该现状,在“数字集成电路验证技术”授课前提前布置基础知识点的预习,以确保授课过程中大家对新知识更容易接受和理解。同时,教师在授课过程中可以增加工程项目中的案例或工程项目中应用的某段代码进行讲解,结合所预习的基础知识,将这些简单的语法知识嵌入至工程项目,使学生的专业理论知识更加深入地得到巩固,因而相比单一地学习枯燥乏味的语法知识更加丰富和积极。针对课堂上采用讲解工程案例较难的问题,教师可以对案例的前因后果做介绍,并将案例中的代码分析以录视频的形式,发送给学生。解决学生在有限的课堂时间里无法对案例内容掌握彻底的问题。另外,增设课程线下工程案例练习,以小团队为单位在课下将课堂上举例的工程案例进行线下演练。团队之间在练习的过程中既加深了知识理解和提升了动手能力,又增强了团队协助能力和提高自身学习积极性。同时,该课程配备的辅助教师要有提高、促进授课教师与学生之间的交流意识,做好沟通桥梁作用。辅助教师多关心学生的学习程度和学习进度,收集学生对难点知识的意见,并与授课教师一起解惑学生学习过程中的不惑。授课教师和辅助教师在课堂上尽量语速放缓,将工程案例与书本基础知识结合起来以提高学生课堂上的吸收效率。为了更进一步提升项目工程实践能力,增加线下答疑互动的方式。通过建立微信群,学生可以在线下动手练习,遇到问题随时在群里询问,教师和助教在线上及时给予问题解答。利用好网络资源,将教学—实践在线上综合为一体化,能够有效提升学生的动手能力和学习积极性。
“数字集成电路验证技术”是一门具备专业性很强的课程,其实验内容也是该课程的一个重要环节。但是,由于课时量很受限,导致很多理论课程内容难以和实验课程内容很好地融合。课程实验内容的工程性质较强,对于本身缺乏工程经验的本科生来说存在较大的挑战。因此,为了进一步完善理论课程和实验课程之间的联系,需要适当增加实验课程的课时,使得实验的内容能够较全面的覆盖理论课程,让理论知识和实验内容得以有效结合。另外,在实验课程设置方面,采取由易到难的课程设置模式,并循序渐进地嵌入理论课程的基础知识至实际项目中的工程案例中,这些工程案例即截取实验内容中的部分。这样,在实验过程中,学生对用到的理论知识就没有那么陌生和抽象了。同时,在理论课程的授课过程中增加部分实验内容进行深度剖析,并以小作业的形式鼓励学生课后进行上机练习,巩固知识。在实验课程设置方面,结合理论知识点,将工程项目案例进行分解成若干个小实验,并在实验课堂上强调小实验中用到的理论知识,有效地将实验和理论有机结合。最后,将这些拆分的小实验串起来,就构建成整个工程项目案例。这样由易到难的实验课程内容解析设置不仅能有效地将理论和实验相结合,还能解决学生动手能力差、实验内容难的问题,最终达到良好的教学目的。
随着移动互联网和信息技术的发展,当今课堂教学已经不再仅限于以往单纯的黑板的线下教学模式。尤其是在集成电路技术的飞速发展的大形势下,利用软件技术构建数字集成电路验证虚拟机平台,该平台在Linux 系统的环境下集成Veridi、VCS仿真调试工具,有效地将实验室平台搬移到寝室、家里、图书馆等任何地方。学生只需要有电脑,就可以随时随地完成课程实验、工程项目。为学生创造了基于本课程灵活的学习平台。解决了学生使用工具难的问题,增强实验教学的灵活性和可移植性,进而提升教学效果。
综上所述,“数字集成电路验证技术”授课是目前集成电路领域比较新颖的一类课程,尤其是该课程在面向本科学生授课及其实验课程的设置,难免会遇到一些新的教学问题。但只要勤于思考、与时俱进、敢于改变,一定会克服这些负面影响,获得更好的教学效果,一定程度上解决国家对集成电路人才急需的重大难题。