VerilogHDL与计算机硬件课程融合探析

摘要:文中分析现代电子产品设计技术,VerilogHDL描述电路系统的方法与特点,依据近年来教学实践,结合计算机专业的特点,总结了VerilogHDL融入“数字逻辑”和“计算机组成原理”课程教学中的方法、经验与体会。

关键词:VerilogHDL;数字逻辑;计算机组成原理;计算机硬件

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)07-1682-02

Analysis on Fusion in VerilogHDL and Computer Hardeware Subject

CHENG Gui-hua,QI Xue-mei,LUO Yong-long, ZUO Kai-zhong

(College of Mathematics and Computer Science,Anhui Normal University, Wuhu 241000, China; Engineering Technology Research Center of Network and Information Security, Anhui Normal University,Wuhu 241000, China)

Abstract: In this paper,it is analyzed with modern electronic product design technology and Describing methods and characteristics of circuit system in VerilogHDL, according recent years teaching practice, combining the characteristics of computer speciality, experience and understanding are summarized with verilogHDL into "digital logic" and "principles of computer organization" teaching methods.

Key words: VerilogHDL;digital logic; Computer Organization Principle;computer hardware

1概述

随着计算机技术和电子技术的飞速发展,EDA技术的兴起与应用使计算机硬件设计的理念与方法发生了巨大变化。计算机硬件课程的教学应紧随技术前沿,将EDA[1]关键技术和核心内容引入硬件课程教学,有利于学生掌握计算机硬件设计、制造、调试和运行维护等多方面的技能;培养和训练学生的动手能力、创新能力;提高计算机专业毕业生的“硬”功夫。

EDA的关键技术之一是采用硬件描述语言(HDL)描述电路系统,通过开发工具进行功能仿真、综合、优化、布线后可转换为FPGA码流文件[2],通过FPGA实现电路功能。对于FPGA来说,常用的HDL有VHDL和Verilog HDL[3],因VerilogHDL在门级描述的底层具有更强的功能,且具有类似于C语言的表达风格而被广泛选用。

“数字逻辑”是计算机专业的硬件基础课程,“计算机组成原理”是计算机专业的硬件主干课程,起承上启下的作用[4],将VerilogHDL纳入“数字逻辑”和“计算机组成原理”教学计划,并贯穿于整个教学过程,是目前计算机硬件课程教学的主流方向,更有利于提高学生创新能力与综合素质。

2 VerilogHDL与“数字逻辑”课程融合

2.1重构数字逻辑教学内容

随着技术的进步,绝大部分电子产品采用了数字技术,电子产品的设计利用VerilogHDL完成。因此,数字逻辑课程应弱化中小规模集成电路芯片内部电路、触发器内部工作原理、状态化简、异步时序内容的教学,精简布尔代数和卡若图传统化简方法的教学;应结合VerilogHDL描述电路系统的方法与特点,重新组织数字逻辑课程教学内容。

VerilogHDL采用系统结构的设计思想、自顶向下的设计方法设计电路,可逐个模块分别描述、仿真与优化,简化整个电子系统的设计与实现。因此,“数字逻辑”课程的教学应突出功能模块设计的特点,强化芯片外部逻辑功能和时序特性的分析,FPGA原理的讲解与应用。在教学中以逻辑代数与VerilogHDL为基础,综合应用“自顶向下”,和“自底向上”的方法设计和实现教学案例。教学案例可选用计算机中的基本逻辑部件[5],如译码器、编码器、数据选择器、比较器、加法器组合逻辑与多功能移位寄存器、计数器、存储器时序逻辑等基础知识。通过课程的学习,初步建立计算机基本逻辑部件设计的概念,为后续硬件课程的学习奠定基础。

为巩固理论知识,可适当安排中小规模集成电路芯片设计应用性实验,如用138译码器设计端口寻址电路,用三态门和寄存器设计数据端口。然后,可安排基于VerilogHDL的功能模块的设计,通过FPGA完成超前进位加法器、串并转换、数码显示控制、优先级管理等计算机计基本模块的功能。实验教学采用开放模式[6],实验时间开放、实验环境开放、实验方案开放,教师重在实验方案上给予个性化的指导、激发学生的学习兴趣、注重学习动机的引导与思维方式的培养;加大实验考核的力度,考核实验方案的灵活性、学员对实验原理理解的深度及实验的可扩展性。

2.2适时引入VerilogHDL

在计算机专业领域,基于FPGA设计实现运算器、控制器、存储器、I/O接口、甚至整个计算机已很常见,因此在“数字逻辑”教学过程适时引入VerilogHDL,使两者融为一体至关重要。

首先,合理安排讲课顺序。将VerilogHDL的讲解安排在时序逻辑之后,结合基本逻辑电路图的分析与设计讲解VerilogHDL的相关知识,以便学生首先建立逻辑电路的概念,然后再将VerilogHDL与逻辑电路建立关联,深入了解VerilogHDL描述电路的必要性与优越性。

