当前位置:无忧公文网 >范文大全 > 征文 > 数字电路教学中基于C++的仿真

数字电路教学中基于C++的仿真

时间:2022-03-21 08:17:49 浏览次数:

数字电路课程是信息类所有专业的公共专业基础课程,随着全球数字化、网络化和信息化工程的发展和深入,该课程作为信息类专业的专业基础课程,在IT类专业的教学活动中有着极其重要的地位,其教学质量的好坏直接影响到学生后续DSP设计,嵌入式系统设计以及芯片设计等方面课程的学习。

该课程所涉及的内容较多,且灵活性较高,教学难度较大。尤其有必要指出的是,学生在学习过程中普遍反映时序电路最难学,究其原因,主要是时序电路设计到多个内部状态的转换,学生很难像组合电路那样,能够简单地明白电路各个器件的功能路径,并在脑海中建立一个针对时序电路的直观模型,并进而明白电路的功能。

这是教师和学生在教与学过程中所要解决的最重要的问题,实践证明,大多数学生对于时序电路的内容掌握得不是很好,大部分时候,不要说设计一个时序电路,就是分析一个给定时序电路的功能都做不到。这也成了数字电路学习中最大的障碍。

造成此问题的最大原因在于,目前课本上所有的分析方法都是“静态”方法,是基于手工的设计方法,对于组合电路,这种方法是可行的。但在时序电路,由于其状态时刻在变化,整个电路是“动态”的,传统的方法要求学生在脑海中记忆太多的中间过程,无法形成一个针对时序电路的直观模型。另一方面,工业界已普遍采用先进的计算机辅助设计和EDA(electronic design automation)技术,计算机技术完全可以被用来帮助学生进行理解。

因此有必要针对时序电路问题进行深入探讨和研究,结合现有的技术,采用辅助教学方法,让学生通过仿真来观察电路的工作流程,建立常见时序电路芯片的直观模型,真正明白时序电路的内部工作原理。这对于该课程今后的教学是不无裨益的。

现有的各种商用数字电路仿真工具,都是面向工业界的,其功能强大,但学习难度高,学习时间长,要求使用者对于数字电路有着全面的了解。不符合数字电路初学者的使用要求。

C++语言一门面向对象的程序设计语言,其功能强大,应用范围广泛。现代大学生在大一和大二的时候已经学过了C++语言,对于该语言有了初步认识。并且,大部分学生都配备了电脑,对于编程有着一定基础。因此,采用该语言来针对时序电路常用芯片进行建模是最适合不过的。

首先,利用C++的class,针对时序电路,依据内部逻辑原理图,建立如下继承组合框图:

组合框内的箭头表示逻辑连接。

在编写程序之前,必须确定整个C++语言仿真程序的框架和输入输出接口,包括建立基本类,定义重用函数接口和继承关系。

在现有C++的标准流的基础上,建立一个合适的输入输出接口。输入输出接口必须能直观反映数字时序电路的工作原理,内部工作机制和寄存器相互间的输入输出关系。

数字时序电路的各个模块是并行工作的,而仿真模型是在个人计算机上运行的,是串行执行的。应当按照如下流程图,建立离散事件队列,实现时钟驱动机制,确保芯片同步。

目前数字电路课程的教学往往只注重于书本上的讨论,是一种静态的分析方法,而时序电路本身是动态转换的。传统的方法无法做到对时序电路的动态分析。通过引入C++语言,对常见的时序电路芯片进行建模,能帮助学生对时序电路的工作原理有一个清晰地理解。从而使数字电路课程的教学方法更加科学,教学内容更加完善。

作者简介:

方承志,男,汉族,1976.10—,湖南安化人,南京邮电大学电子科学与工程学院,博士,讲师,从事电路和信号处理研究。

推荐访问: 仿真 数字电路 教学中