写在开头,FPGA之路

  跟很多的大学生一样,我在2016毕业后的也一直很迷茫,专业是通信工程。那会互联网的风头太盛,以至于我当时也有转IT的想法,由于已经毕业也就只有C语言的一些基础,所以就硬着头皮投了几家IT岗的公司,几乎都碰壁了。顶着压力只能找回本专业的工作,后来就去了一家小公司做电子工程师了。时间一晃就过了1年多,觉得做硬件实在是太无趣很多调试是要有足够的经验才行,不像编程只要有清晰的逻辑基本都能够得到想要的结果,而且有各种调试方式。硬件不确定性太高,而且本人更喜欢结果的唯一性,要么0要么1。这时由于公司人手不足,我被拉去做FPGA的项目,从此就走上了FPGA的道路。

  当时对FPGA兴趣不高,觉得也就是一门硬件语言,应该跟硬件一般无趣吧,不过就是一项谋生的技能罢了。刚开始学FPGA是带我的老员工申请了两套开发板,分别是黑金(alinx)和米联客的。刚开始是先把Verilog的基础语法看了2~3遍,然后就开始按开发板的例程跑工程了。像C语言的第一个例程是Hello world,FPGA的第一个例程就是流水灯。接触的开发板是ZYNQ7系列的,因此刚开始要装vivado,modelsim等,除了会安装还要会使用。刚入门的人当时虽然有开发板教程,但真的是心累。很多东西都是要靠自己去摸索的,刚开始一般都很难分清可综合语言与仿真语言,所以基本都是边查资料边学习,项目的时间进度摆在那时间就显得非常的紧迫了,对于初学者的我来说是一个很大的挑战,当时甚至有了消极的情绪,还好自己努力地坚持了下来。做的项目是关于图像处理的,难度比一般的接口要难,再加上是初学者。还好公司的FPGA老员工只要问他们都会解答,那段时间就问了很多关于图像处理的一些算法问题,在初学阶段纯看代码是无法知道算法是如何实现的。记得清楚当时的3*3矩阵是通过2个FIFO来实现的,可对当时不会算法的我来说就是莫名其妙。随着一步一步的跟着开发板的教程,老员工的教导,及自己有空就看相关的FPGA代码,勤写代码,渐渐就觉得FPGA原来并不是很难。

  接下来我就分享下一些学习FPGA的经验吧,后期会写些常用的Verilog代码块。我认为学习FPGA要有一定的数电知识,我是通信工程专业,因此电路方面的知识有一定的储备,学习FPGA相对容易很多。对于初学者,我觉得跟着开发板或者一些博主学习进步会很大。仿真我觉得是重中之重的,如果不会仿真,那么就还不算真正的入门,很多FPGA项目在写代码的时候是先要进行仿真才能保证工作完成的效率,不会仿真一味的上板调试那是在浪费时间。接着就是要有积极的学习心态,我平时有空的时候都会看看博主的博文,或者Git hub上一些优秀的代码,看别人的代码其实有好几个好处。

1.看代码并看懂能够了解别人写代码的一些技巧及思想。

2.能够积累经验,遇到实际项目能够快速找到相应的解决方案。

3.代码量达到一定的程度之后,是可以在脑海中通过代码大概还原出时序的情况。

  我这一路过来把米联客7020的开发教程基本是看完了,黑金的教程也大概看了一遍,后来在黑金动力论坛找了好几套的《XXX那些事》系列的文章都耐心看完了,虽说错漏真的很多。但内容很丰富,对我来说受益匪浅。以上就是我的FPGA之路,往后估计还会继续在这条道上前行,努力吧。

posted on 2022-03-28 09:35  Galois_V  阅读(223)  评论(0编辑  收藏  举报