|
|
FPGA 学习,从我本人参加FPGA学习和后期指导学生学习FPGA的经历来看,我认为FPGA的学习内容包括以下几个要素。
1、语法的学习,这是最基础,也是最简单的。记得我之前学习语法的时候,就是去抄书,对着把书上的一些不那么复杂的代码抄出来,然后在EDA软件(Quartus)里面编译,虽然我照着抄,但是还是会有很多手误错误,这个时候就能结合软件的报错信息,再去比对自己的代码和书本上代码的差异,快速搞清楚语法的正确用法,还能学习知道,怎样的错误,EDA软件会报出怎样的错误信息,以后自己写代码看到相应的报错,就能马上找到错误的位置了。
2、常见开发方法的学习
什么状态机、线性序列机、模块划分,模块间的控制信号交互,数据流的控制等等。这些可以通过相应的视频课程和课堂安排的练习去学习,去熟悉,到最后自己能够熟练的应用这些方法设计自己的逻辑。
3、验证方法的学习
FPGA设计,不是说把代码写出来就行了,还得保证代码能够实现想要的功能,那么如何去确保你写的代码能够实现想要的功能,那就是验证,FPGA设计中使用的最多的验证工具就是Modelsim仿真。如何正确的设计激励来测试代码,如果通过仿真的结果来发现隐藏的问题,这些都是需要扎实掌握的。验证方法的学习,无他,就是要严谨。
4、调试方法和技巧
没有谁能保证自己写出来的代码一写出来就是完美无缺。事实上,即使是多年经验的资深FPGA工程师,也很难做到这样,更多的时候,一个最终恰好实现功能的代码,不是写出来的,而是调出来的,怎么去调试,调试的过程有哪些方法?哪些技巧?有哪样一些工具可以借用,都是需要学习的。
说了这么多,究竟怎么去学习呢?单项学习从理论上来说,可行,但是效果并不好,实际上,这些知识并不是独立的,而是相互关联的。所以,我个人认为学习的最好方法就是不要眼高手低,要能沉得住气,从最简单的项目着手,用心,认真的去学习,去实践,在学习实践的过程中,慢慢的积累经验。图快,想走捷径,我认为是不太可行的。
学习资料,大家只要想学,网上能找到很多,我也录制了很多视频课程,大家可以直接在网站上学习。视频再多,如果你只是走马观花的学习,验证性学习,不愿意去动手练习,动手调试,那基本不会有任何实质的收获了。 |
|