其次,重点讲解VerilogHDL与C语言的区别与联系。计算机专业的学生在一年级开始学习C语言,经过训练已具备良好的C语言编程经验与能力,而VerilogHDL具有C语言的表达风格,对于VerilogHDL的语法知识,学生容易掌握和理解,同时也容易混淆。

VerilogHDL与C语言的本质区别:一是VerilogHDL的描述必须与逻辑电路紧密联系,要求学生对所要描述的电路的功能、输入、输出、时序、状态转换等信息要有全面透彻的了解,通过分析与VerilogHDL程序对应的电路图讲解输入变量的赋值方法、解读输出变量、时序及状态转移等信息;二是语句执行机制不同,C语言完全是顺序执行机制,VerilogHDL的语句有顺序和并行机制之分,并行机制中语句描述的电路功能模块同时运行、与语句的先后顺序无关。

VerilogHDL与C语言的关联性:VerilogHDL主要针对硬件电路进行描述,算法表达不方便,而C语言因使用广泛,相应C语言的开发环境也就更加完善。因此,C语言与VerilogHDL可以互相配合使用,即利用VerilogHDL对硬件描述的精准性,借助C语言开发环境的完整性,快速高效设计电路系统。利用C语言的灵活性、查错功能强的特点设计功能正确的模块,然后将程序改为并行结构的程序段,调试正确后,再用VerilogHDL关键字替换C语言关键字,进入VerilogHDL环境,进行编译、仿真,并比较两种模块的输出结果,以便及时发现错误,重复上述过程直到正确为止。

最后,精心设计教学案例。教学案例的选择应综合考虑学生的兴起和课程的延续性。为激发学生的学习兴趣,可用VerilogHDL设计控制器使布置在圆周上的若干个发光二极管逆时针、顺时针或闪烁点亮且其时间间隔是可调的;为保持课程的延续性,可用VerilogHDL设计ALU、寄存器堆、多功能移位寄存器、单脉冲发生器等计算机计本逻辑功能部件,为“计算机组成原理”课程的学习奠定基础。

3 VerilogHDL与“计算机组成原理”课程融合

计算机组成原理是计算机专业硬件主干课程,在整个课程体系中起着承上启下的作用,课程中涉及的知识面广,有些理论抽象难懂,将课程中难点与重点整合为教学案例,利用VerilogHDL进行描述,通过设计、调试、仿真与模块功能的实现可使学生深入理解课程中的重点难点,为后续课程的学习打下基础。

在计算机组成原理课程中融入VerilogHDL,重点是教学案例的设计,难易适中兼具渐进性和系统性。首先,利用VerilogHDL描述运算器,综合ALU、寄存器堆、多功能移位寄存器功能模块,再增加少量的状态寄存器即可完成,难度适中,同时充分利用数字逻辑课程中已实现的案例,通过调试、仿真使学生更好地理解运算器的工作原理;其次,利用VerilogHDL描述存储器;最后,利用VerilogHDL描述微程序控制器,微程序控制器是计算机组成原理课程的一个难点,由于微程序控制单元看不见、摸不着,涉及许多概念,如:微程序入口地址、微指令格式、下址等概念难以理解,通过设计、调试、下载和验证过程,可以深刻理解微程序控制计算机的本质,了解软硬件协同工作的原理,建立整机的概念。

4结束语

近年来,计算机硬件设计的理念与方法变化巨大,对计算机硬件课程的教学提出了更高的要求。实践证明,将VerilogHDL融入计“数字逻辑”和“计算机组成原理”课程教学过程,可以培养了学生理论联系实际的的能力,通过训练使学生掌握计算机硬件设计、制造、调试和运行维护方面的技能,提高学社实践与创新的能力。

随着计算机和电子技术的进步,计算机硬件课程的教学仍然还有很多工作值得我们去研究和实践,只有不断探索与总结才能有效地提高实验教学质量,使计算机硬件课程教学紧跟技术前沿。

参考文献:

[1]鲁鹏程,易小琳,方娟,等.在计算机组成原理课程中培养学生动手实践能力[J].计算机教育,2011(12):52-54.

[2]夏宇闻.Verilog数字系统设计教程[M].2版.北京:北京航空航天大学出版社,2008.

[3]彭保,范婷婷,马建国.基于Verilog语言的FPGA设计[J].微计算机信息2004,20(10):80-82.

[4]唐朔飞.计算机组成原理[M].2版.北京:高等教育出版社,2006.

[5]向琳,张展,罗丹彦,左德承,唐朔飞.“计算机组成原理”实践教学探讨[J].计算机教育,2008(20):82-83.

[6]吕海燕,吕红,王丽娜,等.《计算机硬件基础实验》教学模式研究与实践[J].计算机技术与发展,2011,21(5):238-241.

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花