FPGA的进阶学习路线

这篇具有很好参考价值的文章主要介绍了FPGA的进阶学习路线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 硬件描述语言——Verilog + VHDL

首先,要掌握数字电路原理。学习数字电路原理是迈出的第一步。在掌握数字电路原理之前,必须先了解基础知识。然后,你可以选择学习Verilog或者VHDL。如果你已经掌握了C语言基础,建议选择VHDL。因为Verilog与C语言相似度较高,容易混淆,最终会发现自己花费了很多时间去区分这两种语言,而不是学习如何使用它们。当然,你也可以选择Verilog,毕竟Verilog的应用比较广泛。

接下来,找到一个示例来复制代码。复制代码的目的是熟悉语法规则和编译器。然后模仿编写,并最终在不阅读书籍的情况下编写代码。编译代码后,打开RTL图表,看看出了什么样的电路。

HDL是一种硬件描述语言,突出了硬件作为特点,所以要以数字电路的思维来思考HDL,而不是使用C或其他高级语言。

FPGA的进阶学习路线,fpga开发,学习

2. 独立完成小型和中型数字电路设计

现在,你可以设计一些数字电路,比如电子吉他、交通信号灯、DDS等。在这个阶段,你要做的只是根据规范要求或时序图,在HDL中设计电路以实现它。你需要一个开发板,在掌握HDL之前不需要购买开发板。你不用每次编译通过都下载代码,我们使用ModelSim仿真。如果仿真不能通过,那就没有必要下载。在这里首先掌握简单的测试台就可以了。

3、掌握设计方法和设计原则

到这里你会发现,你的电路虽然是正确的,但会提示很多警告。这时候,你需要学会同步设计原则,优化电路,无论是优先速度还是优先面积,时钟树应该如何设计,如何同步两个异频时钟等等。学会加快编译、静态时序分析、嵌入式逻辑分析器是必须的。如果有不理解的地方可以暂时跳过,因为这部分也需要足够的练习,才能有更深的理解。

4、学会提高开发效率

因为Quartus和ISE编辑器功能较弱,影响了开发效率。因此建议使用Sublime文本编辑器中的代码片段功能,减少重复工作。ModelSim也是一种常见的仿真工具,学习TCL/TK编写自己的DO文件使仿真自动化。你可能会手动备份你的代码,但专业人士使用版本控制器,所以掌握GIT以提高效率是很重要的。文件比较工具Beyond Compare也是一种比较常见的工具。此外,你还可以使用System Verilog代替测试台,这样会更加高效。如果你正在做IC验证,你必须掌握System Verilog和验证方法论(UVM)。

FPGA的进阶学习路线,fpga开发,学习

掌握了TCL/TK之后,你可以学习虚拟JTAG(ISE也有类似的工具),制作自己的调试工具。另外,如果有时间,最好学习一些Python脚本,这样可以一劳永逸。

5、加强理论基础

此时,你已经可以使用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涉及这么多知识,你可以选择一个感兴趣的方向,但工作可能会涉及到几个方向的知识,所以理论学得越多越好。

6、学会使用MATLAB仿真

在设计FPGA算法时,多少会用到MATLAB,也可以起到辅助FPGA视觉算法硬件化,比如CRC的系数矩阵、数字滤波器系数、各种表格和文本处理等。此外,MATLAB还可以用于调试HDL,通过将MATLAB的计算结果与HDL逐步计算进行对比,你可以知道哪里出了问题。

FPGA的进阶学习路线,fpga开发,学习

7、充分练习

此时你至少已经阅读了芯片手册几次(可以在官方网站上找到),然后可以为自己的方向做一定数量的练习(期间保持良好的代码风格,增加组件示例语句的可读性,绘制流程图/时序图,编写文档的习惯)。

例如:通信类可以做调制和解调算法,仪器类可以做总线分析仪等。但这些算法在书中只给出了一个公式、框图,实际的差距很大,你甚至可能觉得书写得很肤浅。实际上,当你达到这个阶段时,你已经达到了专业水平,自由地了解一些前沿技术,这将有助于你的职业规划。

8、图像处理

1、Photoshop。花一两周时间学习PS,对图像处理有一个大致的了解,了解各种图片格式、直方图、色调、通道、滤镜、拼接等基本概念,并能够使用它。这部分是零基础的,目的是让你对图像处理有一种感性的理解,而不是一堆公式推导出来的。

2、基于MATLAB或OpenCV的图像处理。在这个阶段,只要学习简单的调用函数即可,暂时不必深究实现的细节。

FPGA的进阶学习路线,fpga开发,学习

3、图像处理的基本理论。这部分理论需要较高的数学基础,包括复变函数、线性代数、信号与系统、数字信号处理等基础知识,如果基础不好,建议先补足基础再来。无法理解理论的也可以暂时放下,也许学习后自然就能有所启发。

4、基于FPGA的图像处理。将前面学到的理论应用到FPGA上,如果你已经达到了第七阶段的水平,你将很容易独立完成图像算法的设计(图像处理离不开接口,要求在第五阶段以上)。

5、深入学习数学。要想在算法上达到更高的水平,必须需要更多的数学知识,所以这里建议学习实分析、广义分析、小波分析等。

9、电子学的终点是模拟电子

