时间:2025-02-12 来源:FPGA_UCY 关于我们 0
放一张老石!(思维导图在文末!)
入行十年,我总结了这份FPGA学习路线:搞定这四点,你也能轻松进阶(老石谈芯).
摘要
FPGA学习路线
(一)编程语言 1 硬件描述语言HDL
FPGA使用的语言叫做硬件描述语言HDL,寄存器输入集语言RTL
(先不考虑高级语言C、编程)
主流的硬件描述语言有1 VHDL
VHDL和各有优缺点,比如VHDL的语法更加严谨,而更加灵活,更加像C语言
入门的话,先熟练掌握一门语言即可
老石建议:先学(尤其是有C语言开发经验),有开发经验了之后再学VHDL,因为有可能在实际的项目中有一部分模块是用写的,一部分是用VHDL写的(最好至少大概能看懂)
不管学习什么语言,最主要的都有三大点
1 语法
2 如何使用这个语言做设计
3 如何使用这个语言做验证
书籍几乎都大同小异,但是建议认真的看一遍的语法,不用要死记硬别,但是需要对每一条的语法和功能做到心中有数
可以先看可生成电路的可综合的语法,不太多
再看主要用于写验证和仿真的不可综合的语法
书籍:《传奇》
强烈推荐的刷题网站!!!!!:.
建议先做,不会的时候反查 的书籍,这样通过实践来学习
2 寄存器输入集语言RTL 2.1 如何入门
RTL设计主要有组合电路和时序电路两个部分,还有一个非常重要的部分就是状态机,都应该熟练的掌握(刷题网站里都有对应的题目哦!~)
关于RTL的验证,初学者主要掌握如何写一个简单的测试平台,及如何写一些简单的测试用例
2.2 最大的思维转变
思维转变:软件编程大都是顺序执行的,但硬件编程大都是并行执行的!
在学习的时候一定要多想想它对应的硬件电路是什么样的
3 推荐转向学习
现在的大公司更喜欢的
可以看成是的超集,它加入了很多里不支持但是非常有用的功能
比如自定义类型、结构体联合体、接口
还有一些用于仿真验证的特性,比如业界常用的随机约束、UVM
也简化勒很多里的一些语法表达,不用纠结一个信号到底是wire还是reg可以直接用Logic来表示
不建议初学者一开始就学 (还没太找到好的教程)
4 仿真工具
学习编程语言很重要的就是仿真工具
这是网上的两个开源的工具:,
(二)基础知识
1 电路、数电,计算机网络结构,接口,数字信号处理
推荐优先看数电!
2 和FPGA相关的知识,包括FPGA芯片的结构以及它的一些基本组成单元的结构(推荐看FPGA官方的文档)
3 了解FPGA的开发流程
(三)开发工具
入门阶段建议专注于一个平台
(四)动手实验
配合开发版的学习
比较经典的实验有:数码管、流水灯、按键、红绿灯 还有一些常见的总线的通信
还有一些数据处理和信号处理的实验
《深入浅出玩转FPGA》
(五)思维导图