从销售到开发,28岁大叔的FPGA的学习之路

       

  1. 前言

15年从成电毕业后,莫名其妙的去干了销售,美其名曰锻炼自己的社交能力;虽然在社会毒打下内向性格确实有所改善,但是工作干着没劲,每天都像是打杂,做着自己不喜欢的事情,自然而然也就讨厌了上班,没有动力哪有成就。

就这么蹉跎了5年,再这样下去就废柴了啊,“垂死病中惊坐起”,想起曾经上学期间颇感兴趣的FPGA,就这么捡了起来。

     2. 为什么是FPGA

本科的时候,对FPGA很是感兴趣,还买了块开发板瞎搞了一阵,毕业的第一份offer也是FPGA,结果脑子抽了没去(其实还是没人指路),现在人家已经是主板上市了...哭了哭了。

不过好在还有那么一点点基础,20年底的时候就开始看一下FPGA的学习资料,买了块正点原子的开发板,资料还挺多,期间也网上各种找学习资料学习视频;就这么断断续续的自学了半年,熟悉了数电、Verilog、Vivado、UART、SPI等等简单基础之后,就开始投简历了!

还好21年行业行情都算不错,半导体集成电路在国家的大力支持下蓬勃发展,凭借着半吊子水准只面了一家公司,就进去了。说来也是缘分吧,面试的时候直接告诉部门负责人,我凭借一腔热血转行来的,要不要吧,然后负责人F君叫我写了个计数器,这不是放水吗,哈哈。5.10号进公司后,也是F君带我,感谢F君带我入行,带我入门。

     2.1 JAVA or FPGA?

28岁销售转开发,我也很头大,转到哪也是值得研究的地方。主要考虑了Java与fpga,Java大法好啊!CSDN都快被Java承包了,要什么资料都能搜得到,学习应该会比较好上手。但是考虑到Java门槛较低,人数众多,FPGA有一定学习门槛,竞争却会小很多,再加上成电的背书,还是投入了fpga的怀抱。

     3. FPGA的学习之路

网上有很多大佬写的如何学习FPGA帖子,我学习收藏了几篇,确实指明了道路,但是有些比较高大上,按照我自己直白的理解,差不多是以下过程:

  1. 基础(数电、verilog、vivado、modelsim、fpga硬件组成);
  2. 看别人代码,从LED跑马灯到实际项目工程,理解别人的项目架构和实现思路,可以先模仿,但是一定要亲自动手码代码,抄着抄着也就是你自己的东西了;
  3. 上板调试,学习fpga到一定程度后一定要有自己的开发板,在你基础学的差不多的时候,你就会想,FPGA到底能做什么,你不得去点个灯,跑个数码管计时器嘛,这样才有成就感,才有继续学下去的动力。上板调试,实实在在的东西,也更能区分fpga与软件的区别。
  4. 理解FPGA硬件架构,理解FPGA与软件编程的区别,慢慢体会到和C/Java有点不一样的东西。对FPGA心跳“时钟”的理解深了许多,对时序也有了一点认识,对FPGA的并行执行稍稍有了点感觉,慢慢体会到硬件编程还需要考虑硬件的特性。大神都说,当你看你的代码时,你应该看的是一个个电路的时候,抱歉,我是菜鸟,我的路还很长~
  5. 学习使用IP核。 Xxlix/Altera做了很多免费IP供我们使用,实际项目中也完全离不开IP的使用,这时候你不得提前扫扫盲,学习常用IP的使用方式。这里,也就不得不说我们开发工程师必须接触的东西了:datasheet。
  6. 文档学习,xilinx的所有IP核的介绍及使用,芯片手册等等,看文档,是工程师的必修课程。但是说实话,全英文,看起来真的头疼,很多人一说fpga学习就说看文档,真的喷他一口盐水杀死他这个单细胞生物,这是劝退的最佳方式吧...所以到了一定阶段,好好啃datasheet吧,这是青铜到钻石到王者的必经之路。
  7. 逻辑方案,很多人拿到需求就开始写代码,这样会走弯路的兄弟,写到一半发现行不通,那不还得重新来过?所以,先写方案,理清自己思路才算王道。这也是F君多次对我强调的事情,写代码有什么了不起?还不是码农,重要的是思想。当你方案架构想通,理清了思路,实现起来还不是手到擒来?俗话说得好,磨刀不误砍柴工啊。逻辑方案,简单来讲就是写需求——要做什么,写方案——怎么做;需求尽可能详尽,方案具备可行性。
  8. 资源优化,时序优化。到了这里,基本算入门了吧,这时候就不仅仅是考虑实现需求了,还得考虑逻辑资源,什么乒乓操作,流水线操作,面积与速度的考虑,你不得来一套?
  9. FPGA的方向:接口、算法、图像处理、人工智能,到这里差不多要选好自己道路了。
  10. FPGA之外的东西,FPGA毕竟只是工具,工具用来做什么,还得看FPGA之外的东西。
  11. 不敢再吹逼了,毕竟我还是初学者....后续待完善
  12. 博客写作计划

写博客,记录自己的学习之路,同时也是整理自己的技术,如果能帮到同样学习的童鞋们就更好了。

我相信很多初学者跟我一样,在网上大量查阅资料,有很多干货,也有的看完一无所获,回想起花了两三个月查DDR、PCIe资料的情形,还是很痛苦的;所以,我想从自己一个纯小白的角度,来记录学习之路,希望可以给有缘看到我博客的童鞋一点点指导。

根据目前自身的情况,我会结合自学内容以及工作实际项目进行记录,不是干货我不写~

GO! GO! GO!

2021年8月24日·成都

      

你可能感兴趣的:(FPGA的学习之路,fpga开发)