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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL内部临时表(Using temporary)案例详解及优化解决方法

目录 前言 一.场景案例 二、什么是内部临时表? 三、哪些场景会使用内部临时表? 四、内部临时表如何存储? 1)使用内存 2)先使用内存,再转化成磁盘文件 3)直接使用磁盘文件 五、如何优化…

【软件文档】项目总结报告编制模板(Word原件参考)

1. 项目概要 1.1. 项目基本信息 1.2. 项目期间 1.3. 项目成果 1.4. 开发工具和环境 2. 项目工作分析 2.1. 项目需求变更 2.2. 项目计划与进度实施 2.3. 项目总投入情况 2.4. 项目总收益情况 2.5. 项目质量情况 2.6. 风险管理实施情况 3. 经验与教训 3.1. 经验总结…

【异常错误】pycharm可以在terminal中运行,但是无法在run中运行(没有输出错误就停止了)

问题: pycharm的命令可以在terminal中运行,但是复制到无法在run中运行(没有输出错误就停止了) run中运行后什么错误提示都没有 搞不懂为什么 解决: 降低run中batch-size的大小,即可以运行 我并没有观察到…

Unity(2022.3.41LTS) - 后处理

目录 一、什么是后处理 二、后处理的工作原理 三、后处理的常见效果 四、如何在 Unity 中实现后处理 五、后处理的性能影响 六. 详细效果 一、什么是后处理 后处理是在场景渲染完成后,对最终图像进行的一系列操作。这些操作可以包括调整颜色、添加特效、模糊…

Windows Geth1.14.3私链搭建

geth下载官网:Downloads | go-ethereum 安装完成的目录 安装完后配置环境变量,在终端输入geth version 第一步:第一种创建账户方式geth account new --keystore keystore 创建一个账户,在当前目录下创建一个keystore的子目录&…

Linux工具使用

Linux编辑器-vim使用 1.vim的基本概念 在vim中,主要的三种模式分别是命令模式,插入模式和底行模式。 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,…

一本读懂数据库发展史的书

数据库及其存储技术,一直以来都是基础软件的主力。数据库系统的操作接口标准,也是应用型软件的重要接口,关系重大。 作为最“有感”的系统软件,数据库的历史悠久、品类繁多、创新活跃。 对数据库历史发展的介绍,有利…

CSS3视图过渡动画

概述 网站的主题切换无非就是文字、背景图片或者颜色,我们可以先来看下 Element UI 官网的切换主题的动效: PS:Antdesign UI的主题切换动画也是大同小异。 实现的两种方式 CSS 为主 <script setup> const changeTheme = (e) => {if (document.startViewTransi…

csrf的详解

Django中的CSRF&#xff08;跨站请求伪造&#xff09;实现机制是一种关键的安全措施&#xff0c;旨在防止恶意网站向用户已登录的Django网站发送未经授权的表单提交请求。CSRF攻击允许攻击者诱使用户在他们的浏览器中执行不需要的操作&#xff0c;这些操作可能涉及到数据的提交…

深度学习实用方法 - 选择超参数篇

序言 在深度学习的浩瀚领域中&#xff0c;超参数的选择无疑是通往卓越模型性能的一把关键钥匙。超参数&#xff0c;作为训练前设定的、用于控制学习过程而非通过学习自动获得的参数&#xff0c;如学习率、批量大小、网络层数及节点数等&#xff0c;直接影响着模型的收敛速度、…

C#实现数据采集系统-数据反写(2)消息内容处理和写入通信类队列

C#实现数据采集系统-数据反写 实现步骤 MQTT订阅&#xff0c;接收消息 链接-MQTT订阅接收消息反写内容写入通信类&#xff0c;添加到写入队列中实现Modbustcp通信写入 具体实现 2. 消息内容写入通信类&#xff0c;添加到写入队列中 在服务类DAqService中添加通信集合_modb…

MySQL索引(三)

MySQL索引(三) 文章目录 MySQL索引(三)为什么建索引&#xff1f;怎么建立索引为什么不是说索引越多越好什么时候不用索引更好 索引怎么优化索引失效如何解决索引失效 学习网站&#xff1a;https://xiaolincoding.com/ 为什么建索引&#xff1f; 1.索引大大减少了MySQL需要扫描…

线性约束最小方差准则(LCMV)波束形成算法及MATLAB深入仿真分析

阵列信号处理——线性约束最小方差准则(LCMV)波束形成算法及MATLAB深入仿真分析 目录 前言 一、LCMV算法 二、仿真参数设置 三、抗干扰权值计算仿真 四、不同干扰方位下抗干扰性能仿真 五、不同信噪比和干噪比下抗干扰性能仿真 总结 前言 在信号处理模块中&#xff0c;通…

day13JS-MoseEvent事件

1. MouseEvent的类别 mousedown &#xff1a;按下键mouseup &#xff1a;释放键click &#xff1a;左键单击dblclick &#xff1a;左键双击contextmenu &#xff1a;右键菜单mousemove &#xff1a;鼠标移动mouseover : 鼠标经过 。 可以做事件委托&#xff0c;子元素可以冒泡…

机器学习——贝叶斯分类器

一、贝叶斯决策论 贝叶斯决策论是概率框架下实施决策的基本方法。   假设有 N N N种可能的类别标记&#xff0c;即 Y { c 1 , c 2 , . . . , c N } Y\{c_1,c_2,...,c_N \} Y{c1​,c2​,...,cN​}&#xff0c; λ i j \lambda_{ij} λij​是将一个真实标记为 c j c_j cj​的样…

【网络】网络层协议——IP协议

目录 1.TCP和IP的关系 2.IP协议报文 2.1. 4位首部长度&#xff0c;16位总长度&#xff0c;8位协议 2.2. 8位生存时间 &#xff0c;32位源IP地址和32位目的IP地址 3.IP地址的划分 3.1.IP地址的表现形式 3.2.旧版IP地址的划分 3.2.1.旧版IP地址的划分思路 3.2.2.分类划…

一文读懂flask

一文读懂flask 在实际工作中遇到了需要在通过gunicorn启动flask应用&#xff0c;并在gunicorn启动的每个woker之前为每个woker初始化ros节点信息&#xff0c;但在改造的过程中遇到通过worker数指定节点名称时多次初始化节点时只有一个woker的节点能够初始化成功&#xff0c;因…

鸿蒙开发 数组改变,ui渲染没有刷新

问题描述&#xff1a; 数组push, 数组长度改变&#xff0c;ui也没有刷新 打印出了数组 console.log(this.toDoData.map(item > ${item.name}).join(, ), this.toDoData.length) 原代码&#xff1a; Text().fontSize(36).margin({ right: 40 }).onClick(() > {TextPicker…

MySQL 数据库深度解析:安装、语法与高级查询实战

一、引言 在现代软件开发和数据管理领域中&#xff0c;MySQL 数据库凭借其高效性、稳定性、开源性以及广泛的适用性&#xff0c;成为了众多开发者和企业的首选。无论是小型项目还是大型企业级应用&#xff0c;MySQL 都能提供可靠的数据存储和管理解决方案。本文将深入探讨 MyS…

uni-app - - - - - 使用uview-plus详细步骤

uni-app - - - - - 使用uview-plus详细步骤 1. 使用HbuilderX创建空白项目2. 安装插件3. uview-plus配置使用3.1 main.js配置3.2 uni.scss配置3.3 App.vue配置3.4 pages.json 4. 重启Hbuilderx 1. 使用HbuilderX创建空白项目 2. 安装插件 工具 > 插件安装 > 前往插件市场…