在刚上研究生时,我对FPGA产生了浓厚的兴趣。但随着自学慢慢发现,FPGA的设计思想与软件截然不同,自己在学习过程中走了很多弯路,浪费了不少时间也没有很大进展。
这时非常想找个技术大牛带路,明德扬提供了这个机会。价格实惠的网络班提供一对一辅导模式。学习过程中,跟着配套的视频教程和开发板学习设计思路和操作步骤,亲自动手做练习后再对答案找出问题,效率不言而喻。
授人以鱼不如授人以渔。明德扬教的不是花哨的框架概念,而是良好的设计思想和设计规范,是在工程实践中常用的手段和技巧。从Verilog HDL语言规范到常用IP核以及各种接口协议,最后是几个完整项目。内容由浅入深,涵盖了设计模块编写,自动对比仿真测试,板级调试定位问题,时序约束分析时序性能等完整的项目开发流程。独创的明德扬至简设计法的精髓在于让学员以最短的时间设计出规范的代码。如果这些都通过自己摸索获得,想必要耗费大量的时间,得不偿失。
这里根据网络班学到的知识和这段时间的感触,总结以下几点:
1在编写代码之前,设计就已经完成了
在开始编写第一行代码在之前,一定好想清楚设计目标,并从系统的角度规划模块 接口以及各模块的功能。之后考虑每个模块功能的实现方式,例如使用什么IP核,设计状态机等。否则没有想好就设计代码,之后经常需要改来改去,浪费时间。
2 行为仿真重中之重
仿真阶段大概会占据FPGA设计的60%以上的时间。可以对工程顶层整体仿真,只有再定位到模块和内部信号。当设计较大时,要学会利用task和丰富的系统函数自动与预期结果对比,必要情况还要与MATLAB等数据分析软件交互。如果前期设计习惯良好,当行为仿真达到了预期目标,那么上板基本上不会有什么大问题。
3 板级测试中时钟 复位到抓波形
上电测试阶段,外设的时序参数和复位标准尤为需要关注,很可能是这里开始出问题。用内嵌逻辑分析仪抓波形过程中,由于FPGA片内RAM容量限制,导致只能抓取少量信号较短阶段的波形,故定位思路非常重要。要学会从某一个时钟节拍的某一个信号与预期不符开始定位问题,从整体到局部分析。
4 不要局限FPGA 它只是工具
有很多学员认为以后我工作就是做FPGA的,其实不然。要想真正工资高,熟练运用FPGA只是个开头,而不是全部。要深入某一行业,比如做视频图像处理 无线/网络通信 雷达 工控系统等等,而在这些领域中,会用到FPGA。在这些行业中,掌握行业应用,需求,理论算法,并在FPGA有限的硬件资源中实现出来,是非常值得兴奋的事。明德扬也因此推出了信号处理课程,从枯燥的理论走向实践。
虽然技术在更新,但思想都是相通的。经过完整的培训下来,你会发现即使是接触新的IP核,新的接口协议,学到的知识和技能完全可以应对。