SCI论文(www.lunwensci.com):
摘要:计数器的设计与应用是数字逻辑课程中的重要内容,通常采取的是纯理论的授课方式,本文主要从利用多种计数器方案结合的教学理念出发,基于Quartus II设计工具完成了多种方式的计数器的设计及仿真。实例设计时遵循从简单到复杂、具体到抽象的方法,让学生能更好理解计数器的分析和应用。
关键词:数字逻辑;实例教学;计数器;Verilog HDL
本文引用格式:陈李胜,等.数字逻辑教学中计数器教学实例的设计[J].教育现代化,2019,6(45):148-150,157.
一绪论
数字逻辑主要是对各类事件进行逻辑抽象,然后进行逻辑判断,实现智能控制。它是所有电子信息类相关专业重要的核心基础课程,是一门既需要理论知识作为基础又需要分析应用技能作为提高的课程。在数字逻辑中,一些优秀的教学实例设计和实施有非常积极的作用。教学实例除了能让学生更好地巩固理论知识,同时还能较好地培养学生逻辑思维能力、动手能力和创新能力。因此,通过将数字电路中一些实用性较强并且重要的知识内容进行实例化的设计搭建、引进软件仿真平台、结合EDA技术开展教学实例的设计等,加强课程间知识的交叉与融合,增强学生对知识点的理解,拓展学生的实践能力,更好地培养应用型的人才。
二计数器教学实例的设计
在数字逻辑电路的众多应用实例中,计数器是在数字系统中使用最多的时序逻辑电路之一,计数器在数字系统中主要是对输入的脉冲进行计数,计数器种类也比较多。按照不同分类原则大致可分为:
(1)按计数器中的编码方式可分为:二进制计数器,二-十进制计数器,格雷码计数器等;(2)按计数过程中的数字变化分类可分为:加法计数器,减法计数器,可逆计数器;(3)按计数器中触发器翻转是否与输入脉冲信号同步可分为同步式和异步式两种;(4)按进制来划分种类分为二进制,十进制,一百进制,任意进制[1]。本计数器教学实例选择了和日常生活最接近10进制计数器为例。
计数器是一种非常典型的时序电路,它的组成器件非常的简单。计数器最大的作用是记录和累计输入的脉冲的个数。当然计数器不仅可以对脉冲进行详细地计数,而且还可以进行分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等操作。在通信、数据记录等方面经常用到。现在所有的数字系统的核心处理器部分一定是含有计数定时器这个基本单元的,不管是传统的51单片机还是ARM、DSP等处理器都肯定是基于计数器这个核心单元的。计数器的应用非常的广泛,可以说它是数字逻辑的基础,也是很重要的操作。所以学生把计数器的理解和掌握好,不管是以后的学习还是具体的工作都有积极的作用。
在数字逻辑的教学中,对计数器的要求相对较高。学生需要理解计数器的基本概念和基本分析方法;掌握计数器的工作原理、结构和用途;熟悉常用计数器的特性;能分析常规的计数器电路图;能借助数据手册实现对中规模集成计数器电路在实际工程中的应用。总而言之,通过计数器实例的学习,学生可以具备对计数器进行初步分析和设计能力。以前的数字电路设计过程,实际上是工程师通过对具体事件逻辑抽象将设计任务转变为逻辑思维,再通过逻辑电路表现出来的过程。EDA技术的出现,为数字逻辑电路的设计提供了全新的思路和方法。
EDA技术是指以FPGA为设计载体,以HDL语言为主要表达方式,以Quartus II设计工具,自动完成用软件方式设计的电子系统到硬件系统的技术。其中利用Verilog HDL硬件描述语言,设计人员可以只关注设计的接口及其信号流程的逻辑变化过程描述,而具体的逻辑实现通过电子设计自动化EDA软件平台实现。本计数器教学实例的设计全部基于Quartus II平台完成。Quartus II作为一种可编程逻辑的设计环境,界面友好、功能强大,可以完成逻辑编译、化简、分割、综合、布局布线及逻辑优化和仿真测试,直到实现既定电子线路系统功能,因此越来越多地应用于数字系统设计中[2]。
在数字逻辑的教学实例设计时,为了取得更好的教学效果,应遵循简单到复杂、具体到抽象的方法。先从学生最容易接受,最能理解的方式入手,然后再引出一些常用的中规模集成电路实现,最后再细化到具体的寄存器级电路结构。学生在学习过程中可以避免一开始就要接受和理解相对枯燥的器件内容,让学生的学习过程更顺利,让学生对教学实例的接受度更高。
由于同学们基本都得有C语言基础,为了让学生能更好地理解计数器,实例设计时先从和同学们最接近的C语言的Verilog HDL开始。Verilog HDL语言可用来设计各种层次的数字电路,还可以进行数字系统的综合,验证仿真调试和时序逻辑分析等。Verilog HDL语言适合各个层次的描述及设计,如算法级,寄存器级,逻辑级等[3]。Verilog HDL语言进行设计的优点与工艺性无关。硬件工程师设计系统,验证逻辑阶段可较少考虑工艺实现的具体细节,只要根据系统需求加以各种约束条件,就可设计出满足需要的电路[4]。10进制计数器的Verilog HDL如下:
1.module Counter(Q,CLK); //Counter为模块名,Q,CLK为端口名
2.input CLK; //CLK为输入时钟信号
3.output reg[3:0]Q; //Q为计数器的计数输出值,是4位寄存器模式
4.always@(posedge CLK) //在时钟CLK的上升沿有效,进入计数模式
5.if(Q>=9) //判断计数值是否达到计数值
6.Q=0; //到达计数值后计数器清零
7.else
8.Q=Q+1; //没有达到计数器预设值则加1
9.endmodule //模块结束
上述的代码很简单,先从第8行代码Q=Q+1引入,通过这行代码,给学生讲解计数器的核心就是加1加法器。所有的计数器都是对检测到某个事件发生后进行加1计算的。第4行代码就是激发这个加1条件的事件。结合图1计数器的仿真结果可以看到:在本例中对应CLK时钟的上升沿,一旦系统检测到时钟CLK的上升沿就会激发加法运算,计数器的Q的输出就会加1。第5行代码是对计数值进行判断,如果已经达到约定的计数值就将计数器的输出清0,从0开始重新计数。这样一来学生就可以在一定的C语言的基础上迅速理解这段Verilog HD代码,同时也能较好地理解什么是计数器,计数器在硬件描述语言里是怎么样体现的。
在了解了以HDL代码表述的计数器后,再引入基于中规模集成电路计数器74161芯片构成的10进制计数器,如图2所示。
74161[5,6]是一款加法计数器,具有同步置数控制端LDN,异步置0控制端CLRN,2个计数控制端ENT和ENP,4个并行数据输入端A、B、C和D(其中D权重最高,A权重最低)。1个进位输出端RCO,4个计数器输出端,权重从高到低依次为QD、QC、QB和QA。利用同步置数控制端LDN或者异步置0控制端CLRN可以实现不同进制的加法计数器。本实例设计中使用了同步置1控制端LDN来实现计数器的进制控制。
当计数器74161的计数输出端QD、QC、QB、QA为1001时,表示已经计数到9了,这时将QD和QA接到与非门7400的输入端,7400输出低电平控制同步置数控制端LDN,将数据输入端D、C、B和A的值输入给QD、QC、QB、QA,使用计数器从0开始重新计数,从而完成一个完整10进制的计数器设计。本电路的仿真结果如图1所示。
在相继分析了基于Verilog HDL代码的10进制计数器和基于中规模集成电路74161芯片实现的10进制计数后,大部分同学已经熟悉常用计数器的特性,并能分析常规的计数器电路图。在此基础上,再引出使用T触发器组成的异步10进制计数器,如图3所示,从基本数字逻辑电路的单元分析计数的器的原理和工作过程。
从图3基于T触发器的10进制计数器中可以看到,使用了4个T触发器,触发器的输出端按权重从高到低分别为Q3,Q2,Q1和Q0。T触发器的T端都接到VCC,从而实现来一个时钟CLK就将输出Q翻转的功能。输出端Q3和Q1通过二输入与非门后接到T触发器的异步清0端,当计数器计数到二进制1010时,2输入的与非门就会输出一个低电平清零信号给4个T触发器,使用触发器全部清零。从图4基于T触发器的10进制计数器仿真结果可以看到:Q0在每个CLK到来后都会输出状态翻转,是CLK的二分频。同理Q1是Q0的二分频,Q2是Q1的二分频,Q3是Q2的二分频。触发器依次翻转后,就会形成从0000-0001-0010-0011-0100-0101-0110-0111-1000-1001-0000的循环计数周期。
三总结与展望
EDA技术及可编程逻辑器件在数字逻辑中的应用,为数字系统的设计带来了极大的灵活性。由于可编程器件可以通过代码或者图形编程而对其硬件结构和工作方式进行重构,使得硬件的设计实现可以如同传统软件设计那样方便快捷,这一切极大地改变了传统数字系统设计方法、设计过程和设计观念[7]。本教学实例基于EDA平台完成了计数器不同方式的构成和仿真验证,让学生可以从一个从简到难,从具体到抽象的方式学习计数器,让学生能较好地掌握计数器的工作原理、结构和用途。通过计 [3]数器实例的学习,学生可以具备对计数器进行初步分析和设计能力。 [4]
参考文献 [5]
1]康华光主编.电子技术基础(数字部分)[M].北京:高等教 [6]育出版社,2014.
[2]潘松,黄继业,潘明著.EDA技术实用教程:Verilog HDL版(第 [7]五版)[M].北京:科学出版社,2018.
[3]周小仨.基于verilog的数码时钟设计[J].电子商务,2016,(5):71-72.
[4]祁晓磊,蔡学良,孙德玮.用Verilog HDL进行FPGA设计的原则与方法[J].电子测试,2008(03):67-71.
[5]闫石.数字电子技术基础[M].北京:高等教育出版社,2006.
[6]程勇,方元春.数字电子技术基础[M].北京:北京邮电大学出版社,2013.
[7]孙志雄,谢海霞.数字电路实验教学的创新性实践与探索[J].教育现代化,2018,5(40):35-37.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/10764.html