基于FPGA的电子技术教学实践与应用
2021-01-20曲帅张迪王宇陆军装甲兵学院
曲帅 张迪 王宇 陆军装甲兵学院
1 引言
《电子技术》课程电气、通信等专业非常重要的一门专业基础课。如果没能掌握相关知识内容对后面专业课程的学习产生一定的影响。电子技术发展迅速。而与以往的教学内容现已明显跟不上现在电子技术发展的要求。如何改变这一现状是我们目前面临的难题。而FPGA作为当前IC设计的主流形式之一,如何将FPGA应用到电子技术的教学实践中,让学生能够较短的实践内不但能够掌握现代化的科技与知识,同时又能提高学生创造能力,具有非常积极的作用。
2 FPGA工作原理及开发流程
FPGA(Field Programmable Gate Array)即现场可编程门阵列,其是基于PAL、GAL、EPLD、CPLD等可编程器件发展所得。作为ASIC领域中的一种半定制电路,不但能够弥补了定制电路的缺陷,而且还能够克服了已有可编程器件门电路有限的特点。对于一个n输入的逻辑运算,无论属于与或非运算或是异或运算等,最大可能存在2n种结果。因此,如若先前往相同存储单元内存放对应的结果,便意味着具备了与非门电路功能。FPGA的原理与其相同,他采取文件烧写的方式来配置查找表的内容,以便于能够在同一电路下具备各类逻辑功能。查找表简称LUT,LUT其实就是一个RAM。FPGA多使用4或者6输入的LUT,所以一个LUT可以看成是一个4或者6位地址线的16×1或者64×1的RAM。通常通过原理图或者HDL语言(VHDL或者Verilog)描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有结果,并把真值表事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
具体的FPGA开发流程包括电路设计、设计输入、功能仿真、综合优化、综合后仿真、实现、布线后仿真、板级仿真以及芯片编程等步骤。主要是利用EDA开发工具软件和编程工具对FPGA芯片进行开发。
3 FPGA在电子技术课程教学应用
电子技术是一门实践性很强的课程,传统的教学方式多是采用多媒体加板书。学生缺乏对电路的主观认识,多数学生兴趣不高,课堂质量不高。特别是在讲授触发器、时序逻辑电路分析等难以理解的内容时,多数同学靠死记知识点来应付考试。并不理解,更不会应用。对后续的专业课影响较大。若引入FPGA进行仿真,就可以帮助同学更加直观的去理解概念,激发同学学习的积极性。
Vivado是Xilinx公司推出的综合性FPGA/CPLD集成开发环境。不但含括了逻辑设计全部需要的内容,并且还有着许多建议的内置式工具与向导,使I/O分配、功耗分析、时序驱动设计收敛等关键步骤能够更加直观与简易。而且在此过程中不需要使用其他第三方EDA软件。
在数字电子技术课程教学中,利用Vivado2016.4作为仿真演示平台,能方便的展示器件功能和对电路的功能进行分析,下面以8-3编码码器为例进行说明。
8-3 编码器是将输入的8个信号通过编码器输出3位的二进制代码。其真值表如表1所示:
表1 8-3编码器真值表
因为任何时刻I0-I7仅有一个取值为1,即输入变量取值的组合仅有表1列的八种状态。一般的设计方法就是按照真值表列出逻辑表达式同时实施化简,然后根据化简结果画出逻辑电路。这种授课方式使学生对编码器没有一个直观的影响。在实际的场景中更不会灵活应用。所以我们可以引用FPGA,利用Vivado平台进行仿真分析,帮助学生更好的理解。
首先是电路输入,利用硬件描述语言Verilog进行电路的输入。
然后进行编译综合,图1是编译综合后的电路图。输入是一个8位的信号,输出是一个3位的二进制代码。
图1 编译综合后的电路图
最后是仿真分析如图2所示:
图2 8-3编码器仿真图
由图2可知,当输入端X_0=1时,此时输出为000。当X_1=1时,此时输出为001。以此类推,直到当X_7=1时,此时输出为111。波形图很直观的展现了8-3编码器的功能。从而加深学生的理解。除了在课上展示外,学生课下也可以自己安装Vivado软件平台。根据课上学习的知识,自己动手去分析和设计电路。从而去更好的调动学生学习积极性,同时提升其操作能力,为后期专业知识的学习夯实基础。
4 总结
将FPGA应用到电子技术课程的教学中,能够丰富教学方式,提高学生学习积极性。通过搭建电路,把抽象的理论形象化。从而加深学生对知识的印象,调动学生学习电子技术学习热情,增强其操作能力,培养了学生创新能力。