本站小编为你精心准备了可编程逻辑器件实验教学研究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1如何解决编译过程中的异常现象
可编程逻辑器件的开发流程一般为建立工程、编程输入、编译和综合、仿真、下载验证等几个过程。其中编译和综合是把行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合的过程。只要VHDL语言编写规范,编译和综合应该是没有问题的[4]。但是,实验过程中经常会发现学生编写的程序没有任何问题,编译就是通不过。开发平台的错误提示又跟实际情况不符。从建立工程到编译综合过程的反复梳理,发现问题出在建立工程上。ispLEVERprojectnavigator开发平台对工程名有苛刻的要求。工程名不支持中文和数字开头的文件名,必须用英文,而且文件名不应包含空格或各种符号。这些在软件说明里没有明确指明。工程名的存储路径上不应该有中文名的文件夹,工程名也不能存储在根目录下,否则也会出现编译不通过的现象。
2仿真中准确建立测试激励波形
这里所指的是功能仿真,以验证设计的逻辑正确性[5]。为了仿真,要建立测试激励波形,能否建立完整的测试波形是实验教学的核心问题。因为现在的仿真软件性能出众,只要仿真完整下载验证问题不大。实验教学中经常会碰到测试激励波形建立错误的情况。下面以简单的D触发器实验为例说明问题。根据程序,学生经常会建立与图1类似的测试激励波形。图1中第一个clk(时钟)上升沿跟输入信号d,clr,pr上升沿或下降沿重叠在一起。这样设计,根本无法确定时钟上升沿时其他信号的状态值,就无法根据程序,预期仿真后的波形,继而无法判定程序的逻辑功能。建立测试激励波形时,各种输入信号的上升沿(或下降沿)不能重叠,应根据程序描述明确给定状态值。根据程序分析,输入信号d,clr,pr在时钟信号的上升沿动作。而三个输入信号构成000~111八种输入状态,所以测试激励波形至少有8个时钟上升沿,并且要保证输入信号d,clr,pr的8种状态输入完整。这样才叫完整意义上的仿真。图1中所示波形只有5个时钟上升沿,输入信号状态也不完整,因此显然是错误的。要一次性输入所有输入输出信号d,clr,pr,clk,qd0,qd1。如果遗漏哪一个信号,仿真结果将会出错。届时发现问题,返回到测试激励波形建立窗口,重新补入该遗漏信号重新仿真,仿真结果也会不断重复此前的错误结果。这种问题非常奇怪,估计与开发平台的不成熟有关系。其它开发平台未发现上述问题。发现这样的问题,先把测试激励波形文件在工程项目中删掉,然后取一个与先前文件名不一样的测试波形文件名,再把所有信号一次性输入,就能得出正确的结果。上述三种错误是学生经常忽略的问题,经改正以后的图2为正确的测试激励波形。
3下载验证中常见问题
编译产生的目标程序文件(*.jed),经下载线缆下载到目标器件,就构成了具有程序所描述逻辑功能的器件[6]。综合和仿真无误的程序无法下载到目标器件。这时首先要查看综合时所用到的器件与下载时的目标器件是否一致[7]。因为综合是面向器件的,所产生的目标程序文件也是基于这一器件的,因此目标器件不一致会产生下载失败的结果。目标器件没有提供电源或者目标器件内部烧毁都能导致下载失败,应逐一排查原因。下载成功,就要根据管脚映射图,连接硬件电路验证目标器件的逻辑功能[7]。验证时要跟仿真一样从完整意义上逐一验证所有逻辑功能。有时下载成功,硬件电路连接无误,但逻辑功能验证不出来。这时要怀疑目标程序文件下载错了,把其他工程的文件下载到芯片里了。因为在ispLEVERprojectnavigator开发平台中目标程序文件名与源程序文件名不一样,与工程文件名相一致,所以很容易引起混淆,以致下载错误。
4结语
可编程逻辑器件的实验教学中经常会碰到理论教学难以触及的问题,实验教师要掌握核心内容,并把学生容易犯错的地方作为要点和难点指导实验,检验学生的实验结果,才能有效控制教学进程,提高教学效果。
作者:尹光明 张建萍 杨楠 单位:东北大学 信息科学与工程学院