入行十年,我总结了这份FPGA学习路线:搞定这四点,你也能轻松进阶

五部分:
1编程语言
2基础知识
3开发工具
4动手实验
5升华

1

使用语言:硬件描述语言HDL或者是寄存器传输级语言RTL

主流语言是VHDL,Verilog,System Verilog
VHDL灵活,Verilog灵活
入门学习一门语言即可,老石推介Verilog
语言三大点:(1)语法(2)如何使用这个语言做设计(3)如何使用这个语言做验证


弹幕有《Verilog传奇》Verilog刷题网站:
HDLbits刷题网站,可以先做题,然后查书,通过实践学习,RTL设计主要有组合电路和时序电路两个部分,另有一个是状态机,HDLbits上都有一些题目,RTL验证,初学者主要学习写一个平台及如何写一些简单的测试用例。

软件顺序执行,硬件并行执行
熟练Verilog可以是SystemVerilog
SystemVerilog可以看成是Verilog的超级,支持很多Verilog不支持但重要的类型的语言,比如自定义类型,接口等,还有一些用于仿真验证的特性,比如业界常用的随机约束和UVM,简化表达
书籍

推介进阶学

仿真工具

faga开发工具有仿真工具
开源工具:


EDAplaygrand
2

专业基础课:电路、数电、计算机体系结构、接口、数字信号处理等

先看数电,其他书籍根据需求有目的的看
和fpga相关的是
(1)芯片的结构以及它的一些基本组成单元的结构,推荐看FPGA官方文档
(2)了解fpga的开放流程,为什么需要和这些流程是做什么的

3

开发平台

- 熟悉fpga开发流程,比如如何创建工程,怎么添加你的源文件,怎么跑一系列的编译流程,怎么加入时序的约束,怎么分配管脚,怎么将fpga映像文件加载到fpga里进行
- 熟悉常用的IP设置,PLL,FILO,存储器,学会调用和配置存储器
- 学习硬件调试和时序分析的方法,比如一个设计看最大的频率,或者时序不收敛的时候,你怎么去分析并且来修改你的设计
或者怎么使用一些硬件调试工具,强烈建议根据开发板来学习

4

做的实验


数据处理

书籍
特权的书


思维导图在老石谈芯的公众号
5升华:
当然说以来容易,但实际上还是需要大家花很多时间和精力下功夫专研的,事实上不管你是学习fpga还是学习其他任何东西,从来都是一份耕耘一分收获,除了学习这些专业的内容以外,我们更是在努力的变得自律,也在不断地培养和锻炼自己学习地能力以及在挫折和困难中不断前行地那股韧劲,我相信付出肯定会有收获,明天的你肯定也会感激今天所做的努力,我祝愿大家能够享受学习的过程,我也希望能和大家一起不断通过努力来变成更好的自己