FPGA学习路线by老石谈芯

这篇博客由资深专家老石分享,详细介绍了FPGA的学习路径,包括硬件描述语言HDL(重点是Verilog和SystemVerilog)、RTL设计、仿真工具的选择,并强调了从软件思维到硬件思维的转变。推荐资源如《verilog传奇》和HDLBits网站,以及基础的数电知识和FPGA开发流程。动手实验部分提到了数码管、流水灯等经典实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

放一张老石!(思维导图在文末!)

入行十年,我总结了这份FPGA学习路线:搞定这四点,你也能轻松进阶(老石谈芯).
在这里插入图片描述

摘要

(一)编程语言

1 硬件描述语言HDL

FPGA使用的语言叫做硬件描述语言HDL寄存器输入集语言RTL
(先不考虑高级语言C、Python编程)

主流硬件描述语言有1 VHDL 2Verilog 3System Verilog

VHDL和Verilog各有优缺点,比如VHDL的语法更加严谨,而Verilog更加灵活,更加像C语言

入门的话,先熟练掌握一门语言即可

老石建议:先学Verilog(尤其是有C语言开发经验),有开发经验了之后再学VHDL,因为有可能在实际的项目中有一部分模块是用Verilog写的,一部分是用VHDL写的(最好至少大概能看懂)

不管学习什么语言,最主要的都有三大点
1 语法
2 如何使用这个语言做设计
3 如何使用这个语言做验证

书籍几乎都大同小异,但是建议认真的看一遍Verilog的语法,不用要死记硬别,但是需要对每一条的语法和功能做到心中有数
在这里插入图片描述可以先看可生成电路的可综合的Verilog语法,不太多
再看主要用于写验证和仿真的不可综合的语法

书籍:《verilog传奇》
强烈推荐的刷题网站!!!!!HDLBits.
建议先做,不会的时候反查 Verilog的书籍,这样通过实践来学习

2 寄存器输入集语言RTL

2.1 如何入门

RTL设计主要有组合电路时序电路两个部分,还有一个非常重要的部分就是状态机,都应该熟练的掌握(刷题网站里都有对应的题目哦!~)

关于RTL的验证,初学者主要掌握如何写一个简单的测试平台,及如何写一些简单的测试用例

2.2 最大的思维转变

在这里插入图片描述
思维转变:软件编程大都是顺序执行的,但硬件编程大都是并行执行的!

在学习Verilog的时候一定要多想想它对应的硬件电路是什么样的

3 推荐转向学习System Verilog

现在的大公司更喜欢的System Verilog
System Verilog可以看成是Verilog的超集,它加入了很多Verilog里不支持但是非常有用的功能
比如自定义类型、结构体联合体、接口
还有一些用于仿真验证的特性,比如业界常用的随机约束、UVM
也简化勒很多Verilog里的一些语法表达,不用纠结一个信号到底是wire还是reg可以直接用Logic来表示

不建议初学者一开始就学System Verilog(还没太找到好的教程)

4 仿真工具

在这里插入图片描述学习编程语言很重要的就是仿真工具
这是网上的两个开源的工具:iVerilog,EDAplayground

(二)基础知识

1 电路、数电,计算机网络结构,接口,数字信号处理
推荐优先看数电

2 和FPGA相关的知识,包括FPGA芯片的结构以及它的一些基本组成单元的结构(推荐看FPGA官方的文档)

3 了解FPGA的开发流程
在这里插入图片描述

(三)开发工具

入门阶段建议专注于一个平台
在这里插入图片描述在这里插入图片描述

(四)动手实验

配合开发版的学习
比较经典的实验有:数码管、流水灯、按键、红绿灯 还有一些常见的总线的通信
还有一些数据处理和信号处理的实验
《深入浅出玩转FPGA》

(五)思维导图

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值