第5期 2018年5月10日 计算机教育 Computer Education 71 文章编号:1672—5913(2018)05.0071—05 中图分类号:G642 数字逻辑电路课程设计实验教学改革与实践 肖 杰,李 强,龙胜春,胡海根,卢书芳 (浙江工业大学计算机科学与计算学院,浙江杭州310023) 摘要:针对计算机专业学生的数字逻辑电路课程设计教学存在的不足,提出有针对性的实验教学改 革思路,首先选择类c的Verilog HDL语言做设计性实验,其次根据从单一到综合的学习规律与专业 培养目标的要求,精心设计3个逐层递进的实验课题,最后在考核方式上对于自选题组采用项目答辩 模式对课题成果进行考核,并以实例说明教学效果。 关键词:数字逻辑电路;实验教学改革;Verilog HDL;课题设计;考核方式 0 引言 前计算机专业学生需要进一步提升的素养,也是 当前学生创业、创新实践中所需的内容[4]。 我们在实际教学过程中还发现,计算机专业 学生往往表现出更加擅长软件编程,在硬件方面 则较为薄弱,具体表现为对硬件缺少了解或者缺 少兴趣。目前采用VHDL语言开展逻辑电路设 计的实践性教学,对计算机专业学生来说还是较 为困难,主要在于缺少相应课程的支撑从而造成 学生缺乏EDA编程基础,难以在短期内快速掌 握VHDL语言。因此,在实验教学过程中,利 用类c的Verilog HDL语言,结合学生擅长软件 编程的基础,通过融人数字逻辑电路知识的学习 与实践,便可较好地在复杂工程综合设计与运用 方面锻炼学生的能力。 数字电路与数字逻辑课程是计算机科学、计 算机+自动化等专业本科生在硬件技术方面的 专业基础必修课。通过该课程的学习,学生能够 获得数字电路与数字逻辑方面的基本理论、基本 知识和基本技能,理解数字电路的工作原理及应 用,掌握数字电路的分析与设计方法,为后续相 关课程的学习奠定基础。在物联网发展大背景以 及教育工程专业认证的大环境下,社会发展对学 生提出了更高的要求,要求学生能够根据特定需 求对复杂计算机系统的子模块或子单元进行软硬 件设计和实现,理解计算机系统工程化管理的概 念与方法[1-2]。 然而,当前的教学实践主要通过设计一定的 课内实验,使学生掌握常用电子仪器的使用方法 和常用中大规模集成电路的装配方法,加深学生 对数字电路与数字逻辑有关理论的理解,以此培 养学生分析设计和解决实际问题的能力[3】。这些 设计实验不具备复杂工程问题背景,学生难以在 设计过程中体会相应的思想和方法以及提升足够 1 实验教学改革与实践思路 一般来说,数字电路与数字逻辑课程计划 学时数为64学时,其中授课56学时,实验8学 时。该课程的课内实验8学时只局限于基本数字 逻辑电路知识的练习,定位于基本电路的练习和 掌握,见表1。显然,这还不足以支撑该课程教 学内容以达成其教学目标。 的创新意识,也没有融入社会、健康、安全、法 律、文化、环境等因素的考量,而这些因素是当 基金项目:国家自然科学基金项目(61502422);浙江省自然科学基金项目(LQ15F020006,LY18F020028);浙 江工业大学课堂教学改革项目(KG201616,GZ17091190002);浙江工业大学创新性实验项目“浙江工业大学计算 机类相关专业硬件实验项目的改革与探索”。 第一作者简介:肖杰,男,研究方向为电路可靠性评估与容错性设计、深度学习、组合优化计算,xiaojiexqj@ foxmail.como 计算机教育 72 Computer Education 表1 数字电路与数字逻辑课程课内实验安排 为了进一步提高学生的实践动手能力,特别 是学习现代数字系统设计方法,开展共计20个学 时的数字逻辑电路课程设计实验课程是有必要的。 该课程最初采用VHDL语言,然而从近几年计算 机专业学生的实验效果来看,教学效果并不理想。 主要原因有两点:①VHDL较为复杂,计算机专 业学生没有EDA编程基础,难以灵活运用该工具 语言进行电路设计,实践中大都采取“依葫芦画 瓢”的方式,缺乏主动思考和分析,不利于充分 发挥学生的主观能动性;②当前工程领域中,较 多企业采用Verilog HDL进行电路设计[5]。 1.1 课程教学思路的改革 针对计算机专业的特点与现状,该课程初步 安排了4个理论学时和16个实验学时进行展开, 同时还要求学生自主安排相应的课外自学课时。 理论教学的安排见表2。首先讲授FPGA结 构和原理,有利于学生快速熟悉数字逻辑电路的 设计与实验平台;其次讲授Verilog HDL语言, 便于计算机专业学生快速掌握这一门类c的硬件 设计语言;最后借助一个简单的数字系统设计方 法的演示案例,使学生初步掌握电路的基本设计 方法与技巧。 表2数字逻辑电路课程设计理论教学安排 理论教学完成后,再安排“2必做+1自选” 的实验操作与设计内容。需要说明的是,必选题 目侧重于学生掌握基本知识和熟悉操作;白选题 目则充分参照公司项目的操作流程,需要学生组 队完成市场调研、分析设计、确定开发工具、项 目实现、评估优化、开发说明书等环节,最终通 过项目演示与答辩的形式通过验收评价。 1.2 实验课题的设计 实验课题的安排见表3。 表3数字逻辑电路课程设计实验操作安排 1.2_1必做课题1:1 2进制计数器 实验要求:基于原理图设计12进制计数器, 原理框图如图1所示,状态转换图如图2所示。 计数脉冲由实验板上的按键产生,计数值通过 LED数码管显示,由EDA软件自带元件库提供 的74192(十进制加减计数器)和7447(共阳7 段LED显示译码器)元件构成。 1.2.2必做课题2:4位数字频率计 实验要求:①分别采用自顶向下与自底向上 的设计方法进行设计。顶层设计可采用原理图, 也可采用Verilog HDL语言描述,底层模块均通 过Verilog HDL语言描述;②系统的输入标准时钟 信号频率为1MHz,可测量的频率范围为1 999 Hz;③系统具有复位信号且有溢出指示,计数频 率通过4位共阴数码管显示。 1.2.3自选课题3 学生可自由选择3个题目中的1个进行设 第5期 浙江省计算机应用与教育学会教育委员会第二十一届年会 73 FPGA 图1 12进制计数器原理框图 图2 12进制计数器状态转换图 计实现。自选题目的整个实验过程参照实际工程 项目的实施流程来实施。首先,学生进行自由组 队,2~3人/组,其中,1~2人负责市场调研(以 确定拟采用的元器件型号)、电路结构设计、产 品测试等,1人负责模块代码设计;其次,根据 市场调研结果,确定所采用的元器件具有较小的 成本,并确定所设计的电路结构具有较高的可靠 性以及较强的可操作性,然后开展项目任务的设 计、开发与测试;最后,完成报告的撰写以及答 辩材料的准备,并进行答辩,需要注意的是内容 上要求完整,包括项目设计目的、结合调研结果 的总体方案设计(设计要求、方案论证与选择、 设计思路及原理)、单元模块设计、顶层设计、 系统功能仿真及调试、总结与体会、参考文献、 源代码等。 (1)自选题1:出租车计费器的设计与实现。 要求实现如下功能:①实现计费功能,计费标 准:按行驶里程计费,起步价为7.0元,并在行 驶3 km后按2元/km计费,当计费器达到或超 过20元时,每km加收50%的车费,车停不计 费;②现场模拟功能:以开关按键模拟km计数, 能模拟汽车启动、停止、暂停等状态;③将车费 和路程分别以10进制形式显示出来。 (2)自选题2:智力抢答器的设计与实现。 要求实现如下功能:①实现5人抢答器,一旦有 人抢答成功,其他人则抢答无效;②在数码管上 显示抢答成功者的序号;③抢答成功后开始20 S 的答题倒计时,当倒计时结束,通过蜂鸣器响I s 提示回答问题时间到,并开始新一轮抢答,且数 码管要显示倒计时开始所剩时间;④主持人可通 过按键清除所有信息。 (3)自选题3:数字闹钟的设计与实现。要 求实现如下功能:①具有基本的计时功能;②闹 钟时间可调;③闹钟时间到通过蜂鸣器响30 s, 中途可以通过按键停止;④若无外界干预,闹钟 每隔3 min响一次,直至15 min后结束。 1.3考评体系的设计 答辩过程主要由学生PPT展示和教师问答 环节构成,使用分组答辩,每组2位老师,再根 据实际情况邀请校外专家。首先,学生进行系统 演示;其次,学生展示PPT进行答辩;最后,教 师点评。 学生成绩由以下几部分构成:功能实现(包 括测试)占比50%,可靠性评价[6 占比10%,代 码质量评价占比10%,成本开销占比10%,报告 完整性占比10%,回答问题占比10%。 2 改革与实践成效 从实验过程及结果的反馈来看,针对FPGA 结构和原理、数字系统的设计方法这两部分内 容,绝大部分学生能较好掌握,对于Verilog HDL语言基础的掌握情况则相对较差。一方面, 前面两项内容相对简单且学生有较好的程序设计 基础,掌握起来相对容易;另一方面,学生平常 接触更多的是串行化的程序设计风格,对Verilog HDL的并行化程序设计风格还不太熟悉,因此 实践过程中较容易犯错。 实验1的目的是让学生通过简单设计实例熟 练掌握Quartus II的基本操作,包括设计输入、 编译、仿真、管脚锁定与下载,并熟悉DE2实 验板。实验结果显示,学生均能通过基于原理图 方法实现对12进制计数器的设计与仿真。 实验2的目的是让学生掌握Verilog HDL 语言的基础知识,能编写常用数字电路Verilog HDL代码,并掌握原理图和Verilig HDL的混合 设计方法。在实验过程中,存在部分学生不能 正确理解阻塞赋值与非阻塞赋值的区别、在生 成Verilog HDL程序的逻辑符号时忘记将文件置 顶等问题,因此,本实验的设计对强化学生的 计算机教育 74 Computer Education Verilog HDL语言基础知识及进一步熟悉Quartus 者Verilog HDL今后会有用。然而,受限于数字 逻辑电路理沦课的学习,高达80%的学生认为自 己只会基于原理图完成简单电路的没计,尤法独 II软件操作至关重要。 实验3的口的是让学生将Verilog HDL编程 ‘ 实际工程结合起来,熟悉编制和调试程序的技 巧.掌握分析结果的若于方法,进一步提高上机 动手能力,培养使用设汁综合电路的能力和规范 编程的思想,养成提供文档资料的习惯。通过这 个实验,学 可以进一步理解触发器、计数器、 锁仔器等的_r作原理,掌握利用Verilog HDL行 为描述综合数字系统的基本方法。尽管在5 h的 时间内,没有学生能完全 确地完成这个实验的 没汁与仿真,但他们在课外的几个星 立完成更复杂的电路没计或者对电路进行功能与 时序测试, 通过本课程设计的学习,90%的学生埘硬件 开发感兴趣;83%的学生认为有必要多开没一些 硬件_卡}j关的工程实践类实验课程;78%的学生认 为实验课题设置合理,通过查阅资料并结合教师 课堂所讲授知识町以完成实验 某组学生白选课 题的部分实验结果腮示如图3所示..此外,也有 期里仍然探讨并最终基本完成了这个 实验 虽然学生未能充分结合市场调 -鼍,‘ ‘’i 删 :, 口 0 0 喀◆◆▲謇 妇lI ’ 研结果设计出一个低成本、高可靠性 的产品,但是培养了把控产品成本与 可靠性的意识、设计综合电路的能力 及冈队协作精神 总之,这 实验课题的设计在安 排卜足从馨础逐渐过渡到扩展提高的 一埋t I e盱 曩●口 盘 ,- i(k ̄lemeter,money.a.5cOp.sr.at ̄,5他pend,毗.m0,kl,】c。 i 2,b3.bd s ̄az't,suspend u put stop ,input a 0ut c【L: l nl ter-money m。.nt k0; output【: 】mi,outpat f c: j bl,b2,b3一b4 rag【c:】 ni恤 cer·mo ̄e ̄; zeq【: ] m1.m0,¨.k0 req f : j b1.b2,b3.b4r niometetreg I :1 moneyreg r。 aiwaya ̄(p0 seal ̄e aI 1f‘sl:opI 能 要求。通过没计l2进制计数器. 学_牛可以进一·步巩固和打¨深对相关课 程基本理论和概念,提高综合运用所 学知识的能力;而4位数字频率l- ̄-fia 使学生掌握自底向上和自顶向下的设 汁方法,充分感受这两种没计方法的 特点。设置一些有趣的自选课题,能 (a)计费器设计原码 调动学生的积极性,促使学生进行独 分析,最终实现这些具有一定工程 复杂性的设计’课题,培养学生综合设 ‘和实践创新的能力,行在此过程中 (b)集成的计费器 培养团队合作能力,初步了解工程项 日开发实践流程。 为了更好地r解本课程设计实验 教学的效果,我们在开课前后分别设计 了一套匿名问卷并在学生中进行调研。 结果显示,大部分学生还是对硬件感兴 趣的,如在开课之前虽然几乎所有学生 没有接触过VHDL这样的硬件开发设 计语言,但是仍有35%的学生对硬件 开发感兴趣,并且认为学习VHDL或 (C)计费器测试结果 图3某组学生自选课题部分实验结果展示 第5期 浙江省计算机应用与教育学会教育委员会第二十一届年会 75 20%左右的学生认为需要教师更详细地讲解并提 验,并设计“2必做+1自选”逐层递进实验课 供更多的相关资料;还有10%左右的学生反映 题的实践,使学生理解数字电路的工作原理及 对自选课题毫无头绪,不知从何着手。 应用,掌握数字系统的基本设计流程与方法, 针对学生反映的问题,我们采取了如下措 熟悉复杂电子系统的相关技术标准、知识产权、 施帮助学生顺利完成课题设计任务:①利用教 产业和法律法规;此外,通过产品的可靠 师与学生的业余时间额外开设了4学时的理论教 性分析与成本测算,培养学生的产品质量与成 学课程,供需要的学生自愿听课;②通过开通 本控制意识。自选题采用团队方式开展,以项目 即时聊天的群聊与单聊模式、公布移动电话号 答辩的方式进行考核,充分锻炼学生的团队协 码等方式,方便教师随时随地为学生答疑。从实 作和综合设计开发能力。从实验效果来看,针对 际效果来看,相比第①种方式,第②种方式明 计算机专业学生的该项实验教学改革是有效的, 显更优。 但是实验过程中也暴露出一些不足,如学生还 难以熟练运用Verilog HDL进行复杂电路设计, 3 结语 未能扬长避短设计出更为合理的实验课题以适 应当前计算机行业的发展需求等,这也促使我 在数字逻辑电路课程设计的实验教学改革 们在今后的实践教学中进一步探索,不断深入 过程中,我们采用Verilog HDL开展设计性实 和完善。 参考文献: [1】中华人民共和国教育部.工程教育专业认证标准(试行)[EB/OL].[20I7-12—30].http://www.moe.edu.cn/s78/A08/gjsleft/ —rnoe742/s5638/s3861/201 1 10/t201 1 1008125419.htm1. —【2]赵宏,王恺.我国大学计算机课程现状及改革探索[J].中国大学教育,2015(2):50-54. [3】龙胜春,孙惠英,肖杰.电路与电子技术基础实验指导[M】.北京:清华大学出版社,2015:1-59. [4】Palnitkar S.Verilog HDL:A guide to digital design and synthesis[M].2nd ed.New Jersey:Prentice Hall Press,2003:226—237. [5】Ciletti M D.Verilog HDL高级数字设计【M】.2版.北京:电子工业出版社,2014:1-4. [6 Xi6]ao J,Lee Jiang J,et a1.Circuit reliability estimation based on an iterative PTM model with hybrid coding[J].Microelectronics Journal,2016,52(4):l17—123. (编辑:宋文婷)