看到不少同学后台进行提问: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修真院与你同行。

干货丨FPGA零基础学习,入门必看!相关推荐

  1. FPGA零基础学习:在FPGA中,同步信号、异步信号和亚稳态的理解

    FPGA零基础学习:在FPGA中,同步信号.异步信号和亚稳态的理解 叁芯智能科技-郝旭帅团队打造"FPGA 设计与研发"学习系列, 可以让设计者从"小白"到&q ...

  2. FPGA零基础学习资料

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  3. FPGA零基础学习:数字通信中的电压标准

    FPGA零基础学习:数字通信中的电压标准 大侠好,欢迎来到FPGA技术江湖.本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式& ...

  4. FPGA零基础学习:半导体存储器和可编程逻辑器件简介

    FPGA零基础学习:半导体存储器和可编程逻辑器件简介 大侠好,欢迎来到FPGA技术江湖.本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的&quo ...

  5. FPGA零基础学习:IIC协议驱动设计

    FPGA零基础学习:IIC协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类 ...

  6. FPGA零基础学习:LED流水灯设计

    FPGA零基础学习:LED流水灯设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类专 ...

  7. FPGA零基础学习:IP CORE 之 PLL设计

    FPGA零基础学习:IP CORE 之 PLL设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子. ...

  8. FPGA零基础学习:IP CORE 之 FIFO设计

    FPGA零基础学习:IP CORE 之 FIFO设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子 ...

  9. FPGA零基础学习:IP CORE 之 RAM设计

    FPGA零基础学习:IP CORE 之 RAM设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子. ...

最新文章

  1. repeater中后台动态为控件添加属性
  2. 【机器视觉】探索机器学习理论的最新进展,走近云、端、芯上的视觉计算
  3. 性能调优:理解Set Statistics IO输出
  4. html5标签的兼容性处理
  5. mysql架设_主从mysql架设
  6. 浅谈Dynamic 关键字系列之三(下):ExpandoObject,DynamicObject,DynamicMetaObject
  7. 反射parameter field_Java反射有多强?这5大神奇功能,你需要了解!
  8. mysql 如何抓慢查询_如何进行 MySQL慢查询 操作
  9. 【HDU-5963】朋友【树上博弈】
  10. 如何用TC群控系统同时控制上百台手机
  11. 变换累次积分顺序的方法和原理(图文详解)
  12. 数据安全需要做什么?
  13. CSDN页面打印不正常的解决方法
  14. K8S中的容器网络概述(编写中)
  15. 6.数据中台 --- 数据开发:数据价值提炼工厂
  16. 美丽的英语名言(zt)
  17. 武汉理工大学计算机学院分流,2018考生来信——我在读的武汉理工大学
  18. 论未来眼镜行业的变化及发展
  19. DVWA靶场过程整理
  20. quartz集群模式任务触发分析(二)

热门文章

  1. 新标准 USB4 2.0 有多快?
  2. noi 2006 最大收益 最大权闭合图转最小割转最大流
  3. Yum安装支持InfiniBand的lustre——Install Lustre with InfiniBand Support By Yum
  4. 一键搭建属于自己的公众号机器人(对接图灵)
  5. ubuntu ls -l 分屏显示
  6. 川大研究生计算机网络挂科,川大这28名研究生被退学处理!
  7. 爬虫抓取c5game饰品交易数据
  8. JVM内存模型——运行时数据区的特点和作用
  9. 06-Linux用户管理
  10. win10退出登录微软账号,亲测有效可以成功(解决没有改用本地账户;解决没有删除选项)