#悬崖上的花,越芬芳越无常~
终于又抽出时间搞这个FPGA入门系列了。这个也是我之前在B站做的视频,关于FPGA入门的过程经验的一个总结,去帮助大家帮助了解FPGA的入门。

南信大电子工程师协会慕课计划 —— FPGA入门学习(2):从入门到入坟的经验1

南信大电子工程师协会慕课计划 —— FPGA入门学习(3):从入门到入坟的经验2

——————————————————————————————————————————————

目录

  • 入门 —— 摸着石头过河
    • 拿FPGA干嘛?
    • FPGA的优势是?我们用是FPGA的什么优势?
    • 我什么要学FPGA?
  • 理论 —— 打好基础
  • 实际工程 —— 软件使用、仿真
    • Altera(Intel)—— Quartus II
      • Xilinx(AMD)—— ISE / Vivado / Vitis
      • 上海安路信息科技(Anlogic) —— Tang Dynasty
  • 上板实验 —— 直观的效果
  • 系统工程 —— 组合功能、展现应用效果
  • 复杂运算 —— 数字信号处理/图像处理/神经网络
  • 大型工程 —— 科研项目/学科竞赛/工程应用
  • 结语

入门 —— 摸着石头过河

一般我们在学习某项技术的时候,肯定会有一个目标或者目的,这个技术是为了什么,是想做什么。在一开始接触FPGA的时候,可能是老师的推荐、或者是上专业课的要求,或者是竞赛的需求,导致了我们对于掌握FPGA技术的需求,这个接触的点,就是我们FPGA学习切入的一个点。

拿FPGA干嘛?

FPGA有许多经典的应用领域,像传统的数字信号处理,软件无线电、基带信号处理、数字图像处理,加上芯片验证上必须的设计验证。还有像比较基础的实验教学,课程设计,这样教学的场合。而现在开始把FPGA应用的到5G、云计算、数据中心当中去,做神经网络加速,硬件加速,这也是最近很热门的方向。
明确好学习FPGA的学习方向,有利于在学习的过程中,系统的学习该方面的知识,尤其是逻辑设计的重点。虽然说在初步入门的时候,基本上学的都是一类东西,但是在之后的继续学习的过程中,还是很多发展的空间的。

FPGA的优势是?我们用是FPGA的什么优势?

在FPGA的学习上,不同的人用FPGA的目的不一样,借用FPGA的优势也不尽相同。比如说用FPGA做数字信号处理和用FPGA做数字图像处理,用的是FPGA的并行性,能够实时的处理多比特数据,并且高速;用FPGA做IC的RTL验证,用的是 FPGA的可重构性,着重强调FPGA的可编程性,对线路时延和跨时钟域有要求;用FPGA做硬件加速,用的是高速并行性和可重构性,通过将可编程逻辑阵列池化成神经网络的加速单元,为广谱的神经网络或者特定神经网络进行加速。(比如FPGA在数据中心的部署)

我什么要学FPGA?

这个问题就比较宽泛了,但是在我们初学的时候,肯定有一个这样的想法,我为什么要学FPGA ,我学FPGA有什么用? 是为了工作有更好的竞争力?还是为了自己能够掌握更多的技术,或者FPGA只是工程的一部分,在我们有清晰的目标去努力的时候,学习的动力和效率会更加强烈,学习效果也会更好。

理论 —— 打好基础

通用的知识

  1. 硬件描述语言(HDL) —— Verilog HDL、VHDL、System Verilog
    在一般的社会FPGA入门里(指培训班和淘宝教程),都会使用Verilog作为入门学习的硬件描述语言;而在大部分高校里,课本和老师大部分使用VHDL作为入门的语言。我个人的推荐是学习Verilog,因为这个是现在商用最广泛,语法相对简单和灵活的HDL,虽然system Verilog在语法上具有更高的自由度,但是它的学习难度也是较高的,比较推荐的是先学会Verilog,然后再接触system Verilog,就很容易了。
    硬件结构
    规范的编程方式
  2. 专业的知识?
    通过FPGA实现的功能?数字信号处理?图像采集与显示?图像处理?物联网?音频信号处理?
    关于这个部分,可以去看另一篇博客,里头的书籍应该会有所启发。【FPGA】初探FPGA —— 入门书籍推荐
  3. 必须要深入的了解

方便理解的FPGA物理架构,FPGA的发展历史,相对前沿的行业信息

这一些知识的学习虽然看起来对FPGA的学习并没有什么帮助,甚至看起来会有点鸡肋,但是从长远的学习来说,有利于构建FPGA的设计思维,就是不要从给单片机的思维去给FPGA编程。

额外但又必须的知识
数字电子技术基础 —— 看家老本行
有限状态机(FSM)—— 一段式、二段式、三段式

实际工程 —— 软件使用、仿真

(从Altera介绍)

Altera(Intel)—— Quartus II

精简版Prime官网免费,Prime Standard 可以找破解
仿真软件 —— Modelsim
Altera 从Quartus 10 之后,就不在自家的EDA软件里嵌入仿真了,所以必须要做联合仿真

Xilinx(AMD)—— ISE / Vivado / Vitis

官网能够免费申请到正版license
初学相对复杂,因为Vivado的步骤比较严谨
自嵌入仿真系统,不需要做联合仿真,但是内存占用量会比较大。
适合大型项目高封装IP库,以及支持高级语言编程 —— C/C++ in HLS(High Level Synthesis)and Python + FPGA(PYNQ)

试一试支持国产?

上海安路信息科技(Anlogic) —— Tang Dynasty

