FPGA工程师成长路线(持续更新ing,欢迎补充)

2024-08-30 02:52

本文主要是介绍FPGA工程师成长路线(持续更新ing,欢迎补充),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、开发能力
1、FPGA基础知识
(1)数电基础知识

  • 逻辑门
  • 锁存器
  • 触发器
  • 进制
  • 码制
  • 状态机
  • 竞争与冒险
  • verilog语法

(2)FPGA片上资源

  • 可配置逻辑块
  • 嵌入式块RAM
  • 时钟管理资源
  • 可编程输入输出单元(IOB)
  • 丰富的布线资源
  • 底层内嵌功能单元(DLL、PLL、DSP)
  • 内嵌专用硬核(专用乘法器、SERDES等)

(3)FPGA开发流程

  • 需求分析
  • 总体框架设计
  • 各模块详细设计
  • HDL编码
  • 分析、编译和仿真
  • 添加管脚和时序约束
  • 综合
  • 布局布线
  • 时序分析
  • 生成bit文件
  • 上板调试

(4)FPGA产业现状
国外三巨头占领全球90%的市场,分别是Xilinx、Intel(Altera)和Lattice;
国产FPGA厂商主要有8家:紫光同创、国微电子、成都华微电子、安路科技、智多晶、高云半导体、上海复旦微电子和京微齐力。

2、接口开发
(1)低速接口
UART、SPI、IIC、USB、CAN
(2)高速接口
SERDES
(3)协议
TCP/IP

3、领域技能
(1)通信协议
(2)视频图像处理
(3)数字信号处理算法
(4)工业控制
(5)人工智能
(6)IC原型验证
参考《FPGA Verilog开发实战指南:基于Intel Cyclone IV》

5、时序分析
(1)约束点
(2)时序模型分析
(3)同步复位、异步复位
6、工具使用
(1)集成开发工具
Quartus、Vivado
(2)仿真工具
Modelsim、VCS
(3)代码编写工具
Vim
(4)代码管理
Git
7、板级调试能力
(1)FPGA加载
(2)逻辑分析仪(ILA)

二、设计思维
1、硬件设计思维
2、架构设计能力
3、设计技巧

三、验证能力
1、掌握systemverilog语言

2、UVM平台搭建

3、测试点、测试用例设计

4、覆盖率分析

四、辅助编程能力
1、C
2、Python
3、matlab

这篇关于FPGA工程师成长路线(持续更新ing,欢迎补充)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119601

相关文章

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

GIS图形库更新2024.8.4-9.9

更多精彩内容请访问 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信:digital_twin123 Cesium 本期发布了1.121 版本。重大新闻,Cesium被Bentley收购。 ✨ 功能和改进 默认启用 MSAA,采样 4 次。若要关闭 MSAA,则可以设置scene.msaaSamples = 1。但是通过比较,发现并没有多大改善。