61009212邵小强
基于FPGA的点阵板波形显示器
1. 全面掌握从设计到编程实现、到纠错、到下载调试的全过程。我后来实际做出的系统虽然不如我刚开始想做的频谱分析仪的效果,但是其实本质上也就只是少做了一个FFT模块,只要攻破FFT算法,就可以很轻易地在数字处理模块加进去,从而实现。所以我还是通过这样一次设计体会到了工程上做出一个系统的全过程的。这让我提前体会到了一些工程意识,培养了一些工程素质。
2. 养成按模块划分系统,逐步完成、逐步整合的良好习惯。不仅仅做数字系统如此,做任何一个大型任务都是要分模块、分步骤地依次进行,才能显得井井有条。在刚做数字系统时,一点经验都没有,总着急没有进展。可到后来就觉得把自己心中所设想的东西在眼前通过画电路、搭电路调试出来,是非常有成就感的事情。这是数字系统设计这门课程最后给我非常好的印象。
3. 学会一门语言。其实在学会C++后,我发现学任何编程语言都有触类旁通之效,比如Java, Matlab语言, VHDL等,其实我真正学它们都只是先看个总体描述,然后就可以直接拿一本参考手册开始编程了。通过一次次的编译、纠错,自然掌握了不少语法,更是掌握了不靠死记就能很快上手一门编程语言的能力。通过实现对几个完整程序构架从头到尾理解一遍、通过对参考书的参考、对程序报错信息的搜索、理解等手段,基本可以最快速最有效地学习一门新语言。这在我今后的生活甚至工作中我相信都是非常有用的。
4. 排错的能力。其实我这次编写的程序不是很难,仿真也基本能通过。每个独立模块,我都已经单独试验过,没有问题。但是后来在整合每个模块、实际搭上所有电路后,点阵偶尔会出现一些莫名其妙地移位或全排点亮的错误,这就要求我们要合理排查错误。我所做的办法是按模块检查,由于是数字信号,我把一些关键部分(如ADC转出的数据端)接上了LED灯,通过灯的显示来判断哪几个模块工作正常、哪几个工作不正常。通过分析、重试,很快排查了问题。