大三下学期学习的VHDL语言,当时还只是讲述理论知识,好像学习了一半多的课程了吧,VHDL基本学会了,还没有动手做过实验,实践经验为零。后来因为入选了电子设计大赛,想多学点东西充实自己,而指导老师那儿刚好有一块CPLD开发板,我就拿来用了,呵呵。因为我有写日记的习惯,查了下日期,看到是今年4月23日拿到的板子。
板子非常简单,是Xilinx的一款CPLD开发板,记得当时拿到板子时,除了开发环境有一张光盘,其他什么资料都没有,连原理图都没有。然后就上网到处找资料,没找到,后来终于在一个论坛看到了一篇相关的**,是设计者发表的一篇广告贴,下载了资料,同时用淘宝账号加了卖家为好友,哈哈,这个还有后续呢。
开始连芯片的型号都看不对,难怪找不到资料,芯片是XC2C64A,这是板子的样子:
封装图:
很简单的44管脚的板子。但使用起来可是一段痛并快乐史啊。
Xilinx产品的开发环境是ISE,这个平台很好看,但用起来可真耗费了不少时间。一装好开发环境,我就对照着ISE的英文帮助文件建立了一个工程,综合、实现、生成下载文件都没有问题,但到下载的时候就出现问题了,无论如何不能下载程序。后来无意中想到老师说这块板子使用3.3V供电,我一看我的那个板子哪儿有3.3V供电?原来没接电源,看起来那个USB下载线不能提供电源,然后对照着原理图连接电源,幸好之前焊接了一个3.3V的电源模块,直接拿来用。后来又参照从网上下载的文档教程和视频教程,总算可以下载程序了,当时因为自己用的ISE和教程的版本不同,花费了好些时间。
然后就是板子的使用了,我当时从网上下载了一个VHDL语言的视频教程,那个教程用的是Altera公司的一款板子,我跟着那个视频教程一课一课学习编程方法。有一次用到的管脚比较多,控制数码管显示,我参照原理图连接好了线,改了几次代码都有问题,后来发现是管脚定义有问题,怀疑是原理图错误,我就一个管脚一个管脚测试,把常用的那二十几个管脚给测出来实际对应哪些个管脚,还列了一张表,然后联系那个卖家(我之前加他为好友了),告诉他管脚的定义有问题,然后还没等他回复,我再去看那个原理图确认的时候,悲催了,我说的那些管脚是芯片定义的管脚,而卖家用的是网络编号,我那个汗啊,出丑不说,我浪费了多少时间啊,后来嘲笑自己“此P非彼P”,一定要看好管脚含义再说。
使用这个板子,还发现使用按键输入时,上拉电阻非常重要,不然一定会出错。我的笔记本小黑的内存2G,使用ISE有些困难,程序写大了以后,经常出现报内存不足的错误和一些不可恢复的错误。有些程序实现的功能一样,但写法不一样,对板子的影响会差很多,性能也会差很多。
差不多今年5月10号吧,对VHDL的实战应用掌握的差不多了,这块板子也不能再进一步开发了,就把板子还给了老师。现在想想,那些日子,逃课、做飞思卡尔的智能车、学习Xilinx的CPLD,还是非常充实的。 |