一、前言
也不是心血来潮想学习fpga了,而是祥哥还有我一个国科大的同学都在往fpga这个方向走
并且看过我之前文章的同学也清楚,我有一定的嵌入式基础,并且rsic-v方向也一直是个新兴东西
所以我想对fpga+嵌入式+risc-v有着研究比较好
也看到那个评论区硕士毕业设计
毕设课题训练一个目标检测神经网络+设计一块PCB+部署神经网络。
特征提取和神经网络部署+Linux移植+嵌入式软件开发+核心板pcb设计
二、编程语言
也就是HDL也称RTL
编程语言:verilog----这个语言更像C语言
(语法、怎么设计、怎么验证),会认一点VHDL
2.1 书籍
分为可综合部分和不可综合部分
先看可综合部分、在看仿真的不可综合部分
2.2 刷题网站
HDLbits
,建议把题目都做一遍。时间紧,可以先看题目,再对照着书
RTL设计:组合电路、时序电路、状态机
RTL验证:初学者就是写一个简单的测试平台、简单的测试用例
误区:用软件思维思考硬件
硬件多是并行、软件多是顺序
多想想,对应的硬件电路(if、case、while综合出来什么电路)
verilog熟练之后,就可以转向systemverilog
2.3 仿真工具
modelsim?
三、基础知识
3.1 专业基础课
电路、数电、数字集成电路、计算机体系结构、数字信号处理
3.2 fpga相关专业知识
fpga芯片结构、基本组成单元结构(推荐看fpga官方文档)
fpga的开发文档
四、开发工具
AMD的vicado orquartes
IP的配置使用、时序分析
五、动手实验
有个开发板学习(嗯,我现在手上就有一个正点原子的新起点,但是之后考研就没在学习了)