相对较少的IP核,有些IP不是很好用
有时会触发一点奇怪的bug
电脑没法识别安路的下载器驱动,只能通过禁用数字签名的方式
相对的新手不友好,以及网上的资料太少。我自己之前写过几篇它的博客,可以参考一下。
【FPGA】安路FPGA下载器驱动安装教程
【安路FPGA】如何使用锁相环(PLL)IP核
【安路FPGA】从流水灯入门安路开发环境

上板实验 —— 直观的效果

理论与实际的结合
简单的控制器件 —— LED、按键、蜂鸣器、数码管、温湿度传感器,UART
复杂的控制器件 —— 实时时钟,EEPROM,SD卡,ADC,DAC,LCD1602,TFT LCD,VGA,OLED,SPI,IIC
更复杂的控制器件 —— 摄像头,以太网口,SDRAM,NIOS II
稍微组合一下
跑马灯 —— LED 和 计数器、分频器(我的FPGA老师爱惨了分配器

【FPGA】初探FPGA —— 入门过程的分享相关推荐

  1. FPGA极易入门教程----汇总篇(直达链接)

    为什么要写这个系列? 根据费曼学习法,最好的学习方法就是教会一个外行人(初学者).知识分享,独乐乐不如众乐乐.现在FPGA市场巨大,人才缺口很大.我本着能拉一个上贼船就拉一个上贼船的想法来写这个系列文 ...

  2. FPGA之道(18)FPGA设计的编译过程

    文章目录 前言 FPGA设计的实现过程 编译概述 编译流程之综合 综合的输入 HDL代码 综合设置 综合的输出 综合的工具 编译流程之翻译融合 翻译融合的输入 翻译融合的输出 翻译融合工具 编译流程之 ...

  3. (224)FPGA数字信号处理入门指导

    (224)FPGA数字信号处理入门指导 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA数字信号处理入门指导 5)技术交流 6)参考资料 2 FPGA入门与提 ...

  4. 自学前端设计——【开源骚客】FPGA超详细入门视频教程

    前言 本文基于[开源骚客]FPGA超详细入门视频教程,简单做个笔记 00. FPGA开发软件的安装 Quartus II 13.1 Modelsim Notepad++ Vim 01. 我的第一个FP ...

  5. FPGA 电路开发入门实验

    FPGA 电路开发入门实验 第0章:基础知识 如图1,本实验使用实验板为altera DE0,板子型号为Cyclone Ⅲ, EP3C16F484C6,编译软件为QuartusⅡ9.0. 图 1 Qu ...

  6. 【FPGA】初探FPGA —— 入门书籍推荐

    #悬崖上的花,越芬芳越无常~ 之前一直想做FPGA的入门博客,无奈计划总是赶不上变化,上一篇FPGA的入门博客是19年10月份写的(ababababa),结果20年都快结束了,才把这一章给续上.(过于 ...

  7. myrio与fpga编程_myRIO入门实验指导书

    文件名大小更新时间 myRIO入门实验指导书\LabVIEW Codes\Exercise\7-seg display\AI to LED Converter.vi255552015-04-16 my ...

  8. 【FPGA基础快速入门6】实战-----触摸按键控制LED灯的学习

    [FPGA基础快速入门6]实战-----触摸按键控制LED灯的学习 触摸按键的种类 触摸按键主要可以分为四大类: 电阻式.电容式.红外感应式以及表面声波式. 1.电阻式触摸按键又多块导电薄膜按照按键的 ...

  9. FPGA极易入门教程----工具篇(2)Quartus II 的在线调试工具 In-System Sources and Probes(ISSP)

    1.什么是ISSP?ISSP有什么用? Quartus II提供了In-System Sources and Probes Editor调试工具,通过JTAG接口使用该工具可以驱动和采样内部节点的逻辑 ...

最新文章

  1. 史上最大规模 DDoS 攻击,每秒 1720 万次 HTTP 请求
  2. 四年级计算机考试反思,考试后的反思四年级作文
  3. ORACLE相关的SHELL编程
  4. 使用Docker构建Oracle ADF应用程序
  5. infor wms 项目启动_派诺科技数字工厂MES/WMS系统项目正式启动
  6. iOS自动布局之autoresizingi
  7. 笔记:Chrome 对浏览器的改进
  8. mysql触发器中访问mssql数据表_[数据库]一个利用触发器(trigger)实现数据库表的审计功能(audit)的例子--针对ms sql实现...
  9. Oracle 11gR2数据库使用
  10. 蓝桥杯题解 时间显示 Java答案
  11. 五个金念什么_四个“金”字读什么?
  12. python选择题总结
  13. 私有云计算机械硬盘还是固态硬盘,机械硬盘居然也限制写入量,吓得我又买一块固态硬盘...
  14. 读书·2018(14本)
  15. 正样本/反(负)样本/易区分样本/难区分样本
  16. vue3实现tags
  17. APP专项测试之耗电量测试
  18. DC-DC电源设计[基于MP2315]
  19. 比亚迪芯片BF7615BMxx芯片怎么烧录
  20. DRM应用程序进阶 (atomic-crtc)

热门文章

  1. 关于Android Camera的曝光补偿(Exposure Compensation)
  2. diff文件对比命令
  3. Mac os系统上一款界面简洁时尚、功能强大的视频编辑软件。通过使用 Wondershare Filmora您会很容易地创建从视频文件,音频文件,并与转场。
  4. 创新工场笔试最后两道题
  5. 一位国企女程序员的烦恼
  6. 算法竞赛进阶指南---0x14(Hash)后缀数组
  7. 千寻和省cors精度对比_CORS账号常见问题—什么情况需要用到千寻知寸cors账号?它比省cors更具哪些优势?...
  8. java实现某一年某一月某一天是今年的多少天,星期几?
  9. 冻卡风波再起,一文教你如何正确防冻、解冻
  10. pip install dominate在远程root用户中,只需要 sudo su cheng 就可以了。然后就可以在root中使用了。