想学习一门技术之前,我们先会从编程语言入手。就像学习FPGA,往往是从VHDL或者Verilog开始入手学习的。

当然,任何编程语言的学习都不能一劳永逸,因为任何经验技巧都是在实践的过程中才能学到,FPGA的学习当然也不例外。下面就以我的个人经验,来为大家解析一下FPGA的学习技巧。

什么是FPGA?

FPGA 是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。

FPGA就是一个可以通过编程来改变内部结构的芯片。

FPGA工程师,小白具体要怎么学?

作为一个初次学习FPGA新手来说,从零基础入门到进阶为FPGA工程师,需要具备哪些基础知识、学习哪些技能呢?

1.Verilog语言及其于硬件电路之间的关系。
2.器件结构(最好熟练掌握Spartan3,Vertix4系列的器件结构,及其资源于Verilog行为描述方法的关系)
3.开发工具(熟练掌握Synplify,Quartus,ISE,Modelsim)
4.数字电路(组合电路,触发器,特别是D触发器构成分频器,奇数倍分频占空比为50%,时序电路,并且能用Verilog语言描叙)
5.熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)
6.熟练掌握资源估算(特别是slice,lut,ram等资源的估算)
7.同步设计原理
8.熟练掌握基本概念(如建立时间,保持时间,流量(即所做FPGA设计的波特率)计算,延迟时间计算(所做FPGA设计),竞争冒险,消除毛刺的方法等等)
9.具备具体设计经验(对应届生而言如毕业设计)
10.良好的设计思路(流水线设计即熟称打拍子,在速率资源功耗之间的折中考虑)

FPGA学习重点

1. 看代码,建模型
只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写Verilog和写C整体思路是不一样的。

2. 用数学思维来简化设计逻辑
学习FPGA不仅逻辑思维很重要,好的数学思维也能让你的设计化繁为简,所以啊,那些看见高数就头疼的同学需要重视一下这门课程。

3. 时钟与触发器的关系
一直流传这样的一句话“时钟是时序电路的控制者”,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来相对就比较容易。但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。

最后简单说一下体会吧,归结起来就是多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。

好书推荐

Intel FPGA数字信号处理 系统设计权威指南

本书内容涵盖了信号处理基本理论、CORDI算法的FPGA实现、Intel FPGA数字信号处理工具、傅里叶变换的FPGA实现、离散余弦变换的FPGA实现、数字滤波器的FPGA实现、多速率信号处理的FPGA实现,以及其他常用数字滤波器的FPGA实现。

计算机视觉技术

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

云计算机基础与openstack

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

Verilog HDL设计实例手册

本书以Intel的FPGA芯片为目标器件,以Quartus Prime、Platform Designer(PD)、Nios II-Eclipse为软件工具,以Verilog HDL为设计语言,选择C4_MB“口袋实验板”为目标板,通过精选设计案例,诠释用FPGA实现数字系统设计的思路与方法。本书对参加电子设计竞赛的学生和指导老师也具有参考价值。

人工智能数据处理

《人工智能数据处理》一书从基础实用内容开始,并辅以编程基础知识和综合案例,关注数据的采集、数据预处理、数据的可视化、数据的标注,以及大数据的相关应用等大数据的处理知识。

学习之路上,IC修真院与你同行。

初学者如何学习FPGA?一文为你讲解清楚相关推荐

  1. 初学者如何学习FPGA转

    FPGA作为一种高新的技术,已经逐渐普及到了各行各业,无论是消费类.通信类.电子行业都无处不在它的身影,从1985年第一颗FPGA诞生至今,FPGA已经历了将近20多个年头,从当初的几百个门电路到现在 ...

  2. 初学者如何学习FPGA

    FPGA作为一种高新的技术,已经逐渐普及到了各行各业,无论是消费类.通信类.电子行业都无处不在它的身影,从1985年第一颗FPGA诞生至今,FPGA已经历了将近20多个年头,从当初的几百个门电路到现在 ...

  3. 作为初学者应该如何来学习FPGA

    FPGA作为一种高新的技术,已经逐渐普及到了各行各业,无论是消费类.通信类.电子行业都无处不在它的身影,从1985年第一颗FPGA诞生至 今,FPGA已经历了将近20多个年头,从当初的几百个门电路到现 ...

  4. FPGA——如何学习FPGA

    掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性.掌握了FPGA设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来 ...

  5. 《FPGA全程进阶---实战演练》第一章之如何学习FPGA

    对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...

  6. 初学者如何学习Vim

    译自 http://www.labnol.org/internet/learning-vim-for-beginners/28820/ 初学者如何学习Vim Vim or Vi Improved 是一 ...

  7. 学习FPGA之二:云端加速

    随着互联网,移动互联网,人工智能,物联网(5G),甚至元宇宙的发展,海量的数据越来越多,但是经过有效处理的1%都不到.数据被称为人工智能时代的石油,数据的处理越来越重要,数据中心的运算,传输是在低层需 ...

  8. 简谈:如何学习FPGA

    一.入门首先要掌握HDL(HDL=verilog+VHDL).   第一句话是:还没学数电的先学数电.然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL.因为verilog太像 ...

  9. 学习 FPGA 经验与书籍分享。

    1.不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理. FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道.因为他们觉得这是无关紧要的.他们潜意识的认为可编程嘛,肯定就是像写软件一 ...

最新文章

  1. cookie JS验证码
  2. 幅度响应怎么计算_系统零点极点与系统频率响应的关系分析(一)
  3. 一不小心就让Java开发者踩坑的fail-fast是个什么鬼?
  4. 修改anaconda中conda和pip的源为清华源
  5. linux专用的opencv下载链接(持续更新)
  6. shell常用命令总结总结
  7. TIKV扩容之刨坑填坑 ​
  8. 【java】java的unsafe
  9. ALAsset 将资源转换为 NSData
  10. 【MySQL】数据库事务处理---MySQL
  11. iOS开发错误处理技巧,PCH文件的使用,自定义NSNotification消息以及设置监听者(以Core Data处理数据时的错误为例)...
  12. 使用 profile 进行python代码性能分析
  13. PHPStorm/IntelliJ IDEA 设置SFTP
  14. CentOS 6.5 端口转发
  15. Java中的frontcolor_front的用法总结大全
  16. java web 手机验证_java web实现手机短信验证码登录实例
  17. c语言提供了三种预处理命令,9、C语言之预处理命令
  18. 用Zebra打印机制作一个节日贺卡
  19. 【开源项目】X-TRACK源码分析
  20. “少走四十年弯路”,年轻人已经考虑养老了?

热门文章

  1. 在VMware Workstation 15 Pro 上的安装ACS5.2
  2. 关于宝宝过敏原检测的这几点,专家达成共识啦
  3. VUE入门笔记,第二节
  4. python判断类型是float_验证浮点数据类型python
  5. 文档保密服务器搭建教程,使用BaGet 搭建私有nuget 服务器
  6. 【蓝桥杯嵌入式】应赛技巧①多屏切换
  7. 常见的文件头格式解析
  8. StreamReader类
  9. windows10,创建多桌面
  10. Centos7 | NFS服务器搭建与配置