时间:2024-07-19 来源:网络搜集 关于我们 0
我们今天来介绍一下FPGA工程师,FPGA工程师到底是做什么的呢?如果想要成为FPGA工程师,需要具备什么条件、掌握哪些知识和技能呢?我们一起来看看!
「FPGA工程师主要工作内容」
1.参与fpga解决方案设计;
2.进行模块设计、代码编写、仿真、测试、维护等工作;
3.进行算法移植、仿真验证等工作;
4.分析并解决开发过程中的问题,优化 fpga 资源及时序,提高系统性能;
5.配合嵌入式软件、硬件设计人员进行板级调试以及系统联调工作;
6.协助制定测试计划,配合完成最终测试;
7.负责技术文档编写。
「成为FPGA工程师的技能要求」
一、数字电路等基础知识
FPGA 是一个可编程逻辑器件。在学习 FPGA之前,必须熟练掌握乃至精通数字电路的知识如:组合逻辑电路(译码器、编码器、逻辑门)、时序逻辑电路( RAM、ROM.触发器、计数器、FIFO、双口 RAM 等)、数制与编码(常用的几种编码格式尤其是独热码)、状态机、接口与、时序图(SPI、I2C、USB等)、波形图。有些知识可能在开发时你容易忽略如,亚稳态、开关噪声(SSN)。这些基础知识都要学习。
二、FPGA的内部结构
了解FPGA内部结构,有助于方案器件选型与解决方案设计。也是对FPGA器件使用的最基本要求。
三、FPGA的开发与调试
FPGA开发包含开发工具和开发语言的选择。开发FPGA的厂商很多,如Intel Altera,Xilinx 等。所以需要针对一门开发工具和仿真工具进行学习。开发工具包含设计工具和仿真工具(如 modelsim、QuestaSim)。
然后再根据不同的开发工具选择不同的开发流程。具体工具入门可参考网上相关教程。开发语言可选 Verilog HDL 与 VHDL 其中一种进行学习,随后根据需要可以再学习另一门语言。语言学习时,需要注意编写规范。
FPGA 的调试是比较复杂的一个过程,包含板级调试和算法调试。算法调试必须借助JTAG 调试接口与相关工具(逻辑分析仪、示波器、MATLAB)进行。因此必须掌握JTAG逻辑分析仪、示波器、MATLAB 等相关工具使用。
四、FPGA的系统级设计
如果未来准备从事板级类开发,就要学习 FPGA 外围硬件原理图。涉及到电源设计(LDO、DC-DC)、接口电路( SPI、CAMISP、总线)、外设硬件(ADC、DAC、驱动器)、时钟模块等部分。有时为了需要可能会在 FPGA 内部集成 SOC或者一个 OS核需要学习操作系统、内核硬核等知识。
五、FPGA设计难点
设计FPGA代码的难点在于时序,同时要在面积和功耗进行折中。重点学习时序对齐跨时钟域信号同步问题、时序约束、功耗控制等。
六、FPGA应用领域
前面五点做到的话,FPGA 就算入门了。但是针对不同的应用领域你还需要掌握其他知识,如图像处理、数字信号处理、通信方面等。掌握高级语言如 C语言也是必须的,在前期算法设计时可以先用c进行实现,然后在转化到到硬件描述语言。
扫码获取学习资料
另,现在添加小助手即可获得IC入门学习资料、入行诊断与答疑~
点击“阅读原文”,1v1IC行业入行指导