【FPGA】入门学习路线

编程语言

硬件描述语言HDL(Hardware Description Language)/寄存器传输级语言RTL(Register Transfer Language)。这是一种描述数字电路功能和行为的语言,可以在寄存器的传输级、行为级、逻辑门级等描述电路。

主流的硬件描述语言又VHDL(语法更加严谨)、Verilog(语法更加灵活)、System Verilog,先掌握一个语言即可,推荐verilog

语法

  • 教材:《Verilog数字系统设计》、《Verilog HDL高级数字设计》
  • Verilog语法可以分为可综合(Synthesizable,这部分语句可以生成对应的硬件电路)和不可综合的部分(Non-Synthesizable,主要用于验证和仿真)
  • 刷题网站:HDLBits

RTL设计

RTL设计主要有组合电路时序电路两个部分,还有一个状态机,这些在刷题网站HDLBits里都有对应的题目。

RTL验证

如何写一个测试平台,写一些简单的测试用例

学习方法

  • 不要用软件编程的思想去思考硬件,软件编程大多是顺序执行的,硬件编程大多是并行执行的。
  • 在学习Verilog的时候一定要多思考它对应的硬件电路是什么样的。比如在Verilog中写一个for循环,它会综合出一个什么样的硬件电路。或者写一个if else语句,会综合出一个什么样的电路。写一个case语句,会综合出一个什么样的电路等等。
  • 对于一个给定的逻辑功能,要想象出它的电路结构,然后使用Verilog语言来实现,同时可以写一些简单的测试用例和测试环境。

仿真工具

在这里插入图片描述

基础知识

(1)专业基础课

电路、数电、计算机体系结构、接口、数字信号处理(数电必须)

(2)FPGA相关专业知识

FPGA芯片的结构以及一些基本组成单元的结构(如查找表、逻辑单元、逻辑块、DSP、存储器等等),这部分可以看FPGA的官方文档

(3)FPGA开发流程

在这里插入图片描述

开发工具

主流的开发工具主要是AMD的VIVADO和英特尔FPGA的Quartus。

  • 熟悉开发流程
  • 熟悉IP的配置使用(一些常见的IP:OLL、FIFO、存储器,一些复杂的IP:软核处理器NIOS、通信用的PCle、DDR控制器)
  • 学习硬件调试和时序分析的方法,比如如何看一个设计的最大频率、时序不收敛的时候如何修改你的设计、如何使用一些硬件调试的工具比如Quartus里的SignalTap。

关于FPGA开发工具的学习可以参考教材、并配合开发板进行学习

动手实验

数码管、流水灯、按键、红绿灯、常见的总线通信、数据处理和信号处理
《深入浅出玩转FPGA》、《勇敢的芯 伴你玩转Altera FPGA》
开发板:Xilinx A7

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

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

verse_armour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值