王建民,曹一江,田晓华,贺训军,梅金硕
(哈尔滨理工大学 电子科学与技术系,黑龙江 哈尔滨150080)
近年来,随着计算机和微电子技术的发展,硬件描述语言HDL 逐渐成为数字设计的主流方法[1]。高校电子信息类相关专业已开设了“硬件描述语言”课程。由于硬件描述语言的出现与发展仅有20多年的历史,该课程在高校课程体系中的地位以及教学内容并不明确。不同专业讲授的内容,培养目标也各有不同。我校从2007 级开始,对“硬件描述语言”课程进行了一系列的改革与实践,取得了良好的效果。
在教学实践中,我们发现“硬件描述语言”课程存在以下一些问题:①课程设置目标并不明确,笔者认为该课程的目标应该是数字设计的基本理论和实践,而硬件描述语言只是设计工具;②课程内容与数字电路基础课程有所重复。教学中出现的设计实例,基本上以演示Verilog HDL 语言结构的使用为目的,大多数是数字电路基础课程中一些设计实例的重复,如数据选择、计数器和全加器等;③课程实践环节以软件仿真为主,学生缺乏实际动手机会。即使课程中安排相关的基本FPGA 或者CPLD 的设计实验项目,也多为数字电路基础课程实验内容的简单重复。
我们针对以上存在的问题及我系的实际情况,明确了“硬件描述语言”课程在整个教学体系中的地位以及培养目标。
数字设计类课程体系分为三个层次:①第一层次为数字设计基础性课程。主要内容包括数字电路基本概念,以及基于中小规模集成电路的数字电路的分析和设计;②第二个层次是“硬件描述语言”课程,定位为数字电路基础课程的延伸,以Verilog HDL 为工具,介绍寄存器传输级RTL(Register Transfer Level)数字系统设计的基本概念和方法,以数字设计的理论和方法作为课程重点[2,3];③第三层次为数字集成电路设计。
该课程改革的总体目标:①以培养应用型数字设计人才为目标,介绍基于硬件描述语言的数字设计的基本概念和原理;②硬件描述语言作为设计工具,讲授与实际设计密切相关的语法结构;③加强实践教学环节,提高学生综合实践能力。
目前国内已出版的“硬件描述语言”课程教材多以讲授语法为主,为体现“用语言,讲设计,重实践”的改革思路,我们编写出版了新教材[4]。该教材以Verilog HDL 为工具,介绍现代数字系统设计的基本概念和方法,有如下主要特点:①以数字系统设计为主线;②以Verilog HDL 为工具;③阐述数字系统设计的基本概念、原理和方法;④以数字系统的基本结构安排全书内容。
本课程的理论教学内容按照RTL 数字系统的典型结构(如图1所示)进行组织。通常情况下,典型的数字系统由数据通道和控制器两部分组成。数据通道由路由网络、功能单元以及数据寄存器组成。控制器则由次态逻辑、状态寄存器和输出逻辑三个部分组成。
我们在教学中强调基于标准模板方式进行数字逻辑电路的设计[1],将电路中的组合逻辑和存储元件分开描述,使理论教学思路更加清晰。每个主题对应数字系统结构一部分,教学内容如表1所示。
表中的设计实例对理论教学起至关重要的作用,理论教学中特别注重设计实例的选择。主要考虑如下方面:①设计实例的连续性;②设计实例的应用背景,方便在CPLD 和FPGA 上实现;③帮助学生理解设计概念,难度适中。
图1 数字系统的基本结构
表1 理论教学内容
在教学过程中,我们精心选择和安排设计实例以加强理论教学的效果。例如,在基本时序逻辑电路设计教学中,以往教师常采用计数器、移位寄存作为设计实例。但由于比较抽象,不容易实际验证,只能通过软件仿真方式对设计进行验证,教学效果并不好。现在,我们改为采用反应时间测试电路作为设计实例,采用线性反馈移位寄存器作为随机序列发生器使用,而且还涉及按键、以及7 段显示译码电路等组合逻辑的使用。不但达到了讲解线性反馈移位寄存器的目的,而且由于反应时间测试电路易于采用CPLD 或者FPGA 实现,学生能够直观体会到设计成果。
我们在教学中还涉及许多其他类似的设计实例,比如键盘消抖电路、扫描编码电路、信号边沿检测电路及SRAM 的读写电路等[5,6]。
我们依托我校电路与系统实验室较好的软硬件设施,建立一套具有如下特色的“硬件描述语言”课程实践教学体系。
1)实践教学体系的层次化
课程实践教学体系分为三个不同层次展开。
(1)实验教学环节,要求所有学生必须完成。主要实验内容包括:熟悉设计软件、FPGA 开发流程和理论教学内容匹配的验证性和设计性实验项目。此类实验项目一般难度不高,学生借助实验指导书可独立完成。
(2)依托学校开放性和创新性实验项目开展的开放性实验项目,由学生组队或者个体独立完成。首先需要向指导教师提出完整的项目申请,指导教师根据实验项目的内容、难度和可行性等指标进行评估,并与提出申请学生进行交流讨论,最终决定可以开展的实验项目。实验期间指导教师需要根据学生的申请对实验内容进行改进和完善。
(3)以各类电子设计比赛以及省级和国家级创新实验项目为目标的实践项目。在开放性实验项目基础上,鼓励学生积极参与。在电子科学与技术系四年实践教学中,我们共同完成校级创新性实验项目5 项,其中3 项成功申报并获批国家级大学生创新实验项目。
2)实践教学体系的开放性
一是开放实验室,学生通过预约就可以随时到实验室完成自己的实验工作。二是实验项目的开放性,除少数实验项目有所规定绝大多数的实验项目都是开放的,并没有统一的标准答案。学生可以充分发挥自己的创造力,设计并完成实验内容。
3)以学生为本,教师发挥引导作用
在实践教学中充分发挥学生的主观能动性和创造性、教师在实践环节中主要起指导和督促作用。例如,电子科学与技术专业2007 级个别学生对简易CPU 设计实验很感兴趣,教师根据这一情况,积极引导学生查阅有关CPU 设计的相关资料,进行深入学习,最后成功地申请到2009年一项国家级大学生创新实验项目。
4)面向工程应用
针对学校实践环节与学生毕业后工作实践存在差距,我们在实践教学中也做了一些尝试,具体措施还包括:①实验代码必须严格遵守工程项目的一些统一规定,比如严格注释要求、变量和信号命名要遵守统一的规范,代码的编写要遵从前后一致的风格等;②要求预习报告、实验报告以及开放性实验申请书等都按照实际工程项目文档格式进行编写。学生在提交申请开放性实验项目时,其申请书必须包括功能需求分析和方案分析以及成本控制分析、市场前景展望等一些工程项目实践报告必须包含的基本内容;③要求学生在实验过程记录并完成调试笔记。
必须提到我们某些实验课程还是比较简单的,与实际的工程项目相比还有较大差距。但通过这些措施的落实,学生对实际工程问题会有更多了解。他们的工程意识得到了提高,毕业后适应工作岗位的时间便缩短了。
[1] 夏雨闻. Verilog 数字系统设计教程(第2 版)[M],北京:北京航空航天大学出版社,2003.7
[2] 黄伟军等. “单片机原理与应用”课程教学改革的研究[J],南京:电气电子教学学报,2010,32(6):29-30
[3] 李爱涛,孙桂萍,徐俊. 关于通信类专业实验教学的研究[J].南京:电气电子教学学报,2012,34(1):63-64
[4] 王建民,田晓华,江晓林. Verilog HDL 数字系统设计[M]. 哈尔滨:哈尔滨工业大学出版社,2011.6
[5] 谢跃雷,伟雪明.“数字系统设计基础”教学探索与研究[J].南京:电气电子教学学报,2007,29(3):23-25
[6] Pong P. Chu. FPGA Prototyping by Verilog Examples[M]. New Jersey:A John Wiley & Sons,Inc. Publication,2008.7