现在,你对FPGA内部的东西已经不难了,但是FPGA输出的信号却无法控制。这时候就必须学好模拟电子。例如:电路分析、模拟电子学、高频电子电路、PCB设计、EMC、SI、PI等,可以设计一块带有两片DDR3的FPGA开发板,即使通关。

FPGA的进阶学习路线,fpga开发,学习

10、学习是个坚持的过程

能达到这个水平,说明你已经很不错了,但是还有许多事情要学,因为FPGA经常需要与CPU交互,也就是说,你必须与软件工程师沟通,所以你也必须懂一些软件知识。例如,ARM(Xilinx ZYNQ和Altera的SOC会使用ARM硬核)。总之,学习是个长期坚持的事情。正因为技术无止境,所以FPGA工程师几乎没有年龄上的职业危机。所以,加油吧!文章来源地址https://www.toymoban.com/news/detail-844846.html

到了这里,关于FPGA的进阶学习路线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA学习笔记-1 FPGA原理与开发流程

    注:笔记主要参考: B站 正点原子 教学视频“正点原子手把手教你学FPGA-基于达芬奇Pro开发板 Artix-7 XC7A35T/XC7A100T”。 小梅哥爱漂流 教学视频“【零基础轻松学习FPGA】小梅哥Xilinx FPGA基础入门到项目应用培训教程”。 B站搬运 “特权同学2020版《深入浅出玩转FPGA视频教程》

    2024年02月05日
    浏览(49)
  • FPGA 开发必备:从零开始学习 FPGA 设计

    FPGA 开发必备:从零开始学习 FPGA 设计 FPGA 是一种可编程逻辑器件,可以在不用重新设计硬件电路的情况下修改其功能。它是数字电路设计中最重要的组成部分之一。FPGA 的广泛应用领域包括通信、计算机、图像处理、音频处理等。 要想成为一名合格的 FPGA 工程师,你需要了

    2024年02月07日
    浏览(58)
  • [从零开始学习FPGA编程-32]:进阶篇 - 基本时序电路-D触发器(Verilog语言)

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:  目录 第1章 什么是时序电路 1.1 时序电路 1.2 什么是触发器

    2023年04月08日
    浏览(47)
  • FPGA-DFPGL22学习2-开发平台学习

    @和原子哥一起学习FPGA 开发环境:正点原子 ATK-DFPGL22G 开发板 参考书籍: 《ATK-DFPGL22G之FPGA开发指南_V1.1.pdf》 个人学习笔记,欢迎讨论 新建一个文件夹用于存放自己的 PDS 工程 新建一个 Verilog 顶层文件,然后将设计的代码输入到新建的 Verilog 顶层文件中 关联了一下打开Veri

    2024年02月07日
    浏览(38)
  • 【数字IC精品文章收录】近500篇文章|学习路线|基础知识|接口|总线|脚本语言|芯片求职|安全|EDA|工具|低功耗设计|Verilog|低功耗|STA|设计|验证|FPGA|架构|AMBA|书籍|

    1.1 索引目的 本篇索引旨在 收藏CSDN全站中有关数字IC领域高价值文章 ,在数字芯片领域中,就算将架构,设计,验证,DFT,后端诸多岗位加在一起的数量,都不及软件类一个细分方向的岗位数量多,反映在社区氛围或是开源资料的丰富度而言,数字IC领域相较于软件/互联网领

    2024年02月03日
    浏览(117)
  • [FPGA 学习记录] 快速开发的法宝——IP核

    快速开发的法宝——IP核 在本小节当中,我们来学习一下 IP 核的相关知识。 IP 核在 FPGA 开发当中应用十分广泛,它被称为快速开发的法宝。在本小节当中,我们将和各位朋友一起来学习了解 IP 核的相关知识、理解掌握 IP 核的调用方法。 我们分为以下几个部分进行 IP 核的学

    2024年02月05日
    浏览(44)
  • 【两周学会FPGA】从0到1学习紫光同创FPGA开发|盘古PGL22G开发板学习之数码管静态显示(四)

      本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光同创PGL22G开发平台)简介 盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板

    2024年02月10日
    浏览(43)
  • FPGA设计进阶3--FPGA物理约束

    Reference: Xilinx FPGA权威设计指南         Xilinx Vivado集成开发环境为设计者提供了通过设置FPGA内对象的属性实现对FPGA内对象进行约束的物理约束。这些约束包括: (1)I/O约束,如位置和I/O标准 (2)布局约束,如单元的位置 (3)布线约束,如固定的布线 (4)配置约束,

    2023年04月24日
    浏览(47)
  • 【两周学会FPGA】从0到1学习紫光同创FPGA开发|盘古PGL22G开发板学习之DDR3 IP简单读写测试(六)

    本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光同创PGL22G开发平台)简介 盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全

    2024年01月23日
    浏览(63)
  • 安路EG4S20 FPGA开发板学习记录1

    参加集创赛报名了arm的杯赛,用的是安路科技的EG4S20开发板,基于cortex-M0内核。初赛时什么也不会,研究生的方向是做二维材料,但是想着以后找工作往ic方向靠拢,只能硬着头皮自学。没想到初赛随便交了东西上去竟然进了复赛,本来准备放弃的,现在重新开始一点点学习

    2024年04月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包