干货丨FPGA零基础学习,入门必看!

看到不少同学后台进行提问:FPGA如何入门?怎么学习?其实对于新人来说,FPGA的学习需要了解的东西还是非常多,下面IC修真院就带大家一起来了解一下吧。

FPGA简介

FPGA普遍用于实现数字电路模块,用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的需求。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,下至简单的74电路,上至高性能CPU,都可以用FPGA来实现。

在这里插入图片描述

FPGA是给谁用的?

很多学校是为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,买不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。

这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。
  
FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。

本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。

要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。

而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更广泛的知识。

FPGA入门须知:

观念认识:从事FPGA开发,不是写代码,是电路设计,数字电路设计,只不过不像你在protel里画原理图,做layout,它需要你用语言把你的电路描述出来,然后根据根据你的描述生成相应的电路,这里描述的方式就体现你的技术水平了,请明白,verilog或者VHDL都是hardware description laugahge。

2.理论储备:请把你的数字电路书拿出来,理解寄存器,状态机,时序方程。

3.请熟读xilinx或者altera的一款FPGA的手册,了解他的接口,固件组成(PLL,BlockRAM,DCM,SERDES等),资源分布,建议用xilinx的FPGA Eidter软件打开一个芯片的版图,你就会发现FPGA本质就是一系列资源的堆叠,你要做的事情就是怎么利用这么硬件资源做出你要的东西。

4.请理解组合逻辑和时序逻辑,针对2种逻辑信号延迟的组成,计算,也就是时序分许问题。

5.动手能力,写代码,多写代码,多调试,你遇到的问题多了,解决的多了,所有的问题都不是问题了。要善于总结。

6.对流行的接口,技术的原理要理解,比如SPI,I2C,USB,DDR1/2/3,PCIE,流行的高速接口LVDS,LVPECL,SSTL等。

学习FPGA需要掌握的理论基础

学会使用FPGA,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。
1、信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理
2、接口应用——如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort
3、无线通信——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码
4、CPU设计——计算机组成原理、单片机、计算机体系结构、编译原理
5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用
6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用
7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理
FPGA会涉及到很多知识,你可以选一个感兴趣的方向,但是工作中很有可能用到其中几个方向的知识,所以理论还是学得越多越好。如果你要更上一层,数学和英语是不可避免的。

好书推荐

Intel FPGA数字信号处理 系统设计权威指南
在这里插入图片描述

本书从硬件描述语言、Simulink环境下的模型构建和Intel FPGA高级综合工具下的C/C 程序设计三个不同的角度,本书从硬件描述语言、模型设计和高级综合HLS三个角度对使用Intel公司现场可编程门阵列器件构建数字信号处理系统的方法进行了详细的介绍。

计算机视觉技术

在这里插入图片描述

本书旨在建立计算机视觉技术的基础知识体系,为读者进入人工智能视觉领域奠定基础。本书适合作为中职、高职高专及应用型本科人工智能通识课的教材,也可作为人工智能的普及读物供广大读者自学或参考。

云计算机基础与openstack

在这里插入图片描述

本书以实践为宗旨,采用自动部署工具带领读者一步一步构建企业云平台,同时还分享了OpenStack的最佳实践方法,帮助读者深入了解企业级私有化云平台的优势和特点。本书内容丰富,注重系统性、实践性和可操作性,对每个技术点都有相应的操作示例,便于读者快速掌握要点。

Verilog HDL设计实例手册
在这里插入图片描述

本书以Intel的FPGA芯片为目标器件,以Quartus Prime、Platform Designer(PD)、Nios II-Eclipse为软件工具,以Verilog HDL为设计语言,选择C4_MB“口袋实验板”为目标板,通过精选设计案例,诠释用FPGA实现数字系统设计的思路与方法。

人工智能数据处理
在这里插入图片描述

《人工智能数据处理》一书从基础实用内容开始,并辅以编程基础知识和综合案例,关注数据的采集、数据预处理、数据的可视化、数据的标注,以及大数据的相关应用等大数据的处理知识。其中,既包括文本或数值相关数据的处理,也包括对图片这样的非结构化数据的梳理。

需要学习资料的同学,可以私信留下正确的联系方式,老师会主动联系你发送学习资料!学习之路上,IC修真院与你同行。

  • 7
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值